I have a desktop with a Core i5 3rd gen and 4 GB of RAM. I am using the machine to test building some free software projects I contribute to. The machine serves no other purpose.
I allocated 4 GB swap space. It looks like I'm still running out of memory.
$ make -j 4 ... /opt/developerstudio12.6/bin/CC -DHAVE_CONFIG_H -I. -O2 -template=no%extdef -DCRYPTOPP_DISABLE_SHANI -D__SSE2__=1 -D__SSSE3__=1 -D__SSE4_1__=1 -D__SSE4_2__=1 -D__AES__=1 -DCRYPTOPP_DATA_DIR='"/usr/local/share/cryptopp/"' -g -c -o cryptest-validat3.o `test -f 'validat3.cpp' || echo './'`validat3.cpp DBG_GEN FATAL ERROR: dbg_tables.c:171 - fwrite() failed to write required bytes [DBG_GEN 5.7.6] CC: ube failed for validat3.cpp
The error also moves around:
$ make -j 4 ... /opt/developerstudio12.6/bin/CC -DHAVE_CONFIG_H -I. -O2 -template=no%extdef -DCRYPTOPP_DISABLE_SHANI -D__SSE2__=1 -D__SSSE3__=1 -D__SSE4_1__=1 -D__SSE4_2__=1 -D__AES__=1 -DCRYPTOPP_DATA_DIR='"/usr/local/share/cryptopp/"' -g -c -o cryptest-validat0.o `test -f 'validat0.cpp' || echo './'`validat0.cpp source='validat1.cpp' object='cryptest-validat1.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ./depcomp \ /opt/developerstudio12.6/bin/CC -DHAVE_CONFIG_H -I. -O2 -template=no%extdef -DCRYPTOPP_DISABLE_SHANI -D__SSE2__=1 -D__SSSE3__=1 -D__SSE4_1__=1 -D__SSE4_2__=1 -D__AES__=1 -DCRYPTOPP_DATA_DIR='"/usr/local/share/cryptopp/"' -g -c -o cryptest-validat1.o `test -f 'validat1.cpp' || echo './'`validat1.cpp ... libsunir aborting on error Assertion failed: IR_FALSE, file ../src/IrLib.c, line 204, function ir_err_report ... CC: Fatal error in /opt/developerstudio12.6/lib/compilers/bin/ube CC: Status 134 make: *** [Makefile:1477: cryptest-validat1.o] Error 134
I'm not running any other programs. Only the compiler through the makefile.
When I examine
dmesg I see
WARNING: /tmp: File system full, swap space limit exceeded. According to the Oracle doc WARNING: /tmp: File system full, swap space limit exceeded:
The system swap area (virtual memory) has filled up. You need to reduce swap space consumption by killing some processes or possibly by rebooting the system.
For information about increasing swap space, refer to "Not enough space".
I'm baffled 4 GB or RAM and 4 GB of swap is not enough to run a compiler. I don't know how much more memory I need to allocate to run the compiler.
How much virtual memory should I allocate so the compiler can run without crashing?
$ zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 21.3G 207G 4.85M /rpool rpool/ROOT 13.6G 207G 31K legacy rpool/ROOT/solaris 13.6G 207G 12.9G / rpool/ROOT/solaris/var 526M 207G 367M /var rpool/VARSHARE 164K 207G 69.5K /var/share rpool/VARSHARE/pkg 63K 207G 32K /var/share/pkg rpool/VARSHARE/pkg/repositories 31K 207G 31K /var/share/pkg/repositories rpool/VARSHARE/zones 31K 207G 31K /system/zones rpool/dump 1.96G 207G 1.90G - rpool/export 1.62G 207G 33.5K /export rpool/export/home 1.62G 207G 33K /export/home rpool/export/home/apolyakov 38K 207G 38K /export/home/apolyakov rpool/export/home/jwalton 1.62G 207G 1.62G /export/home/jwalton rpool/swap 4.13G 207G 4.00G -
And it reports healthy even in the throws of the memory or storage failures:
$ zpool status -x all pools are healthy
And some accounting:
$ zpool status -v pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 errors: No known data errors
This machine's name is
solaris3. It is the third machine to experience these troubles. The first was a used used DL380 G5 server on Sun's HCL. The second was an Intel Utlra-24 from Sun. The third is the low-end Core i5.
I don't do anything special when laying an OS on the hardware. I downloaded the Solaris x86 ISO from Sun (twice now). I run the installer and I take the defaults. When prompted I select the "use entire disk" option.
After the OS install I enable the Solaris Studio publisher. I then install Autoconf, Automake, Libtool, Git, Subversion, GDB, Sun Studio 12.2 through 12.6, and some other dev tools. There are hundreds of gigabytes of free space available on all three machines after the extra software is installed.
All the machines are headless. I remove the monitor once the OS is installed. Though the machines are in my basement I work remotely over SSH.
I am not a Solaris admin and I don't arbitrarily change settings. I change settings in response to problems like this. After changing a setting like swap size I reboot the machine with
fwritewrites to disk meaning you are either running out of disk space on
/tmpor in the current directory, or you have a bad disk causing the write to fail.
authorized_keysfile at noloader, gmail account. I will make you an admin on the box and you can inspect and adjust settings.