Daniel Lehman dlehman@esri.com writes:
Try2:
- remove cast for Locinfo
- handle failed new()
- change 'unsigned int refs' to 'MSVCP_size_t refs' to match the rest of the file
It doesn't work here:
../../../tools/runtest -q -P wine -T ../../.. -M msvcp60.dll -p msvcp60_test.exe.so ios && touch ios.ok wine: Unhandled page fault on write access to 0xd8003304 at address 0x7bc4e659 (thread 0009), starting debugger... Unhandled exception: page fault on write access to 0xd8003304 in 32-bit code (0x7bc4e659). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7bc4e659 ESP:0032f4e4 EBP:0032f688 EFLAGS:00010216( R- -- I -A-P- ) EAX:d8003300 EBX:7bcc3540 ECX:00010000 EDX:75003300 ESI:00331c40 EDI:00000018 Stack dump: 0x0032f4e4: 00000000 0032f688 7bc4e4ab 00000000 0x0032f4f4: 00330000 00000000 00000000 00330000 0x0032f504: 00000000 00000002 00000014 00000000 0x0032f514: 7bc6b946 0032f540 00330014 00000000 0x0032f524: 7b8c57ac 0032f558 7bc6ad4a f7532361 0x0032f534: f75324a1 7ed54740 7bc6ad4a 7b810000 Backtrace: =>0 0x7bc4e659 RtlAllocateHeap+0x1e9(heap=<couldn't compute location>, flags=<couldn't compute location>, size=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/../../include/wine/list.h:100] in ntdll (0x0032f688) 1 0x7eceb358 msvcrt_heap_alloc+0x57() in msvcrt (0x0032f6b8) 2 0x7eceb51c MSVCRT_operator_new+0x4b() in msvcrt (0x0032f6d8) 3 0x7eba526d locale__Locimp__Makexloc+0x49c(locinfo=0x32f780, cat=0x3f, locimp=0x3316d8, loc=(nil)) [/home/julliard/wine/wine/dlls/msvcp60/../msvcp90/locale.c:10584] in msvcp60 (0x0032f72c) 4 0x7eba5707 locale__Locimp__Makeloc+0x56(locinfo=0x32f780, cat=0x3f, locimp=0x3316d8, loc=(nil)) [/home/julliard/wine/wine/dlls/msvcp60/../msvcp90/locale.c:10617] in msvcp60 (0x0032f75c) 5 0x7eba5aba locale_ctor_cstr+0xb9(this=0x32f840, locname="German", cat=0x3f) [/home/julliard/wine/wine/dlls/msvcp60/../msvcp90/locale.c:10791] in msvcp60 (0x0032f7dc) 6 0x7eff37a4 test_num_get_get_double+0x353() [/home/julliard/wine/wine/dlls/msvcp60/tests/ios.c:910] in msvcp60_test (0x0032fc78) 7 0x7eff7212 func_ios+0xd91() [/home/julliard/wine/wine/dlls/msvcp60/tests/ios.c:1645] in msvcp60_test (0x0032fd58) 8 0x7eff3063 main+0x352(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/msvcp60/tests/../../../include/wine/test.h:584] in msvcp60_test (0x0032fe08) 9 0x7effac1f __wine_spec_exe_entry+0x6e(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in msvcp60_test (0x0032fe58) 10 0x7b85b55c call_process_entry+0xb() in kernel32 (0x0032fe78) 11 0x7b85c4ea start_process+0x59(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1104] in kernel32 (0x0032fea8) 12 0x7bc7a0b0 call_thread_func_wrapper+0xb() in ntdll (0x0032fec8) 13 0x7bc7cdc1 call_thread_func+0xb0(entry=0x7b85c490, arg=0x7ffdf000, frame=0x32ffc8) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2732] in ntdll (0x0032ffa8) 14 0x7bc7a08e call_thread_entry_point+0x11() in ntdll (0x0032ffc8) 15 0x7bc51b87 start_process+0x16(kernel_start=0x7b85c490) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2868] in ntdll (0x0032ffe8) 16 0xf75fd21d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000) 17 0xf75fd380 wine_switch_to_stack+0x1f(func=0x7bc51b70, arg=0x7b85c490, stack=0x330000) [/home/julliard/wine/wine/libs/wine/port.c:59] in libwine.so.1 (0xffb94238) 18 0x7bc56ef1 LdrInitializeThunk+0x1f0(kernel_start=<couldn't compute location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute location>, unknown4=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/loader.c:2922] in ntdll (0xffb94278) 19 0x7b862213 __wine_kernel_init+0x9b2() [/home/julliard/wine/wine/dlls/kernel32/process.c:1276] in kernel32 (0xffb95168) 20 0x7bc57cb3 __wine_process_init+0x152() [/home/julliard/wine/wine/dlls/ntdll/loader.c:3131] in ntdll (0xffb951e8) 21 0xf75fae83 wine_init+0x2c2(argc=0x3, argv=0xffb95724, error="", error_size=0x400) [/home/julliard/wine/wine/libs/wine/loader.c:958] in libwine.so.1 (0xffb95238) 22 0x7bf00d6a main+0x79(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/loader/main.c:247] in <wine-loader> (0xffb95678) 23 0xf741ca63 __libc_start_main+0xf2() in libc.so.6 (0x00000000) 0x7bc4e659 RtlAllocateHeap+0x1e9 [/home/julliard/wine/wine/dlls/ntdll/../../include/wine/list.h:100] in ntdll: movl %edx,0x4(%eax) 100 elem->next->prev = elem->prev;