[OpenAFS] Kernel Panic on Mac OS X Snow Leopard (10.6) with Disconnected Mode

Nicolas Bourbaki ncl.bourbaki@gmail.com
Mon, 2 Aug 2010 14:36:41 +0200


--0016e65b64e6d55361048cd673b9
Content-Type: text/plain; charset=ISO-8859-1

Hi there,

I'd like to report a kernel panic when trying to use the disconnected mode
of OpenAFS. My current set-up is a one fileserver cell, running the 1.4.x
binaries and a Mac OS X Client running the 1.5.x client binaries. I can
switch to offline mode and get back online using:

fs discon offline
fs discon online

However, if I write to the filesystem when offline, and then go back online,
OSX kernel panics.
Summary:

fs discon offline
touch /afs/mycell.name/user/myuser/hello
fs discon online => PANIC

I can provide the following log:
Wed Jul 28 08:27:40 2010
panic(cpu 1 caller 0x2dc75f): "vnode_put(0x667d848): iocount <
1"@/SourceCache/xnu/xnu-1504.7.4/bsd/vfs/vfs_subr.c:3782
Backtrace (CPU 1), Frame : Return Address (4 potential args on stack)
0x31d73a7c : 0x21b455 (0x5cf328 0x31d73ab0 0x2238b1 0x0)
0x31d73acc : 0x2dc75f (0x596258 0x667d848 0x59ef5964 0x59ef5964)
0x31d73aec : 0x2dc810 (0x667d848 0x5a0a41ad 0x667d848 0x59ef5964)
0x31d73b0c : 0x5a0abf37 (0x667d848 0x57727b4 0x1 0x59ef5964)
0x31d73b24 : 0x5a09266a (0x59ef5964 0x57727b4 0x7351004 0x31d73c84)
0x31d73b40 : 0x5a11f6d8 (0x57727b4 0x57727b4 0x3 0x7351004)
0x31d73b84 : 0x5a113013 (0x0 0x5 0x31d73c30 0x31d73be0)
0x31d73c5c : 0x5a112989 (0x0 0x80184305 0x31d73c84 0x1)
0x31d73ca0 : 0x5a0a9c0b (0x0 0x0 0x80184305 0x5fbffa70)
0x31d73d50 : 0x5a10856d (0x75ed000 0x31d73ed0 0x31d73d80 0x65706f2f)
0x31d73d88 : 0x30791d (0x1f000000 0xc0384302 0x31d73ed0 0x3)
0x31d73dc8 : 0x2fad97 (0x31d73de8 0x3 0x31d73e18 0x57def0)
0x31d73e18 : 0x2ef80f (0x965a818 0xc0384302 0x31d73ed0 0x3)
0x31d73e78 : 0x468cc5 (0x5e24f20 0xc0384302 0x31d73ed0 0x31d73f50)
0x31d73e98 : 0x4948a3 (0x5e24f20 0xc0384302 0x31d73ed0 0x31d73f50)
0x31d73f78 : 0x4edaf8 (0x75ed000 0x5db6828 0x60f7a64 0x1)
0x31d73fc8 : 0x29f43d (0x5db6824 0x0 0x10 0x5db6824)
      Kernel Extensions in backtrace (with dependencies):
         org.openafs.filesystems.afs(1.5.75)@0x5a07d000->0x5a133fff

BSD process name corresponding to current thread: fs

Mac OS version:
10F569

Kernel version:
Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;
root:xnu-1504.7.4~1/RELEASE_I386
System model name: MacBookPro5,1 (Mac-XXXXXXX)

System uptime in nanoseconds: 593261065595
unloaded kexts:
com.apple.filesystems.cd9660    1.4.1 (addr 0xdf1000, size 0x36864) - last
unloaded 489449461639
loaded kexts:
org.openafs.filesystems.afs    1.5.75 - last loaded 423449537429
...
com.apple.iokit.IOACPIFamily    1.3.0

