[PATCH 2/2] msvcp90: Implement time_get<char> ctors and dtors (try 2)

Alexandre Julliard julliard at winehq.org
Wed Jul 1 01:35:50 CDT 2015


Daniel Lehman <dlehman at 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;

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list