[OpenAFS] Re: AFS Perl module and threaded Perl
Russ Allbery
rra@stanford.edu
Fri, 03 Dec 2004 12:01:37 -0800
Norbert Gruener <nog@MPA-Garching.MPG.DE> writes:
> With this hint I tried to provoke the same error with the OpenAFS "vos"
> binary. Therefore I linked the OpenAFS "vos" binary against the
> "libpthread" library in order to force the "vos" binary to use the
> "threaded" version of the system function "longjmp". And, voila,... the
> "vos" binary crashed exactly at the same place.
> #0 0x400257c3 in pthread_cleanup_upto () from /lib/libpthread.so.0
> #1 0x40025874 in longjmp () from /lib/libpthread.so.0
> #2 0x08082aea in returnto ()
> #3 0x080825f1 in Dispatcher ()
> #4 0x08082a2d in savecontext ()
> #5 0x08082430 in Create_Process_Part2 ()
> #6 0x08082a79 in savecontext ()
> #7 0x08081e43 in LWP_CreateProcess ()
> #8 0x0808336b in IOMGR_Initialize ()
> #9 0x080814be in rxi_InitializeThreadSupport ()
> #10 0x0807470e in rx_Init ()
> #11 0x0805dad2 in vsu_ClientInit (...) at vsutils.c:407
> #12 0x0805101b in MyBeforeProc (as=0x80ab5e0, arock=0x0) at vos.c:4026
> #13 0x0806b045 in cmd_Dispatch ()
> #14 0x08052e3f in main (argc=3, argv=0xbffffa04) at vos.c:4282
> As you can see from the traces the "problem" is deep in the LWP package
> of OpenAFS. And my conclusion is that the "LWP" package and the
> "threaded" version of "longjmp" are not compatible. But I do not have
> any influence on this part of the code since this is deep in OpenAFS
> land. So all I can do is to state that the AFS::VOS module is not
> working when used with a "threaded" Perl version.
Well, I think the most basic question here is why is vsu_ClientInit
calling LWP_CreateProcess at all. Does the client really need to be
threaded?
Is someone who knows the OpenAFS code better than I able to fill us in off
the top of their head? Do the client binaries really use LWP threads to
handle the network conversations with the servers?
--
Russ Allbery (rra@stanford.edu) <http://www.eyrie.org/~eagle/>