I also tried to use the decode-panic tool to generate a more useful log:
Panic Date:      Wed Jul 28 08:27:40 2010
Kernel Version:  Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;
root:xnu-1504.7.4~1/RELEASE_
I386
OpenAFS Version: org.openafs.filesystems.afs(1.5.75)
=============
add symbol table from file
"/tmp/afsdebugyXc8Vn/org.openafs.filesystems.afs.sym"? 0x21b455
<panic+445>:    mov    0x8011d0,%eax
0x2dc75f <vnode_put_locked+41>:    mov    0x38(%ebx),%eax
0x2dc810 <vnode_put+31>:    mov    %eax,%esi
0x5a0abf37 <afs_PutVCache+27>:    call   0x2a113e <current_thread>
0x5a09266a <afs_DisconDiscardAll+254>:    testl  $0xffffff00,0x5a127a00
0x5a11f6d8 <PDiscon+604>:    call   0x5a0ab408 <afs_ClearAllStatdFlag>
0x5a113013 <afs_HandlePioctl+1379>:    mov    %eax,-0xac(%ebp)
0x5a112989 <afs_syscall64_pioctl+521>:    mov    %eax,-0x20(%ebp)
0x5a0a9c0b <afs3_syscall+739>:    mov    %eax,-0x38(%ebp)
0x5a10856d <afs_cdev_ioctl+149>:    mov    %eax,-0xc(%ebp)
0x30791d <spec_ioctl+157>:    jmp    0x307949 <spec_ioctl+201>
0x2fad97 <VNOP_IOCTL+220>:    mov    %eax,%ebx
0x2ef80f <utf8_encodelen+1655>:    mov    %eax,%edi
0x468cc5 <fo_ioctl+63>:    mov    %eax,%esi
0x4948a3 <ioctl+1305>:    mov    %eax,%ebx
0x4edaf8 <unix_syscall64+617>:    mov    %eax,%esi
0x29f43d <lo64_unix_scall+77>:    mov    %edi,%esp

The above works on a 32 bit linux machine (ubuntu) with the ppa binaries.

Thanks for any help regarding this.

N. Bourbaki

--0016e65b64e6d55361048cd673b9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi there,<br><br>I&#39;d like to report a kernel panic when trying to use=
=20
the disconnected mode of OpenAFS. My current set-up is a one fileserver=20
cell, running the 1.4.x binaries and a Mac OS X Client running the 1.5.x
 client binaries. I can switch to offline mode and get back online=20
using:<br>
<br>fs discon offline<br>fs discon online<br><br>However, if I write to=20
the filesystem when offline, and then go back online, OSX kernel panics.
 <br>Summary:<br><br>fs discon offline<br>touch /afs/<a href=3D"http://myce=
ll.name/user/myuser/hello" target=3D"_blank">mycell.name/user/myuser/hello<=
/a><br>
fs discon online =3D&gt; PANIC<br><br>I can provide the following log:<br><=
div style=3D"margin-left: 40px;">Wed Jul 28 08:27:40 2010<br>
panic(cpu 1 caller 0x2dc75f): &quot;vnode_put(0x667d848): iocount &lt;=20
1&quot;@/SourceCache/xnu/xnu-1504.7.4/bsd/vfs/vfs_subr.c:3782<br>
Backtrace (CPU 1), Frame : Return Address (4 potential args on stack)<br>
0x31d73a7c : 0x21b455 (0x5cf328 0x31d73ab0 0x2238b1 0x0) <br>
0x31d73acc : 0x2dc75f (0x596258 0x667d848 0x59ef5964 0x59ef5964) <br>
0x31d73aec : 0x2dc810 (0x667d848 0x5a0a41ad 0x667d848 0x59ef5964) <br>
0x31d73b0c : 0x5a0abf37 (0x667d848 0x57727b4 0x1 0x59ef5964) <br>
0x31d73b24 : 0x5a09266a (0x59ef5964 0x57727b4 0x7351004 0x31d73c84) <br>
0x31d73b40 : 0x5a11f6d8 (0x57727b4 0x57727b4 0x3 0x7351004) <br>
0x31d73b84 : 0x5a113013 (0x0 0x5 0x31d73c30 0x31d73be0) <br>
0x31d73c5c : 0x5a112989 (0x0 0x80184305 0x31d73c84 0x1) <br>
0x31d73ca0 : 0x5a0a9c0b (0x0 0x0 0x80184305 0x5fbffa70) <br>
0x31d73d50 : 0x5a10856d (0x75ed000 0x31d73ed0 0x31d73d80 0x65706f2f) <br>
0x31d73d88 : 0x30791d (0x1f000000 0xc0384302 0x31d73ed0 0x3) <br>
0x31d73dc8 : 0x2fad97 (0x31d73de8 0x3 0x31d73e18 0x57def0) <br>
0x31d73e18 : 0x2ef80f (0x965a818 0xc0384302 0x31d73ed0 0x3) <br>
0x31d73e78 : 0x468cc5 (0x5e24f20 0xc0384302 0x31d73ed0 0x31d73f50) <br>
0x31d73e98 : 0x4948a3 (0x5e24f20 0xc0384302 0x31d73ed0 0x31d73f50) <br>
0x31d73f78 : 0x4edaf8 (0x75ed000 0x5db6828 0x60f7a64 0x1) <br>
0x31d73fc8 : 0x29f43d (0x5db6824 0x0 0x10 0x5db6824) <br>
=A0=A0=A0=A0=A0 Kernel Extensions in backtrace (with dependencies):<br>
=A0=A0=A0=A0=A0=A0=A0=A0 org.openafs.filesystems.afs(1.5.75)@0x5a07d000-&gt=
;0x5a133fff<br><br>
BSD process name corresponding to current thread: fs<br><br>
Mac OS version:<br>
10F569<br><br>
Kernel version:<br>
Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010;=20
root:xnu-1504.7.4~1/RELEASE_I386<br>
System model name: MacBookPro5,1 (Mac-XXXXXXX)<br><br>
System uptime in nanoseconds: 593261065595<br>
unloaded kexts:<br>
com.apple.filesystems.cd9660=A0=A0=A0 1.4.1 (addr 0xdf1000, size 0x36864)
 -=20
