Cedric Pradalier
2007-Jan-12 22:41 UTC
[Wine] Larousse Multilingue: stack overflow in exception handler ?
Hi all, I'm trying to run the Larousse Multilingue Dictionnary pack. I've tried to run it under wine 0.9.17 (from codeweaver), 0.9.25 (from debian testing) 0.9.28 (from debian unstable) and 0.9.29 (from source). My wine setting is functional since I can use an older Larousse dictionnary (Bibliorom), no problem at all for any of the versions above. I downloaded a (legal) version of the software from the editor website, used wine to install an image of the DVD in a directory in program files, then wine in this directory to install the dictionaries and IE6. With codeweaver's version, the installer failed midway because of a "%SystemDrive%" not interpreted in the registry. After replacing all instances by "C:" it worked. Now when starting the installed executable the first time, it brings forward a window where to enter a registration code. This only worked with "WINEDEBUG=warn+all". A timing issue I guess... After validating the serial number, the dictionaries raised a segfault at all my trials, but the registration worked since it does not bring the registration window anymore. After some investigation, the segfault is due to a stack overflow in an exception handler. I can't know for sure, but this look like a recursive loop to me. At the end of this mail, I attach the last function called, and then the first recursive call. This goes until segfault, adding one pair of these line at a time... 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 I've tried running with winedbg but the dictionnary popup some nice windows to explain me that it can't run in a debugger. I don't really know where to go from there. Any idea? I can't decide if this is a wine bug (that I shall report then) or an error in my configuration... Thanks for any insight... [...] 0009:Call kernel32.GetVolumeInformationA(013103fc "c:\\",00000000,00000000,01220148,00000000,00000000,00000000,00000000) ret=00653bcd 0009:Call ntdll.RtlInitAnsiString(0034fb24,013103fc "c:\\") ret=7b841acf 0009:Ret ntdll.RtlInitAnsiString() retval=00000004 ret=7b841acf 0009:Call ntdll.RtlAnsiStringToUnicodeString(7ffdcbf8,0034fb24,00000000) ret=7b841b48 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7b841b48 0009:trace:file:CreateFileW L"\\\\.\\c:" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x0 0009:Call ntdll.RtlDosPathNameToNtPathName_U(0034fb16 L"\\\\.\\c:",0034ef80,00000000,00000000) ret=7b843ca3 0009:trace:file:RtlDosPathNameToNtPathName_U (L"\\\\.\\c:",0x34ef80,(nil),(nil)) 0009:trace:file:RtlGetFullPathName_U (L"\\\\.\\c:" 520 0x34ec64 (nil)) 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,0000001c): returning 0x18d978 0009:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=7b843ca3 0009:Call ntdll.NtCreateFile(0034ef88,80000000,0034ef60,0034ef78,00000000,00000000,00000003,00000001,00000050,00000000,00000000) ret=7b843d92 0009:trace:ntdll:NtCreateFile handle=0x34ef88 access=80000000 name=L"\\??\\c:" objattr=00000040 root=(nil) sec=(nil) io=0x34ef78 alloc_size=(nil) attr=00000000 sharing=00000003 disp=1 options=00000050 ea=(nil).0x00000000 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,0000002e): returning 0x18d9a0 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d9a0): returning TRUE 0009: open_file_object( access=80000000, attributes=00000040, rootdir=(nil), sharing=00000003, filename=L"\\??\\c:" ) 0009: open_file_object() = OBJECT_NAME_NOT_FOUND { handle=(nil) } 0009:Ret ntdll.NtCreateFile() retval=c0000034 ret=7b843d92 0009:warn:file:CreateFileW Unable to create file L"\\\\.\\c:" (status c0000034) 0009:Call ntdll.RtlNtStatusToDosError(c0000034) ret=7b843e6d 0009:Ret ntdll.RtlNtStatusToDosError() retval=00000002 ret=7b843e6d 0009:Call ntdll.RtlFreeUnicodeString(0034ef80) ret=7b843dd5 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d978): returning TRUE 0009:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=7b843dd5 0009:trace:file:CreateFileW returning 0xffffffff 0009:trace:volume:GetVolumeInformationW cannot open device L"\\\\.\\c:": err 2 0009:Call ntdll.RtlDosPathNameToNtPathName_U(7ffdcc00 L"c:\\",0034ecd4,00000000,00000000) ret=7b8925bf 0009:trace:file:RtlDosPathNameToNtPathName_U (L"c:\\",0x34ecd4,(nil),(nil)) 0009:trace:file:RtlGetFullPathName_U (L"c:\\" 520 0x34e9f4 (nil)) 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000016): returning 0x18d978 0009:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=7b8925bf 0009:Call ntdll.NtOpenFile(0034ef88,00000000,0034ecb4,0034eccc,00000000,00000021) ret=7b892631 0009:trace:ntdll:NtCreateFile handle=0x34ef88 access=00000000 name=L"\\??\\C:\\" objattr=00000040 root=(nil) sec=(nil) io=0x34eccc alloc_size=(nil) attr=00000000 sharing=00000000 disp=1 options=00000021 ea=(nil).0x00000000 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000131): returning 0x18d998 0009:trace:file:wine_nt_to_unix_file_name L"\\??\\C:\\" -> "/home/pradalie/.cxoffice/winxp/dosdevices/c:/" 0009: create_file( access=00000000, attributes=00000040, sharing=00000000, create=1, options=00000021, attrs=00000000, filename="/home/pradalie/.cxoffice/winxp/dosdevices/c:/" ) 0009: create_file() = 0 { handle=0x9c } 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d998): returning TRUE 0009:Ret ntdll.NtOpenFile() retval=00000000 ret=7b892631 0009:Call ntdll.RtlFreeUnicodeString(0034ecd4) ret=7b89263e 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d978): returning TRUE 0009:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=7b89263e 0009:Call ntdll.NtQueryVolumeInformationFile(0000009c,0034ef68,0034ef70,00000008,00000004) ret=7b893bed 0009: get_handle_fd( handle=0x9c, access=00000000, cached=0 ) 0009: *fd* 0x9c -> 48 0009: get_handle_fd() = 0 { type=2, flags=0 } 0009:trace:server:add_fd_to_cache added 0x9c (20) type 2 to cache 0009:Ret ntdll.NtQueryVolumeInformationFile() retval=00000000 ret=7b893bed 0009:Call ntdll.NtClose(0000009c) ret=7b893bfd 0009: close_handle( handle=0x9c ) 0009: close_handle() = 0 0009:trace:server:server_remove_fd_from_cache removed 0x9c (20) from cache 0009:Ret ntdll.NtClose() retval=00000000 ret=7b893bfd 0009:Call ntdll.RtlInitUnicodeString(0034ef60,7b8a6ce0 L"Machine\\Software\\Wine\\Drives") ret=7b893cbd 0009:Ret ntdll.RtlInitUnicodeString() retval=0000003a ret=7b893cbd 0009:Call ntdll.NtOpenKey(0034ef84,000f003f,0034ef48) ret=7b893cdb 0009:trace:reg:NtOpenKey ((nil),L"Machine\\Software\\Wine\\Drives",f003f,0x34ef84) 0009: open_key( parent=(nil), access=000f003f, attributes=00000000, name=L"Machine\\Software\\Wine\\Drives" ) 0009: open_key() = 0 { hkey=0x9c } 0009:trace:reg:NtOpenKey <- 0x9c 0009:Ret ntdll.NtOpenKey() retval=00000000 ret=7b893cdb 0009:Call ntdll.RtlInitUnicodeString(0034ef60,0034ef7a L"c:") ret=7b893d0f 0009:Ret ntdll.RtlInitUnicodeString() retval=00000006 ret=7b893d0f 0009:Call ntdll.NtQueryValueKey(0000009c,0034ef60,00000002,0034ef18,00000030,0034ef80) ret=7b893d3c 0009:trace:reg:NtQueryValueKey (0x9c,L"c:",2,0x34ef18,48) 0009: get_key_value( hkey=0x9c, name=L"c:" ) 0009: get_key_value() = 0 { type=1, total=6, data={68,00,64,00,00,00} } 0009:Ret ntdll.NtQueryValueKey() retval=00000000 ret=7b893d3c 0009:Call ntdll.NtClose(0000009c) ret=7b893df4 0009: close_handle( handle=0x9c ) 0009: close_handle() = 0 0009:Ret ntdll.NtClose() retval=00000000 ret=7b893df4 0009:trace:volume:GetDriveTypeW L"c:\\" -> 3 0009:trace:file:CreateFileW L"c:\\.windows-serial" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x0 0009:Call ntdll.RtlIsDosDeviceName_U(0034f7f2 L"c:\\.windows-serial") ret=7b843c04 0009:Ret ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=7b843c04 0009:Call ntdll.RtlDosPathNameToNtPathName_U(0034f7f2 L"c:\\.windows-serial",0034ef80,00000000,00000000) ret=7b843ca3 0009:trace:file:RtlDosPathNameToNtPathName_U (L"c:\\.windows-serial",0x34ef80,(nil),(nil)) 0009:trace:file:RtlGetFullPathName_U (L"c:\\.windows-serial" 520 0x34ec64 (nil)) 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000034): returning 0x18d978 0009:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=7b843ca3 0009:Call ntdll.NtCreateFile(0034ef88,80000000,0034ef60,0034ef78,00000000,00000000,00000003,00000001,00000050,00000000,00000000) ret=7b843d92 0009:trace:ntdll:NtCreateFile handle=0x34ef88 access=80000000 name=L"\\??\\C:\\.windows-serial" objattr=00000040 root=(nil) sec=(nil) io=0x34ef78 alloc_size=(nil) attr=00000000 sharing=00000003 disp=1 options=00000050 ea=(nil).0x00000000 0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000140): returning 0x18d9b8 0009:trace:file:wine_nt_to_unix_file_name L"\\??\\C:\\.windows-serial" -> "/home/pradalie/.cxoffice/winxp/dosdevices/c:/.windows-serial" 0009: create_file( access=80000000, attributes=00000040, sharing=00000003, create=1, options=00000050, attrs=00000000, filename="/home/pradalie/.cxoffice/winxp/dosdevices/c:/.windows-serial" ) 0009: create_file() = 0 { handle=0x9c } 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d9b8): returning TRUE 0009:Ret ntdll.NtCreateFile() retval=00000000 ret=7b843d92 0009:Call ntdll.RtlFreeUnicodeString(0034ef80) ret=7b843dd5 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x18d978): returning TRUE 0009:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=7b843dd5 0009:trace:file:CreateFileW returning 0x9c 0009:trace:file:ReadFile 0x9c 0x34eff2 31 0x34fb24 (nil) 0009:Call ntdll.NtReadFile(0000009c,00000000,00000000,00000000,0034ef78,0034eff2,0000001f,00000000,00000000) ret=7b84329f 0009:trace:ntdll:NtReadFile (0x9c,(nil),(nil),(nil),0x34ef78,0x34eff2,0x0000001f,(nil),(nil)),partial stub! 0009: get_handle_fd( handle=0x9c, access=00000001, cached=0 ) 0009: *fd* 0x9c -> 48 0009: get_handle_fd() = 0 { type=1, flags=0 } 0009:trace:server:add_fd_to_cache added 0x9c (20) type 1 to cache 0009:trace:ntdll:NtReadFile = 0x00000000 (9) 0009:Ret ntdll.NtReadFile() retval=00000000 ret=7b84329f 0009:Call ntdll.NtClose(0000009c) ret=7b86e635 0009: close_handle( handle=0x9c ) 0009: close_handle() = 0 0009:trace:server:server_remove_fd_from_cache removed 0x9c (20) from cache 0009:Ret ntdll.NtClose() retval=00000000 ret=7b86e635 0009:Call ntdll.RtlFreeHeap(00110000,00000000,00000000) ret=7b84b76b 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7b84b76b 0009:Call ntdll.RtlFreeHeap(00110000,00000000,00000000) ret=7b84b76b 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7b84b76b 0009:Ret kernel32.GetVolumeInformationA() retval=00000001 ret=00653bcd 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=(nil) 0009:trace:seh:raise_exception info[0]=00000000 0009:trace:seh:raise_exception info[1]=00000000 0009:trace:seh:raise_exception eax=01426eec ebx=013a017c ecx=0000000c edx=07800001 esi=005440d8 edi=01220000 0009:trace:seh:raise_exception ebp=000000a0 esp=0034fc1c cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210206 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=0 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034f798 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034f314 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034ee90 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034ea0c cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034e588 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034e104 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x1281d64 code=c0000005 flags=10 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x52b75f 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00000024 0009:trace:seh:raise_exception eax=00000009 ebx=00000000 ecx=c026075f edx=0000285b esi=00000000 edi=01220000 0009:trace:seh:raise_exception ebp=00000000 esp=0034dc80 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210217 0009:Call ntdll.RtlEnterCriticalSection(7e594ae0) ret=7e5408f1 0009:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=7e5408f1 0009:Call ntdll.RtlLeaveCriticalSection(7e594ae0) ret=7e540932 0009:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7e540932 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 0009:trace:seh:call_stack_handlers handler at 0x7bc2f440 returned 2 0009:trace:seh:call_stack_handlers calling handler at 0x7bc2f440 code=c0000005 flags=10 [...] Segfault -- Cedric