Details
-
Bug
-
Resolution: Fixed
-
Major
-
possibly 0.4.9-dev-626-g3f15a0d https://github.com/reactos/reactos/commit/3f15a0d473ef745b9643a3497270c229814221d5 (not double-checked yet)
Description
Far manager tries to load a DLL during setup,
that will dynamically load apisets and starts calling them from DllMain.
Because it calls an unimplemented function, dll load fails, but we bail out with the loader lock held...
fixme:(R:\src\master\dll\win32\msi\dialog.c:4363) doing nothing
|
(R:\src\master\win32ss\user\ntuser\msgqueue.c:1541) err: Not the same cursor!
|
...
|
(R:\src\master\win32ss\user\ntuser\msgqueue.c:1541) err: Not the same cursor!
|
(R:\src\master\win32ss\user\ntuser\nonclient.c:1063) err: Wnd is active and not set active!
|
(R:\src\master\dll\ntdll\ldr\ldrutils.c:1334) LDR: LdrpMapDll Relocating Image Name C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msi3.tmp (10000000-1002B000 -> 00CB0000)
|
(R:\src\master\dll\ntdll\ldr\ldrutils.c:1373) Overlapping DLL: C:\ReactOS\system32\winspool.drv
|
(R:\src\master\dll\win32\kernel32\client\fiber.c:355) FlsAlloc: Got lpCallback 0x00CBDAE2, UNIMPLEMENTED!(R:\src\master\dll\win32\kernel32\client\fiber.c:355) FlsAlloc: Got lpCallback 0x00CC1F4E, UNIMPLEMENTED!WARNING: calling stub LCMapStringEx()
|
(R:\src\master\dll\win32\kernel32\client\except.c:736) Missing function in : api-ms-win-core-localization-l1-2-1.dll
|
(R:\src\master\dll\win32\kernel32\client\except.c:737) with the functionname : LCMapStringEx
|
(R:\src\master\dll\win32\kernel32\client\loader.c:384) LoadLibraryExW(C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msi3.tmp) failing with status 80000100
|
(R:\src\master\sdk\lib\rtl\error.c:78) no mapping for 80000100
|
err:(R:\src\master\dll\win32\msi\custom.c:270) failed to load dll L"C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\msi3.tmp" (317)
|
...
|
ERROR: RtlpWaitForCriticalSection at R:\src\master\sdk\lib\rtl\critical.c:172
|
Deadlock: 0x7C987F28
|
Break instruction exception - code 80000003 (first chance)
|
001b:7c92d3a2 cc int 3
|
kd> .reload /user
|
Loading User Symbols
|
................................................
|
kd> kp
|
ChildEBP RetAddr
|
00ddfbe4 7c939040 ntdll!DbgBreakPoint
|
00ddfc44 7c93892a ntdll!RtlpWaitForCriticalSection(struct _RTL_CRITICAL_SECTION * CriticalSection = 0x7c987f28)+0x100 [r:\src\master\sdk\lib\rtl\critical.c @ 172]
|
00ddfc54 7c92337f ntdll!RtlEnterCriticalSection(struct _RTL_CRITICAL_SECTION * CriticalSection = 0x7c987f28)+0x4a [r:\src\master\sdk\lib\rtl\critical.c @ 520]
|
00ddfc90 7c922fed ntdll!LdrLockLoaderLock(unsigned long Flags = 1, unsigned long * Disposition = 0x00000000, unsigned long * Cookie = 0x00ddfeb4)+0x11f [r:\src\master\dll\ntdll\ldr\ldrapi.c @ 257]
|
00ddfed0 7c76b22e ntdll!LdrLoadDll(wchar_t * SearchPathA = 0x00b19f50 "C:\ReactOS\system32;.;C:\ReactOS\System32;C:\ReactOS\system;C:\ReactOS;.;C:\ReactOS\bin;C:\ReactOS\System32;C:\ReactOS;C:\ReactOS\System32\Wbem", unsigned long * DllCharacteristics = 0x00ddff00, struct _UNICODE_STRING * DllName = 0x00ddfef4 "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msi3.tmp", void ** BaseAddress = 0x00ddff08)+0x9d [r:\src\master\dll\ntdll\ldr\ldrapi.c @ 355]
|
00ddff30 7c76b302 kernel32!LoadLibraryExW(wchar_t * lpLibFileName = 0x00b19154 "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msi3.tmp", void * hFile = 0x00000000, unsigned long dwFlags = 0)+0x1ce [r:\src\master\dll\win32\kernel32\client\loader.c @ 363]
|
00ddff44 781f500f kernel32!LoadLibraryW(wchar_t * lpLibFileName = 0x00b19154 "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msi3.tmp")+0x12 [r:\src\master\dll\win32\kernel32\client\loader.c @ 181]
|
00ddffa4 781f5e48 msi!ACTION_CallDllFunction(struct _GUID * guid = 0x00b248cc {4f51ebbe-21ad-4150-a044-a890ac97c21e})+0xcf [r:\src\master\dll\win32\msi\custom.c @ 571]
|
00ddffb8 7c779bd4 msi!DllThread(void * arg = 0x00b248cc)+0x68 [r:\src\master\dll\win32\msi\custom.c @ 627]
|
00ddffec 00000000 kernel32!BaseThreadStartup(<function> * lpStartAddress = 0x781f5de0, void * lpParameter = 0x00b248cc)+0x54 [r:\src\master\dll\win32\kernel32\client\thread.c @ 69]
|
|
We should fix 2 issues:
- Exception in DllMain cannot mean we hold the loader lock
- Export LCMapStringEx : https://git.reactos.org/?p=reactos.git;a=blob;f=dll/win32/kernel32/winnls/string/lang.c;hb=58b5cdc77c6bfdd1cae53706f35e9b75162c045b#l1492
Attachments
Issue Links
- blocks
-
CORE-13231 Support apisets/api-forwarders
- Resolved
- is blocked by
-
CORE-15043 Apisets Pseudo-Regression, Illuminati joke Program: Application exception occurred
- Resolved
-
CORE-14857 RtlImageNtHeaderEx needs SEH
- Resolved
- relates to
-
CORE-16631 Apisets, provide an option to limit what LDR makes visible to apps by default
- Resolved