|
|
|
|
Branden Moore
Computer Scientist, GE Global Research
Post Count: 10
|
4/22/2008 1:02 pm
I'm working on porting one of our internal codes to our SC072, and am getting a pathf95 compiler error on one of the files. I am compiling on the head node, not cross-compiling from the SSP.
The error is:
pathf95 -O3 -LANG:copyinout=OFF -I/mustang/mooreb/EC_blue/IOlibs/sicortex/lib -convert big_endian -fPIC -g -c -o omega.o omega.f
Signal: Segmentation fault in Global Optimization -- SPRE: Iphi Insertion phase.
Error: Signal Segmentation fault in phase Global Optimization -- SPRE: Iphi Insertion -- processing aborted
*** Internal stack backtrace:
pathf95 INTERNAL ERROR: /opt/pathscale/ice9_native_3.0.99h_sicortex/lib/3.0.99h_sicortex/be died due to signal 4
make: *** [omega.o] Error 1
The error goes away if I drop to '-O2'.
I cannot share the code with you, but I am willing to assist in digging into this error, if there is anything in particular that you would like me to do to get more information.
|
|
David Stephenson
PathScale Compiler Engineer
Post Count: 5
|
4/28/2008 5:01 pm
Does removing any of the other flags help?
Such as "-convert big_endian" or "-LANG:copyinout=OFF"?
You can type "-show" to see which procedure is triggering
the compiler failure. You can then isolate that procedure,
and try to reduce the size of the test case.
You can try running the backend of the compiler "be" under
gdb and obtain a stack trace of the failure.
|
|
Branden Moore
Computer Scientist, GE Global Research
Post Count: 10
|
4/29/2008 8:19 am
Removing most the options had no effect.
Here's a stack trace of be:
(gdb) r /opt/pathscale/ice9_native_3.0.99h_sicortex/lib/3.0.99h_sicortex/be -PHASE:l:w:c -G8 -TENV:PIC -INTERNAL:return_val=on -INTERNAL:mldid_mstid=on -INTERNAL:return_info=on -TARG:endian=lit -show -O3 -TARG:abi=n64 -TARG:isa=mips64 -LANG:=f90 -TARG:processor=mips5kf -fB,omega.I -s -fs,omega.s omega.f
Starting program: /opt/pathscale/ice9_native_3.0.99h_sicortex/lib/3.0.99h_sicortex/be /opt/pathscale/ice9_native_3.0.99h_sicortex/lib/3.0.99h_sicortex/be -PHASE:l:w:c -G8 -TENV:PIC -INTERNAL:return_val=on -INTERNAL:mldid_mstid=on -INTERNAL:return_info=on -TARG:endian=lit -show -O3 -TARG:abi=n64 -TARG:isa=mips64 -LANG:=f90 -TARG:processor=mips5kf -fB,omega.I -s -fs,omega.s omega.f
warning: Can not parse XML target description; XML support was disabled at compile time
Compiling omega.f (omega.I) -- Back End
Compiling otable_set_hgrid_topology__(0)
Compiling otable_create_hgrid_table__(1)
Compiling otable_update_omega__(2)
Compiling otable_augment__(3)
Compiling set_omega_pointer_wall__(4)
Compiling modify_omega_pointer_wall__(5)
Compiling otable_find_max_ishaft__(6)
Compiling read_omega_table__(7)
Program received signal SIGSEGV, Segmentation fault.
SSU::Make_diff_ssu_version () at ../../be/opt/opt_ssu.cxx:376
376 ../../be/opt/opt_ssu.cxx: No such file or directory.
in ../../be/opt/opt_ssu.cxx
Current language: auto; currently asm
(gdb) where
#0 SSU::Make_diff_ssu_version () at ../../be/opt/opt_ssu.cxx:376
#1 0x105a73fc in SSU::Make_diff_ssu_version () at ../../be/opt/opt_ssu.cxx:398
#2 0x105a8254 in SSU::Traverse_cr_rw () at ../../be/opt/opt_ssu.cxx:596
#3 0x105a8108 in SSU::Traverse_cr_rw () at ../../be/opt/opt_ssu.cxx:603
#4 0x105a84b8 in SSU::Iphi_insertion () at ../../be/opt/opt_ssu.cxx:669
#5 0x105a9890 in SSU::Construct () at ../../be/opt/opt_ssu.cxx:1026
#6 0x105aef58 in ETABLE::Perform_SPRE_optimization ()
at ../../be/opt/opt_stable.cxx:635
#7 0x105af3bc in COMP_UNIT::Do_store_pre () at ../../be/opt/opt_stable.cxx:757
#8 0x10580c6c in Pre_Optimizer () at ../../be/opt/opt_main.cxx:1705
#9 0x106058e4 in Perform_Global_Optimization ()
at ../../be/opt/wodriver.cxx:160
#10 0x100b888c in WOPT_Processing () at ../../be/be/driver.cxx:894
#11 0x100b8348 in Do_WOPT_and_CG_with_Regions () at ../../be/be/driver.cxx:1016
#12 0x100b7704 in Backend_Processing () at ../../be/be/driver.cxx:1398
#13 0x100b6284 in Preorder_Process_PUs () at ../../be/be/driver.cxx:1745
#14 0x100b57ec in main () at ../../be/be/driver.cxx:2041
|
|
David Stephenson
PathScale Compiler Engineer
Post Count: 5
|
4/29/2008 4:27 pm
I've checked the code here:
> #0 SSU::Make_diff_ssu_version () at ../../be/opt/opt_ssu.cxx:376
> #1 0x105a73fc in SSU::Make_diff_ssu_version () at ../../be/opt/opt_ssu.cxx:398
and I don't see any likely problems. I suspect one particular
data structure may be incorrect, and that the real problem is
earlier. I see a couple of ways to proceed.
We could arrange to talk over the phone and try to debug
further with gdb. I'll ask if we can give you a copy of
the compiler backend built -O0 -g to run gdb on.
If you can give me a test case that triggers the bug,
I suspect it will be easy to track down the problem.
I can also suggest more compiler flags you can try.
We might be able to track down which optimization is
triggering the problem. For starters, -O3 activates
-LNO, the loop nest optimizer. Does "-O3 -LNO:opt=0" fix
the problem? If so, try disabling various LNO optimizations.
To see a list of LNO flags, type "man eko" and look for
the flags "-LNO:....".
|
|
Branden Moore
Computer Scientist, GE Global Research
Post Count: 10
|
4/30/2008 2:09 pm
Compiling with -LNO:opt=0 avoids the segfault. However, I have been unable to find a combination of options that narrows down which optimization is causing the problem.
Feel free to send me an email and we can set up a call to discuss further: mooreb@research.ge.com
|