- removed comment
vip.rzg.mpg.de: Internal Compiler Error: Insufficient storage
I have gotten an internal compiler error at compiling formaline on vip.rzg.mpg.de.
xlc_r -g -q64 -qminimaltoc -qsuppress=1506-1108 -qlanglvl=extc99 -O2 -qmaxmem=-1 -qhot -qarch=pwr6 -qtu ne=pwr6 -qsmp=omp -c -o /u/alibeck/Cactus/configs/test-kiki/scratch/cactus-thorn-source-BLAS.o /u/alib eck/Cactus/configs/test-kiki/scratch/cactus-thorn-source-BLAS.c Out of memory in PoolArea::PoolArea(). xlc_r: 1501-230 (S) Internal compiler error; please contact your Service Representative. For more infor mation visit: http://www.ibm.com/support/docview.wss?uid=swg21110810 gmake[1]: [/u/alibeck/Cactus/configs/test-kiki/scratch/cactus-thorn-source-BLAS.o] Error 251 gmake[1]: Leaving directory `/u/alibeck/Cactus' gmake: [test-kiki] Error 2
The deeper investigation of the vip support team gave the following reason:
1506-300: (S) Insufficient storage available.
Keyword: Formaline
Comments (12)
-
-
- removed comment
If a compiler runs out of resources (memory, CPU time, disk space), then this is reported by the operating system as segfault or similar problem, and the compiler may then output "internal error" instead of a better diagnosis.
I don't know what "insufficient storage" means. It could be that the compiler runs out of memory -- in this case, changing -qmaxmem=-1 to -qmaxmem=100000 or a smaller number may help. If the compiler runs out of disk space, then you may have exceeded your quota, or the /tmp directory may be full. In both cases, user support will be able to help out.
-
reporter - removed comment
Compiler Flgas do not help in this case. The admins at VIP have asked IBM for help, and the answer of IBM was: set the Environment variable LDR_CNTL to the following value:
export LDR_CNTRL='MAXDATA=0xB0000000@DSA'
Doing this and compliling afterwards worked fine. We now need to add this to simfactory.
-
- assigned issue to
- changed component to SimFactory
- removed comment
-
- changed status to open
- removed comment
As I described in the chat, this is how this would be done in Simfactory:
Index: mdb/machines/vip.ini
--- mdb/machines/vip.ini (revision 1509) +++ mdb/machines/vip.ini (working copy) @@ -11,7 +11,7 @@
- Access to this machine hostname = vip.rzg.mpg.de rsynccmd = /u/eschnett/bin/rsync -envsetup = export PATH=${PATH}:/afs/ipp/rs_aix53/bin:/afs/ipp/rs_aix53/soft/gnu/bin:/afs/ipp/rs_aix53/soft/X11/bin +envsetup = export PATH="${PATH}:/afs/ipp/rs_aix53/bin:/afs/ipp/rs_aix53/soft/gnu/bin:/afs/ipp/rs_aix53/soft/X11/bin" LDR_CNTRL='MAXDATA=0xB0000000@DSA' aliaspattern = ^vip(\d\d\d)?(i)?(\.rzg\.mpg\.de)$
- Source tree management
Please test this patch and confirm that it works correctly.
-
reporter - removed comment
I have already tried the following solution:
make = env LDR_CNTRL='MAXDATA=0xB0000000@DSA' gmake -j16
instead of:
make = gmake -j16
This solution works. Can we apply it?
Best wishes
Alexander
-
- removed comment
Yes.
-
- removed comment
Alexander, are you going to commit this change?
-
- removed comment
- changed watchers to anonymous
Alex?
-
reporter - removed comment
I have changed in the machine config file
mdb/machines/vip.ini
the make alias. The line
make = gmake -j16
has been exchanged against
make = env LDR_CNTRL='MAXDATA=0xB0000000@DSA' gmake -j16
The solution is also available now in the trunk version.
Using this alias, the build is working now.
-
- changed status to resolved
- removed comment
Closing ticket, because Alexander confirmed that it worked in trunk.
-
- edited description
- changed status to closed
- Log in to comment
An internal compiler error is essentially always a bug in the compiler. In this particular case, it might be a good idea to contact the compiler developers and report this problem, as it should be easily reproducible. Apart from fixing a possible bug, they might know some workaround.
All that could be done from out side is to guess what is going wrong, and to try to find a workaround by changing the way formaline creates these files. This has already been done by, e.g., splitting them up into smaller chunks. Maybe they are not small enough for this compiler. You could try to find something that works by playing with the values $items_per_line and $items_per_file in Formaline/src/util/makeblob.pl
Although - now looking at how my Formaline files look like: are you sure you use a recent version of Formaline? I only have a thorn-BLAS.c, within scratch/Formaline/, plus a lot of thorn-BLAS-xxxx.c with xxxx being integers and containing the actual data.
Frank