Hello,
I am having problems running a program under Suse 10.2
that works on 10.0 when I increase the size of a
buffer from 4MB to 8MB. The test program immediately
segv faults on entry into the main function under 10.2
but runs fine on 10.0.
I have cluster of nodes all identical with 2 x dual
core AMD64, 8GB RAM. The Suse 10.0 machines have
uname -a "Linux d801 2.6.13-15.13-smp #1 SMP Tue Nov
28 13:43:50 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux"
Suse 10.2 machines have "Linux d803
2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC
2006 x86_64 x86_64 x86_64 GNU/Linux"
What I have tried:
Program compiled on suse10.0
(gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux))
* Runs on 10.0 fine.
* Crashes on 10.2
Program compiled on suse10.2
(gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux))
* Runs on 10.0 fine.
* Crashes on 10.2
Sample gdb output (for 10.2 compile binary):
---
(gdb) run
Starting program: test-x86_64
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400565 in main (argc=Cannot access memory
at address 0x7fffc2f9e84c
) at test.c:23
---
where line 23 is first line of main function.
Compile command for failed program:
gcc -O0 -pedantic -Wall -ggdb -BUFFER_SIZE=2*1024*1024
-o test-x86_64 test.c
Compile command for working program:
gcc -O0 -pedantic -Wall -ggdb -DBUFFER_SIZE=1024*1024
-o test-x86_64 test.c
Anyone have any ideas?
---
test.c
---
#include