|
From: Patrick O. <Pat...@in...> - 2005-03-14 15:08:56
|
Hi all,
I ran into a problem with 2.4.0rc3 on EL3.0. The child process of
a MPI application segfaults inside vgMemCheck_fpu_write_check.
Unfortunately I cannot simplify the application to make running
it easier, therefore I am reluctant to file it as a bug.
Here's what I did:
- run app
- attach to second process with gdb
- wait till it segfaults (no debug infos found - is that normal?)
Program received signal SIGSEGV, Segmentation fault.
0xb7261601 in ?? ()
(gdb) where
#0 0xb7261601 in ?? ()
#1 0x1be90000 in ?? ()
#2 0x52bfdccc in ?? ()
#3 0xb01afac0 in ?? ()
#4 0xb0acceab in ?? ()
#5 0xb007cef3 in ?? ()
#6 0xb0010000 in ?? ()
#7 0xb03fff68 in ?? ()
#8 0x00000013 in ?? ()
(gdb) disassemble 0xb72615d8 0xb7261610
Dump of assembler code from 0xb72615d8 to 0xb7261610:
0xb72615d8: push $0x2
0xb72615da: jmp 0xb72615cb
0xb72615dc: test $0x3,%eax
0xb72615e1: jne 0xb726163c
0xb72615e3: movzwl %cx,%edx
0xb72615e6: lea 0x4(%eax),%esi
0xb72615e9: shr $0x10,%eax
0xb72615ec: mov 0xb72b2400(,%eax,4),%ebx
0xb72615f3: mov %edx,%eax
0xb72615f5: shr $0x3,%eax
0xb72615f8: cmpb $0x0,(%eax,%ebx,1)
0xb72615fc: jne 0xb726163c
0xb72615fe: shr $0x2,%edx
0xb7261601: movl $0x0,0x2000(%ebx,%edx,4)
0xb726160c: mov %esi,%eax
0xb726160e: mov %esi,%edx
$ cat /proc/11924/maps
...
b7253000-b72b2000 r-xp 00000000 00:0e
2360971 /Projects/software/IA32-LIN/valgrind-2.4.0-rc3/libc6-2.3.2/lib/valgrind/vgskin_memcheck.so
b72b2000-b72b3000 rw-p 0005e000 00:0e
2360971 /Projects/software/IA32-LIN/valgrind-2.4.0-rc3/libc6-2.3.2/lib/valgrind/vgskin_memcheck.so
...
Find offset in shared object:
0xb7261601 - 0xb7253000 = 0xe601
$ objdump
-d /Projects/software/IA32-LIN/valgrind-2.4.0-rc3/libc6-2.3.2/lib/valgrind/vgskin_memcheck.so | less
...
0000e590 <vgMemCheck_fpu_write_check>:
e590: 55 push %ebp
e591: 89 e5 mov %esp,%ebp
e593: 83 fa 04 cmp $0x4,%edx
e596: 56 push %esi
e597: 53 push %ebx
e598: 89 c1 mov %eax,%ecx
e59a: 0f 84 a0 00 00 00 je e640
<vgMemCheck_fpu_write_check+0xb0>
e5a0: 83 fa 08 cmp $0x8,%edx
e5a3: 74 37 je e5dc
<vgMemCheck_fpu_write_check+0x4c>
e5a5: 83 fa 02 cmp $0x2,%edx
e5a8: 74 2e je e5d8
<vgMemCheck_fpu_write_check+0x48>
e5aa: 83 fa 10 cmp $0x10,%edx
e5ad: 74 1b je e5ca
<vgMemCheck_fpu_write_check+0x3a>
e5af: 83 fa 0a cmp $0xa,%edx
e5b2: 74 16 je e5ca
<vgMemCheck_fpu_write_check+0x3a>
e5b4: 83 fa 1c cmp $0x1c,%edx
e5b7: 74 11 je e5ca
<vgMemCheck_fpu_write_check+0x3a>
e5b9: 83 fa 6c cmp $0x6c,%edx
e5bc: 74 0c je e5ca
<vgMemCheck_fpu_write_check+0x3a>
e5be: 81 fa 00 02 00 00 cmp $0x200,%edx
e5c4: 0f 85 9c 00 00 00 jne e666
<vgMemCheck_fpu_write_check+0xd6>
e5ca: 52 push %edx
e5cb: 51 push %ecx
e5cc: e8 4f 01 00 00 call e720
<mc_fpu_write_check_SLOWLY>
e5d1: 8d 65 f8 lea 0xfffffff8(%ebp),%esp
e5d4: 5b pop %ebx
e5d5: 5e pop %esi
e5d6: c9 leave
e5d7: c3 ret
e5d8: 6a 02 push $0x2
e5da: eb ef jmp e5cb
<vgMemCheck_fpu_write_check+0x3b>
e5dc: a9 03 00 00 00 test $0x3,%eax
e5e1: 75 59 jne e63c
<vgMemCheck_fpu_write_check+0xac>
e5e3: 0f b7 d1 movzwl %cx,%edx
e5e6: 8d 70 04 lea 0x4(%eax),%esi
e5e9: c1 e8 10 shr $0x10,%eax
e5ec: 8b 1c 85 00 f4 05 00 mov 0x5f400(,%eax,4),%ebx
e5f3: 89 d0 mov %edx,%eax
e5f5: c1 e8 03 shr $0x3,%eax
e5f8: 80 3c 18 00 cmpb $0x0,(%eax,%ebx,1)
e5fc: 75 3e jne e63c
<vgMemCheck_fpu_write_check+0xac>
e5fe: c1 ea 02 shr $0x2,%edx
e601: c7 84 93 00 20 00 00 movl $0x0,0x2000(%ebx,%edx,4)
e608: 00 00 00 00
I think that is the place, but I have no idea what I should try next.
Any suggestions?
--
Best Regards
Patrick Ohly
Senior Software Engineer
Intel GmbH
Software & Solutions Group
Hermuelheimer Strasse 8a
50321 Bruehl
Germany
Tel: +49-2232-2090-30
Fax: +49-2232-2090-29
|
|
From: Patrick O. <Pat...@in...> - 2005-03-14 16:29:13
|
On Mon, 2005-03-14 at 23:10 +0100, Patrick Ohly wrote: > I ran into a problem with 2.4.0rc3 on EL3.0. The child process of > a MPI application segfaults inside vgMemCheck_fpu_write_check. I forgot to mention that 2.2.0 works fine with the same program and reports no errors in the code which is active when the segfault occurs. -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. |
|
From: Jeremy F. <je...@go...> - 2005-03-14 22:17:32
|
Patrick Ohly wrote:
>Hi all,
>
>I ran into a problem with 2.4.0rc3 on EL3.0. The child process of
>a MPI application segfaults inside vgMemCheck_fpu_write_check.
>Unfortunately I cannot simplify the application to make running
>it easier, therefore I am reluctant to file it as a bug.
>
>
Could you try checking out CVS head? I fixed a problem in that function
over the weekend.
J
|
|
From: Patrick O. <Pat...@in...> - 2005-03-15 10:24:42
|
On Mon, 2005-03-14 at 14:17 -0800, Jeremy Fitzhardinge wrote: > Patrick Ohly wrote: > > >Hi all, > > > >I ran into a problem with 2.4.0rc3 on EL3.0. The child process of > >a MPI application segfaults inside vgMemCheck_fpu_write_check. > >Unfortunately I cannot simplify the application to make running > >it easier, therefore I am reluctant to file it as a bug. > > > > > Could you try checking out CVS head? I fixed a problem in that function > over the weekend. I tried r4 and indeed, now it works fine. Thanks! -- Best Regards Patrick Ohly Senior Software Engineer Intel GmbH Software & Solutions Group Hermuelheimer Strasse 8a 50321 Bruehl Germany Tel: +49-2232-2090-30 Fax: +49-2232-2090-29 |