last unloaded 489449461639<br>
loaded kexts:<br>
org.openafs.filesystems.afs=A0=A0=A0 1.5.75 - last loaded 423449537429<br>
...<br>
com.apple.iokit.IOACPIFamily=A0=A0=A0 1.3.0<br></div>



<br>I also tried to use the decode-panic tool to generate a more useful=20
log:<br>Panic Date:=A0=A0=A0=A0=A0 Wed Jul 28 08:27:40 2010<br>
Kernel Version:=A0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT=20
2010; root:xnu-1504.7.4~1/RELEASE_<div>I386<br>
OpenAFS Version: org.openafs.filesystems.afs(1.5.75)<br>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
add symbol table from file=20
&quot;/tmp/afsdebugyXc8Vn/org.openafs.filesystems.afs.sym&quot;? 0x21b455=
=20
&lt;panic+445&gt;:=A0=A0 =A0mov=A0=A0=A0 0x8011d0,%eax<br>
0x2dc75f &lt;vnode_put_locked+41&gt;:=A0=A0 =A0mov=A0=A0=A0 0x38(%ebx),%eax=
<br>
0x2dc810 &lt;vnode_put+31&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%esi<br>
0x5a0abf37 &lt;afs_PutVCache+27&gt;:=A0=A0 =A0call=A0=A0 0x2a113e=20
&lt;current_thread&gt;<br>
0x5a09266a &lt;afs_DisconDiscardAll+254&gt;:=A0=A0 =A0testl=A0=20
$0xffffff00,0x5a127a00<br>
0x5a11f6d8 &lt;PDiscon+604&gt;:=A0=A0 =A0call=A0=A0 0x5a0ab408=20
&lt;afs_ClearAllStatdFlag&gt;<br>
0x5a113013 &lt;afs_HandlePioctl+1379&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,-0xac(=
%ebp)<br>
0x5a112989 &lt;afs_syscall64_pioctl+521&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,-0x=
20(%ebp)<br>
0x5a0a9c0b &lt;afs3_syscall+739&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,-0x38(%ebp)=
<br>
0x5a10856d &lt;afs_cdev_ioctl+149&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,-0xc(%ebp=
)<br>
0x30791d &lt;spec_ioctl+157&gt;:=A0=A0 =A0jmp=A0=A0=A0 0x307949=20
&lt;spec_ioctl+201&gt;<br>
0x2fad97 &lt;VNOP_IOCTL+220&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%ebx<br>
0x2ef80f &lt;utf8_encodelen+1655&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%edi<br>
0x468cc5 &lt;fo_ioctl+63&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%esi<br>
0x4948a3 &lt;ioctl+1305&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%ebx<br>
0x4edaf8 &lt;unix_syscall64+617&gt;:=A0=A0 =A0mov=A0=A0=A0 %eax,%esi<br>
0x29f43d &lt;lo64_unix_scall+77&gt;:=A0=A0 =A0mov=A0=A0=A0 %edi,%esp<br><br=
>The=20
above works on a 32 bit linux machine (ubuntu) with the ppa binaries.<br><b=
r>Thanks

 for any help regarding this.<br><br>N. Bourbaki</div>

--0016e65b64e6d55361048cd673b9--