[OpenAFS] 1.4.4 client on EL3: panic in afs_HashOutDcache

Stephan Wiesand Stephan.Wiesand@desy.de
Thu, 19 Apr 2007 18:02:03 +0200 (CEST)


On Wed, 18 Apr 2007, Derrick J Brashear wrote:

> On Wed, 18 Apr 2007, Stephan Wiesand wrote:
>> Alas, I'm afraid this is the point where I'll need either some guidance or 
>> a lot of reading and experimenting to get any further.
>
> in the afs_HashOutDCache frame, knowing the contents of adc, us, and i would 
> be a start.

Ok. After recompiling the module with debug information and making the 
system panic once more:

crash> bt
PID: 22914  TASK: d5dd0000  CPU: 0   COMMAND: "afs_cachetrim"
  #0 [d5dd1c98] netconsole_netdump at f8a1d793
  #1 [d5dd1cac] try_crashdump at c0129033
  #2 [d5dd1cbc] die at c010c6f2
  #3 [d5dd1cd0] do_page_fault at c0120389
  #4 [d5dd1d94] error_code (via page_fault) at c02b01c0
     EAX: 00000009  EBX: f8b74000  ECX: 00000046  EDX: c0388e98  EBP: d5dd1dec
     DS:  0068      ESI: f8bff380  ES:  0068      EDI: 0005578e
     CS:  0060      EIP: f8a6da1e  ERR: ffffffff  EFLAGS: 00010282
  #5 [d5dd1dd0] osi_Panic at f8a6da1e
  #6 [d5dd1df0] afs_HashOutDCache at f8a2dd1b
  #7 [d5dd1e20] afs_GetDownD at f8a2d990
  #8 [d5dd1f90] afs_CacheTruncateDaemon at f8a2cf1d
  #9 [d5dd1fd0] afsd_thread at f8a7f947
#10 [d5dd1ff0] kernel_thread_helper at c01095cb
crash> bt -f
...
  #5 [d5dd1dd0] osi_Panic at f8a6da1e
     [RA: f8a2dd20  SP: d5dd1dd4  FP: d5dd1df0  SIZE: 32]
     d5dd1dd4: f8a9377b  d5dd0000  00000000  f8a46614
     d5dd1de4: ffffffff  ffffffff  d5dd1e1c  f8a2dd20
  #6 [d5dd1df0] afs_HashOutDCache at f8a2dd1b
     [RA: f8a2d995  SP: d5dd1df4  FP: d5dd1e20  SIZE: 48]
     d5dd1df4: f8a9377b  d5dd0000  00000000  f8a46614
     d5dd1e04: d617b080  ffffbea5  d5dd1e1c  f8bff380
     d5dd1e14: 0005578c  00000000  d5dd1f8c  f8a2d995
  #7 [d5dd1e20] afs_GetDownD at f8a2d990
     [RA: f8a2cf22  SP: d5dd1e24  FP: d5dd1f90  SIZE: 368]
     d5dd1e24: f8bff380  00000000  00000000  ffffbea1
...
crash> struct dcache f8bff380
struct dcache {
   lruq = {
     next = 0xf8c1a5e0,
     prev = 0xf8c28780
   },
   dirty = {
     next = 0xf8bf39e8,
     prev = 0xf8bfdf88
   },
   lock = {
     wait_states = 0 '\0',
     excl_locked = 0 '\0',
     readers_reading = 0,
     num_waiting = 0,
     spare = 0,
     time_waiting = {
       tv_sec = 0,
       tv_usec = 0
     },
     pid_last_reader = 0x0,
     pid_writer = 0x0,
     src_indicator = 0
   },
   tlock = {
     wait_states = 0 '\0',
     excl_locked = 0 '\0',
     readers_reading = 0,
     num_waiting = 0,
     spare = 0,
     time_waiting = {
       tv_sec = 0,
       tv_usec = 0
     },
     pid_last_reader = 0x0,
     pid_writer = 0x0,
     src_indicator = 0
   },
   mflock = {
     wait_states = 0 '\0',
     excl_locked = 0 '\0',
     readers_reading = 0,
     num_waiting = 0,
     spare = 0,
     time_waiting = {
       tv_sec = 0,
       tv_usec = 0
     },
     pid_last_reader = 0x0,
     pid_writer = 0x0,
     src_indicator = 0
   },
   validPos = 10240,
   index = 21237,
   refCount = 1,
   dflags = 0 '\0',
   mflags = 0 '\0',
   f = {
     fid = {
       Cell = 64,
       Fid = {
         Volume = 536889412,
         Vnode = 17,
         Unique = 1748941
       }
     },
     modTime = 1176990967,
     versionNo = {
       high = 0,
       low = 235
     },
     chunk = 0,
     inode = 100511,
     chunkBytes = 10240,
     states = 0 '\0'
   }
}
crash>

I guess I successfully located adc. But I'm too dumb to find i and us.

-- 
Stephan Wiesand
   DESY - DV -
   Platanenallee 6
   15738 Zeuthen, Germany