Segmentation fault after new wine update and install
vberon at mecano.gme.usherb.ca
Wed Sep 10 10:52:23 CDT 2003
Le mer 10/09/2003 à 11:13, Vincent Béron a écrit :
> Le mar 09/09/2003 à 12:34, Juraj Hercek a écrit :
> > I've fixed the error on my side with
> > WINEDLLPATH="/usr/local/lib/wine:.". Anyways I think it's a workaround
> > not a solution... Since I don't know much about initialization, I would
> > leave the real fix for someone more skillful.
> It seems like if WINEDLLPATH is set, Wine dlls are only searched for in
> it and nowhere else. I'll verify if that's the case or not, but that's
> my gut feeling for now. Is it the behaviour we want?
Further investigation reveals that the problem lies in kernel32.dll.so
not being loaded yet when ntdll.dll.so fails to be found in
pthread_init (from kernel32.dll.so) must be called to initialize the
various pthread functions used by Wine.
Would it be acceptable to swap the following 2 lines in wine_init (sorry
about the wrapping):
if (!(ntdll = dlopen_dll( "ntdll.dll", error, error_size, 0,
&file_exists ))) return;
if (!dlopen_dll( "kernel32.dll", error, error_size, 0, &file_exists ))
so kernel32.dll is opened before ntdll.dll, or is there a dependency
from kernel32.dll to ntdll.dll?
Or is it possible to move the pthread_init function elsewhere, to
someplace called before ntdll.dll is loaded?
More information about the wine-devel