HELP! Mysterious oops around PIPE code, kernel 2.4.18

HELP! Mysterious oops around PIPE code, kernel 2.4.18

Post by Ned Re » Mon, 30 Jun 2003 20:00:13



Hi kernel gurus,

I am running out of ideas about this problem. Our system keeps crashing near the pipe code
(pipe_write, pipe_release etc), even within some very innocent system calls like date or grep. I
have found a thread mentioning gcc bug and we have recompiled the kernel using both gcc-2.95 and
gcc-3.3 (on redhat 9) but didn't help.

If I should provide more info please write to me: ned...@yahoo.com

Thank you very much for your time!

lsmod:
Module                  Size  Used by    Tainted: P
mod_led                 2352   0
ip_ids                  7040   0  (unused)
ipsec                 147872   0
eepro100               19992   2  (autoclean)      

uname:
Linux Firewall-2 2.4.18-18.7.xcustom #3 Fri Jun 27 13:53:41 PDT 2003 i686 unknown    

Oops:

Sun Jun 29 02:25:01 2003 localhost  kernel: Unable to handle kernel paging request at virtual
address 3031206d(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Oops: 0000(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: EIP:0010:[__wake_up+35/96] at __wake_up+0x23/60
EFLAGS: 00010083(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: eax:ddd7a8e0  ebx:ddd7a160  ecx:00000001  edx:3031206d
 esi:ddd7a8e0(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: edi:00000001  ebp:dd923f68  esp:dd923f54  ds:0018
es:0018  ss:0018(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Process date (pid: 30704, stackpage=dd923000)(Sun Jun
29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Stack: (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        00000001 00000282 df3c4d80 ddd7a8e0 fffffff2
00000000 c013d022 00001000 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        0000000b dd810000 00000000 df3c4dec 0000000b
0000000b 40013000 ddd2c840 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        ffffffea 0000000b c01348f5 ddd2c840 4001300b
0000000b ddd2c860 dd922000 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Call Trace: [pipe_write+370/704] pipe_write+0x172/2c0
(0xdd923f6c)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: [sys_write+133/256] sys_write+0x85/100
(0xdd923f9c)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: [system_call+51/64] system_call+0x33/40
(0xdd923fc0)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Code: 8b 02 85 c7 75 17 8b 1b 39 f3 75 f1 ff 75 f0 9d
8d 65 f4 5b (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Oops: 0002(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: EIP:0010:[remove_wait_queue+10/32] at
remove_wait_queue+0xa/20 EFLAGS: 00010046(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: eax:ddd7a8e0  ebx:00000246  ecx:00000000  edx:ddc2bf58
 esi:ddc2a000(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: edi:df3c4d80  ebp:ddc2bf58  esp:ddc2bf40  ds:0018
es:0018  ss:0018(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Process sync_ntp.sh (pid: 30700,
stackpage=ddc2b000)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Stack: (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        df3c4dec c013cc78 00000000 ddc2a000 00000000
00000000 00000000 ddc2a000 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        ddd7a8e0 00000000 df3c4d80 fffffe00 ddd7a8e0
00000080 c013cd52 df3c4d80 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel:        ddc2a000 df3c4dec 00000000 080a32e0 ddd2c4c0
ffffffea 00000080 c01347f5 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Call Trace: [pipe_wait+136/176] pipe_wait+0x88/b0
(0xddc2bf44)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: [pipe_read+178/528] pipe_read+0xb2/210
(0xddc2bf78)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: [sys_read+133/256] sys_read+0x85/100 (0xddc2bf9c)(Sun
Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: [system_call+51/64] system_call+0x33/40
(0xddc2bfc0)(Sun Jun 29 02:25:01 2003 )
Sun Jun 29 02:25:01 2003 localhost  kernel: Code: 89 01 89 48 04 53 9d 5b c3 8d b6 00 00 00 00 8d
bc 27 00 00 (Sun Jun 29 02:25:01 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Oops: 0000(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: EIP:0010:[pipe_read+119/528] at pipe_read+0x77/210
EFLAGS: 00010246(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: eax:00000000  ebx:dfc21c00  ecx:dfc21c6c  edx:dea5f660
 esi:fffffe00(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: edi:00000000  ebp:00008000  esp:ddf3df80  ds:0018
es:0018  ss:0018(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Process grep (pid: 2987, stackpage=ddf3d000)(Sun Jun
29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Stack: (Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel:        11800005 dfc21c6c 00000000 08059000 dea5f660
ffffffea 00008000 c01347f5 (Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel:        dea5f660 08059000 00008000 dea5f680 ddf3c000
00000000 00000000 bffffdb8 (Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel:        c0108c03 00000000 08059000 00008000 00000000
00000000 bffffdb8 00000003 (Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Call Trace: [sys_read+133/256] sys_read+0x85/100
(0xddf3df9c)(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: [system_call+51/64] system_call+0x33/40
(0xddf3dfc0)(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Code: 8b 47 0c 85 c0 75 74 8b 47 18 31 f6 85 c0 74 59
8b 44 24 20 (Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: Oops: 0000(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: EIP:0010:[__wake_up+35/96] at __wake_up+0x23/60
EFLAGS: 00010006(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: eax:ddd7a460  ebx:de1c6000  ecx:00000001  edx:00001063
 esi:ddd7a460(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:00 2003 localhost  kernel: edi:00000001  ebp:dd61df24  esp:dd61df10  ds:0018
es:0018  ss:0018(Sun Jun 29 03:12:00 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Process sh (pid: 2981, stackpage=dd61d000)(Sun Jun 29
03:12:00 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Stack: (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        00000001 00000286 ddd7a460 dfb65e4c dfb65de0
dea2b2a0 c013d2ae df035760 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        c2413260 dfb65de0 c013d30e dfb65de0 00000000
00000001 c0135519 dfb65de0 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        df035760 df035760 df5b9a60 00000000 00000001
c0133fa7 df035760 df5b9a60 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Call Trace: [pipe_release+94/144] pipe_release+0x5e/90
(0xdd61df28)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [pipe_write_release+14/32] pipe_write_release+0xe/20
(0xdd61df38)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [fput+217/256] fput+0xd9/100 (0xdd61df48)(Sun Jun 29
03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [filp_close+55/96] filp_close+0x37/60 (0xdd61df64)(Sun
Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [put_files_struct+87/176] put_files_struct+0x57/b0
(0xdd61df84)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [do_exit+180/576] do_exit+0xb4/240 (0xdd61dfa0)(Sun
Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [sys_exit+15/16] sys_exit+0xf/10 (0xdd61dfb8)(Sun Jun
29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [system_call+51/64] system_call+0x33/40
(0xdd61dfc0)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Code: 8b 02 85 c7 75 17 8b 1b 39 f3 75 f1 ff 75 f0 9d
8d 65 f4 5b (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Oops: 0000(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: EIP:0010:[pipe_read+119/528] at pipe_read+0x77/210
EFLAGS: 00010246(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: eax:00000000  ebx:df541dc0  ecx:df541e2c  edx:de3d9ba0
 esi:fffffe00(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: edi:00000000  ebp:00008000  esp:dda11f80  ds:0018
es:0018  ss:0018(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Process grep (pid: 2989, stackpage=dda11000)(Sun Jun
29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Stack: (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        11800005 df541e2c 00000000 08059000 de3d9ba0
ffffffea 00008000 c01347f5 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        de3d9ba0 08059000 00008000 de3d9bc0 dda10000
00000000 00000000 bffffdb8 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel:        c0108c03 00000000 08059000 00008000 00000000
00000000 bffffdb8 00000003 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Call Trace: [sys_read+133/256] sys_read+0x85/100
(0xdda11f9c)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: [system_call+51/64] system_call+0x33/40
(0xdda11fc0)(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Code: 8b 47 0c 85 c0 75 74 8b 47 18 31 f6 85 c0 74 59
8b 44 24 20 (Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: Oops: 0000(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 2003 localhost  kernel: EIP:0010:[pipe_read+119/528] at pipe_read+0x77/210
EFLAGS: 00010246(Sun Jun 29 03:12:01 2003 )
Sun Jun 29 03:12:01 ...

read more »

 
 
 

HELP! Mysterious oops around PIPE code, kernel 2.4.18

Post by Alan Co » Mon, 30 Jun 2003 22:50:04



Quote:> I am running out of ideas about this problem. Our system keeps crashing near the pipe code
> (pipe_write, pipe_release etc), even within some very innocent system calls like date or grep. I
> have found a thread mentioning gcc bug and we have recompiled the kernel using both gcc-2.95 and
> gcc-3.3 (on redhat 9) but didn't help.

Do the problems occur without the ipsec/ip_ids and other odd modules
loaded ?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

HELP! Mysterious oops around PIPE code, kernel 2.4.18

Post by Ned R » Tue, 01 Jul 2003 05:56:39


Yes, even with these modules removed it still would crash.

My gcc version is actually 3.2.2:
gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

I'm really suspecting the code it has compiled, objdump -S gives
almost no dissasembly line in pipe_wait, and with only -d, it givs
lots nop at the end of the function. see below:

pipe.o:     file format elf32-i386

Disassembly of section .text:

00000000 <pipe_wait>:
   0:   55                      push   %ebp
   1:   57                      push   %edi
   2:   56                      push   %esi
   3:   be 00 e0 ff ff          mov    $0xffffe000,%esi
   8:   53                      push   %ebx
   9:   21 e6                   and    %esp,%esi
   b:   83 ec 20                sub    $0x20,%esp
   e:   8b 7c 24 34             mov    0x34(%esp,1),%edi
  12:   c7 04 24 00 00 00 00    movl   $0x0,(%esp,1)
  19:   c7 44 24 04 00 00 00    movl   $0x0,0x4(%esp,1)
  20:   00
  21:   c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp,1)
  28:   00
  29:   c7 44 24 0c 00 00 00    movl   $0x0,0xc(%esp,1)
  30:   00
  31:   89 74 24 04             mov    %esi,0x4(%esp,1)
  35:   89 74 24 14             mov    %esi,0x14(%esp,1)
  39:   c7 44 24 10 00 00 00    movl   $0x0,0x10(%esp,1)
  40:   00
  41:   c7 44 24 18 00 00 00    movl   $0x0,0x18(%esp,1)
  48:   00
  49:   c7 44 24 1c 00 00 00    movl   $0x0,0x1c(%esp,1)
  50:   00
  51:   8d 6c 24 10             lea    0x10(%esp,1),%ebp
  55:   c7 06 01 00 00 00       movl   $0x1,(%esi)
  5b:   8b 87 e8 00 00 00       mov    0xe8(%edi),%eax
  61:   89 ea                   mov    %ebp,%edx
  63:   8d 5f 6c                lea    0x6c(%edi),%ebx
  66:   e8 fc ff ff ff          call   67 <pipe_wait+0x67>
  6b:   89 d9                   mov    %ebx,%ecx
  6d:   ff 47 6c                incl   0x6c(%edi)
  70:   0f 8e e3 0b 00 00       jle    c59 <.text.lock.pipe>
  76:   e8 fc ff ff ff          call   77 <pipe_wait+0x77>
  7b:   89 ea                   mov    %ebp,%edx
  7d:   8b 87 e8 00 00 00       mov    0xe8(%edi),%eax
  83:   e8 fc ff ff ff          call   84 <pipe_wait+0x84>
  88:   89 d9                   mov    %ebx,%ecx
  8a:   c7 06 00 00 00 00       movl   $0x0,(%esi)
  90:   ff 4f 6c                decl   0x6c(%edi)
  93:   0f 88 ca 0b 00 00       js     c63 <.text.lock.pipe+0xa>
  99:   83 c4 20                add    $0x20,%esp
  9c:   5b                      pop    %ebx
  9d:   5e                      pop    %esi
  9e:   5f                      pop    %edi
  9f:   5d                      pop    %ebp
  a0:   c3                      ret    
  a1:   eb 0d                   jmp    b0 <pipe_read>
  a3:   90                      nop    
  a4:   90                      nop    
  a5:   90                      nop    
  a6:   90                      nop    
  a7:   90                      nop    
  a8:   90                      nop    
  a9:   90                      nop    
  aa:   90                      nop    
  ab:   90                      nop    
  ac:   90                      nop    
  ad:   90                      nop    
  ae:   90                      nop    
  af:   90                      nop    

000000b0 <pipe_read>:
  b0:   55                      push   %ebp
  b1:   57                      push   %edi
  b2:   56                      push   %esi
  b3:   be e3 ff ff ff          mov    $0xffffffe3,%esi
  b8:   53                      push   %ebx
  b9:   83 ec 0c                sub    $0xc,%esp
  bc:   8b 54 24 20             mov    0x20(%esp,1),%edx
  c0:   8b 6c 24 28             mov    0x28(%esp,1),%ebp
  c4:   8b 42 08                mov    0x8(%edx),%eax
  c7:   8b 58 08                mov    0x8(%eax),%ebx
  ca:   89 d0                   mov    %edx,%eax
  cc:   83 c0 20                add    $0x20,%eax
  cf:   c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp,1)
  d6:   00
  d7:   39 44 24 2c             cmp    %eax,0x2c(%esp,1)
  db:   74 23                   je     100 <pipe_read+0x50>
  dd:   8b 44 24 08             mov    0x8(%esp,1),%eax
  e1:   85 c0                   test   %eax,%eax
  e3:   74 04                   je     e9 <pipe_read+0x39>
  e5:   8b 74 24 08             mov    0x8(%esp,1),%esi
  e9:   53                      push   %ebx
  ea:   e8 fc ff ff ff          call   eb <pipe_read+0x3b>
  ef:   83 c4 10                add    $0x10,%esp
  f2:   5b                      pop    %ebx
  f3:   89 f0                   mov    %esi,%eax
  f5:   5e                      pop    %esi
  f6:   5f                      pop    %edi
  f7:   5d                      pop    %ebp
  f8:   c3                      ret    
  f9:   8d b4 26 00 00 00 00    lea    0x0(%esi,1),%esi
 100:   31 f6                   xor    %esi,%esi
 102:   85 ed                   test   %ebp,%ebp
 104:   74 d7                   je     dd <pipe_read+0x2d>
 106:   8d 4b 6c                lea    0x6c(%ebx),%ecx
 109:   be 00 fe ff ff          mov    $0xfffffe00,%esi
 10e:   89 4c 24 04             mov    %ecx,0x4(%esp,1)
 112:   ff 4b 6c                decl   0x6c(%ebx)
 115:   0f 88 52 0b 00 00       js     c6d <.text.lock.pipe+0x14>
 11b:   31 c0                   xor    %eax,%eax
 11d:   85 c0                   test   %eax,%eax
 11f:   75 bc                   jne    dd <pipe_read+0x2d>
 121:   8b bb e8 00 00 00       mov    0xe8(%ebx),%edi
 127:   8b 47 0c                mov    0xc(%edi),%eax
 12a:   85 c0                   test   %eax,%eax
 12c:   75 74                   jne    1a2 <pipe_read+0xf2>
 12e:   8b 47 18                mov    0x18(%edi),%eax
 131:   31 f6                   xor    %esi,%esi
 133:   85 c0                   test   %eax,%eax
 135:   74 59                   je     190 <pipe_read+0xe0>
 137:   8b 44 24 20             mov    0x20(%esp,1),%eax
 13b:   be f5 ff ff ff          mov    $0xfffffff5,%esi
 140:   f6 40 19 08             testb  $0x8,0x19(%eax)
 144:   75 4a                   jne    190 <pipe_read+0xe0>
 146:   ba 00 e0 ff ff          mov    $0xffffe000,%edx
 14b:   21 e2                   and    %esp,%edx
 14d:   89 14 24                mov    %edx,(%esp,1)
 150:   8b 4f 1c                mov    0x1c(%edi),%ecx
 153:   be 00 fe ff ff          mov    $0xfffffe00,%esi
 158:   41                      inc    %ecx
 159:   89 4f 1c                mov    %ecx,0x1c(%edi)
 15c:   53                      push   %ebx
 15d:   e8 fc ff ff ff          call   15e <pipe_read+0xae>
 162:   8b 83 e8 00 00 00       mov    0xe8(%ebx),%eax
 168:   8b 50 1c                mov    0x1c(%eax),%edx
 16b:   4a                      dec    %edx
 16c:   89 50 1c                mov    %edx,0x1c(%eax)
 16f:   58                      pop    %eax
 170:   8b 0c 24                mov    (%esp,1),%ecx
 173:   8b 41 08                mov    0x8(%ecx),%eax
 176:   85 c0                   test   %eax,%eax
 178:   75 16                   jne    190 <pipe_read+0xe0>
 17a:   8b bb e8 00 00 00       mov    0xe8(%ebx),%edi
 180:   31 f6                   xor    %esi,%esi
 182:   8b 47 0c                mov    0xc(%edi),%eax
 185:   85 c0                   test   %eax,%eax
 187:   75 19                   jne    1a2 <pipe_read+0xf2>
 189:   8b 47 18                mov    0x18(%edi),%eax
 18c:   85 c0                   test   %eax,%eax
 18e:   75 c0                   jne    150 <pipe_read+0xa0>
 190:   8b 4c 24 04             mov    0x4(%esp,1),%ecx
 194:   ff 43 6c                incl   0x6c(%ebx)
 197:   0f 8e da 0a 00 00       jle    c77 <.text.lock.pipe+0x1e>
 19d:   e9 3b ff ff ff          jmp    dd <pipe_read+0x2d>
 1a2:   be f2 ff ff ff          mov    $0xfffffff2,%esi
 1a7:   85 ed                   test   %ebp,%ebp
 1a9:   0f 84 94 00 00 00       je     243 <pipe_read+0x193>
 1af:   8b 57 0c                mov    0xc(%edi),%edx
 1b2:   85 d2                   test   %edx,%edx
 1b4:   0f 84 89 00 00 00       je     243 <pipe_read+0x193>
 1ba:   8b 47 10                mov    0x10(%edi),%eax
 1bd:   8b 4f 08                mov    0x8(%edi),%ecx
 1c0:   bf 00 10 00 00          mov    $0x1000,%edi
 1c5:   01 c1                   add    %eax,%ecx
 1c7:   29 c7                   sub    %eax,%edi
 1c9:   39 ef                   cmp    %ebp,%edi
 1cb:   76 02                   jbe    1cf <pipe_read+0x11f>
 1cd:   89 ef                   mov    %ebp,%edi
 1cf:   39 d7                   cmp    %edx,%edi
 1d1:   7e 02                   jle    1d5 <pipe_read+0x125>
 1d3:   89 d7                   mov    %edx,%edi
 1d5:   57                      push   %edi
 1d6:   51                      push   %ecx
 1d7:   8b 44 24 2c             mov    0x2c(%esp,1),%eax
 1db:   50                      push   %eax
 1dc:   e8 fc ff ff ff          call   1dd <pipe_read+0x12d>
 1e1:   83 c4 0c                add    $0xc,%esp
 1e4:   85 c0                   test   %eax,%eax
 1e6:   75 a8                   jne    190 <pipe_read+0xe0>
 1e8:   8b 4c 24 08             mov    0x8(%esp,1),%ecx
 1ec:   01 f9                   add    %edi,%ecx
 1ee:   89 4c 24 08             mov    %ecx,0x8(%esp,1)
 1f2:   8b 83 e8 00 00 00       mov    0xe8(%ebx),%eax
 1f8:   8b 50 10                mov    0x10(%eax),%edx
 1fb:   01 fa                   add    %edi,%edx
 1fd:   89 50 10                mov    %edx,0x10(%eax)
 200:   8b 83 e8 00 00 00       mov    0xe8(%ebx),%eax
 206:   8b 48 10                mov    0x10(%eax),%ecx
 209:   81 e1 ff 0f 00 00       and    $0xfff,%ecx
 20f:   89 48 10                mov    %ecx,0x10(%eax)
 212:   8b 83 e8 00 00 00       mov    0xe8(%ebx),%eax
 218:   8b 50 0c                mov    0xc(%eax),%edx
 21b:   29 fa                   sub    %edi,%edx
 21d:   89 50 0c                mov    %edx,0xc(%eax)
 220:   8b 44 24 24             mov    0x24(%esp,1),%eax
 224:   01 f8                   add    %edi,%eax
 226:   29 fd                   sub    %edi,%ebp
 228:   89 44 24 24             mov    %eax,0x24(%esp,1)
 22c:   0f 84 83 00 00 00       je     2b5 <pipe_read+0x205>
 232:   8b bb e8 00 00 00       mov    0xe8(%ebx),%edi
 238:   8b 57 0c                mov    0xc(%edi),%edx
 23b:   85 d2                   test   %edx,%edx
 23d:   0f 85 77 ff ff ff       jne    1ba <pipe_read+0x10a>
 243:   8b 77 0c                mov    0xc(%edi),%esi
 246:   85 f6                   test   %esi,%esi
 248:   75 0d                   jne    257 <pipe_read+0x1a7>
 24a:   c7 47 10 00 00 00 00    movl   $0x0,0x10(%edi)
 251:   8b bb e8 00 00 00       mov    0xe8(%ebx),%edi
 257:   85 ed                   test   %ebp,%ebp
 259:   74 11                   je     26c <pipe_read+0x1bc>
 25b:   8b 4f 20                mov    0x20(%edi),%ecx
 25e:   85 c9                
...

read more »

 
 
 

HELP! Mysterious oops around PIPE code, kernel 2.4.18

Post by Ned Re » Tue, 01 Jul 2003 21:30:18


Yes, even with these modules removed it still would crash.

One mistake, my gcc version is actually 3.2.2:
gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

I'm really suspecting the code it has compiled, objdump -S gives
almost no dissasembly line in pipe_wait, and with only -d, it gives
lots nop at the end of the function. see below:

pipe.o:     file format elf32-i386

Disassembly of section .text:

00000000 <pipe_wait>:
   0: 55                    push   %ebp
   1: 57                    push   %edi
   2: 56                    push   %esi
   3: be 00 e0 ff ff        mov    $0xffffe000,%esi
   8: 53                    push   %ebx
   9: 21 e6                 and    %esp,%esi
   b: 83 ec 20              sub    $0x20,%esp
   e: 8b 7c 24 34           mov    0x34(%esp,1),%edi
  12: c7 04 24 00 00 00 00  movl   $0x0,(%esp,1)
  19: c7 44 24 04 00 00 00  movl   $0x0,0x4(%esp,1)
  20: 00
  21: c7 44 24 08 00 00 00  movl   $0x0,0x8(%esp,1)
  28: 00
  29: c7 44 24 0c 00 00 00  movl   $0x0,0xc(%esp,1)
  30: 00
  31: 89 74 24 04           mov    %esi,0x4(%esp,1)
  35: 89 74 24 14           mov    %esi,0x14(%esp,1)
  39: c7 44 24 10 00 00 00  movl   $0x0,0x10(%esp,1)
  40: 00
  41: c7 44 24 18 00 00 00  movl   $0x0,0x18(%esp,1)
  48: 00
  49: c7 44 24 1c 00 00 00  movl   $0x0,0x1c(%esp,1)
  50: 00
  51: 8d 6c 24 10           lea    0x10(%esp,1),%ebp
  55: c7 06 01 00 00 00     movl   $0x1,(%esi)
  5b: 8b 87 e8 00 00 00     mov    0xe8(%edi),%eax
  61: 89 ea                 mov    %ebp,%edx
  63: 8d 5f 6c              lea    0x6c(%edi),%ebx
  66: e8 fc ff ff ff        call   67 <pipe_wait+0x67>
  6b: 89 d9                 mov    %ebx,%ecx
  6d: ff 47 6c              incl   0x6c(%edi)
  70: 0f 8e e3 0b 00 00     jle    c59 <.text.lock.pipe>
  76: e8 fc ff ff ff        call   77 <pipe_wait+0x77>
  7b: 89 ea                 mov    %ebp,%edx
  7d: 8b 87 e8 00 00 00     mov    0xe8(%edi),%eax
  83: e8 fc ff ff ff        call   84 <pipe_wait+0x84>
  88: 89 d9                 mov    %ebx,%ecx
  8a: c7 06 00 00 00 00     movl   $0x0,(%esi)
  90: ff 4f 6c              decl   0x6c(%edi)
  93: 0f 88 ca 0b 00 00     js     c63 <.text.lock.pipe+0xa>
  99: 83 c4 20              add    $0x20,%esp
  9c: 5b                    pop    %ebx
  9d: 5e                    pop    %esi
  9e: 5f                    pop    %edi
  9f: 5d                    pop    %ebp
  a0: c3                    ret    
  a1: eb 0d                 jmp    b0 <pipe_read>
  a3: 90                    nop    
  a4: 90                    nop    
  a5: 90                    nop    
  a6: 90                    nop    
  a7: 90                    nop    
  a8: 90                    nop    
  a9: 90                    nop    
  aa: 90                    nop    
  ab: 90                    nop    
  ac: 90                    nop    
  ad: 90                    nop    
  ae: 90                    nop    
  af: 90                    nop    

000000b0 <pipe_read>:
  b0: 55                    push   %ebp
  b1: 57                    push   %edi
  b2: 56                    push   %esi
  b3: be e3 ff ff ff        mov    $0xffffffe3,%esi
  b8: 53                    push   %ebx
  b9: 83 ec 0c              sub    $0xc,%esp
  bc: 8b 54 24 20           mov    0x20(%esp,1),%edx
  c0: 8b 6c 24 28           mov    0x28(%esp,1),%ebp
  c4: 8b 42 08              mov    0x8(%edx),%eax
  c7: 8b 58 08              mov    0x8(%eax),%ebx
  ca: 89 d0                 mov    %edx,%eax
  cc: 83 c0 20              add    $0x20,%eax
  cf: c7 44 24 08 00 00 00  movl   $0x0,0x8(%esp,1)
  d6: 00
  d7: 39 44 24 2c           cmp    %eax,0x2c(%esp,1)
  db: 74 23                 je     100 <pipe_read+0x50>
  dd: 8b 44 24 08           mov    0x8(%esp,1),%eax
  e1: 85 c0                 test   %eax,%eax
  e3: 74 04                 je     e9 <pipe_read+0x39>
  e5: 8b 74 24 08           mov    0x8(%esp,1),%esi
  e9: 53                    push   %ebx
  ea: e8 fc ff ff ff        call   eb <pipe_read+0x3b>
  ef: 83 c4 10              add    $0x10,%esp
  f2: 5b                    pop    %ebx
  f3: 89 f0                 mov    %esi,%eax
  f5: 5e                    pop    %esi
  f6: 5f                    pop    %edi
  f7: 5d                    pop    %ebp
  f8: c3                    ret    
  f9: 8d b4 26 00 00 00 00  lea    0x0(%esi,1),%esi
 100: 31 f6                 xor    %esi,%esi
 102: 85 ed                 test   %ebp,%ebp
 104: 74 d7                 je     dd <pipe_read+0x2d>
 106: 8d 4b 6c              lea    0x6c(%ebx),%ecx
 109: be 00 fe ff ff        mov    $0xfffffe00,%esi
 10e: 89 4c 24 04           mov    %ecx,0x4(%esp,1)
 112: ff 4b 6c              decl   0x6c(%ebx)
 115: 0f 88 52 0b 00 00     js     c6d <.text.lock.pipe+0x14>
 11b: 31 c0                 xor    %eax,%eax
 11d: 85 c0                 test   %eax,%eax
 11f: 75 bc                 jne    dd <pipe_read+0x2d>
 121: 8b bb e8 00 00 00     mov    0xe8(%ebx),%edi
 127: 8b 47 0c              mov    0xc(%edi),%eax
 12a: 85 c0                 test   %eax,%eax
 12c: 75 74                 jne    1a2 <pipe_read+0xf2>
 12e: 8b 47 18              mov    0x18(%edi),%eax
 131: 31 f6                 xor    %esi,%esi
 133: 85 c0                 test   %eax,%eax
 135: 74 59                 je     190 <pipe_read+0xe0>
 137: 8b 44 24 20           mov    0x20(%esp,1),%eax
 13b: be f5 ff ff ff        mov    $0xfffffff5,%esi
 140: f6 40 19 08           testb  $0x8,0x19(%eax)
 144: 75 4a                 jne    190 <pipe_read+0xe0>
 146: ba 00 e0 ff ff        mov    $0xffffe000,%edx
 14b: 21 e2                 and    %esp,%edx
 14d: 89 14 24              mov    %edx,(%esp,1)
 150: 8b 4f 1c              mov    0x1c(%edi),%ecx
 153: be 00 fe ff ff        mov    $0xfffffe00,%esi
 158: 41                    inc    %ecx
 159: 89 4f 1c              mov    %ecx,0x1c(%edi)
 15c: 53                    push   %ebx
 15d: e8 fc ff ff ff        call   15e <pipe_read+0xae>
 162: 8b 83 e8 00 00 00     mov    0xe8(%ebx),%eax
 168: 8b 50 1c              mov    0x1c(%eax),%edx
 16b: 4a                    dec    %edx
 16c: 89 50 1c              mov    %edx,0x1c(%eax)
 16f: 58                    pop    %eax
 170: 8b 0c 24              mov    (%esp,1),%ecx
 173: 8b 41 08              mov    0x8(%ecx),%eax
 176: 85 c0                 test   %eax,%eax
 178: 75 16                 jne    190 <pipe_read+0xe0>
 17a: 8b bb e8 00 00 00     mov    0xe8(%ebx),%edi
 180: 31 f6                 xor    %esi,%esi
 182: 8b 47 0c              mov    0xc(%edi),%eax
 185: 85 c0                 test   %eax,%eax
 187: 75 19                 jne    1a2 <pipe_read+0xf2>
 189: 8b 47 18              mov    0x18(%edi),%eax
 18c: 85 c0                 test   %eax,%eax
 18e: 75 c0                 jne    150 <pipe_read+0xa0>
 190: 8b 4c 24 04           mov    0x4(%esp,1),%ecx
 194: ff 43 6c              incl   0x6c(%ebx)
 197: 0f 8e da 0a 00 00     jle    c77 <.text.lock.pipe+0x1e>
 19d: e9 3b ff ff ff        jmp    dd <pipe_read+0x2d>
 1a2: be f2 ff ff ff        mov    $0xfffffff2,%esi
 1a7: 85 ed                 test   %ebp,%ebp
 1a9: 0f 84 94 00 00 00     je     243 <pipe_read+0x193>
 1af: 8b 57 0c              mov    0xc(%edi),%edx
 1b2: 85 d2                 test   %edx,%edx
 1b4: 0f 84 89 00 00 00     je     243 <pipe_read+0x193>
 1ba: 8b 47 10              mov    0x10(%edi),%eax
 1bd: 8b 4f 08              mov    0x8(%edi),%ecx
 1c0: bf 00 10 00 00        mov    $0x1000,%edi
 1c5: 01 c1                 add    %eax,%ecx
 1c7: 29 c7                 sub    %eax,%edi
 1c9: 39 ef                 cmp    %ebp,%edi
 1cb: 76 02                 jbe    1cf <pipe_read+0x11f>
 1cd: 89 ef                 mov    %ebp,%edi
 1cf: 39 d7                 cmp    %edx,%edi
 1d1: 7e 02                 jle    1d5 <pipe_read+0x125>
 1d3: 89 d7                 mov    %edx,%edi
 1d5: 57                    push   %edi
 1d6: 51                    push   %ecx
 1d7: 8b 44 24 2c           mov    0x2c(%esp,1),%eax
 1db: 50                    push   %eax
 1dc: e8 fc ff ff ff        call   1dd <pipe_read+0x12d>
 1e1: 83 c4 0c              add    $0xc,%esp
 1e4: 85 c0                 test   %eax,%eax
 1e6: 75 a8                 jne    190 <pipe_read+0xe0>
 1e8: 8b 4c 24 08           mov    0x8(%esp,1),%ecx
 1ec: 01 f9                 add    %edi,%ecx
 1ee: 89 4c 24 08           mov    %ecx,0x8(%esp,1)
 1f2: 8b 83 e8 00 00 00     mov    0xe8(%ebx),%eax
 1f8: 8b 50 10              mov    0x10(%eax),%edx
 1fb: 01 fa                 add    %edi,%edx
 1fd: 89 50 10              mov    %edx,0x10(%eax)
 200: 8b 83 e8 00 00 00     mov    0xe8(%ebx),%eax
 206: 8b 48 10              mov    0x10(%eax),%ecx
 209: 81 e1 ff 0f 00 00     and    $0xfff,%ecx
 20f: 89 48 10              mov    %ecx,0x10(%eax)
 212: 8b 83 e8 00 00 00     mov    0xe8(%ebx),%eax
 218: 8b 50 0c              mov    0xc(%eax),%edx
 21b: 29 fa                 sub    %edi,%edx
 21d: 89 50 0c              mov    %edx,0xc(%eax)
 220: 8b 44 24 24           mov    0x24(%esp,1),%eax
 224: 01 f8                 add    %edi,%eax
 226: 29 fd                 sub    %edi,%ebp
 228: 89 44 24 24           mov    %eax,0x24(%esp,1)
 22c: 0f 84 83 00 00 00     je     2b5 <pipe_read+0x205>
 232: 8b bb e8 00 00 00     mov    0xe8(%ebx),%edi
 238: 8b 57 0c              mov    0xc(%edi),%edx
 23b: 85 d2                 test   %edx,%edx
 23d: 0f 85 77 ff ff ff     jne    1ba <pipe_read+0x10a>
 243: 8b 77 0c              mov    0xc(%edi),%esi
 246: 85 f6                 test   %esi,%esi
 248: 75 0d                 jne    257 <pipe_read+0x1a7>
 24a: c7 47 10 00 00 00 00  movl   $0x0,0x10(%edi)
 251: 8b bb e8 00 00 00     mov    0xe8(%ebx),%edi
 257: 85 ed                 test   %ebp,%ebp
 259: 74 11                 je     26c <pipe_read+0x1bc>
 25b: 8b 4f 20              mov    0x20(%edi),%ecx
 25e: 85 c9      
...

read more »