Hi,
I've add the following line to my test driver:
extern __attribute__((dllimport)) POBJECT_TYPE* ExEventObjectType;
DbgPrint("%x %x %x %x\n", ExEventObjectType, *(PULONG)ExEventObjectType, MmGetSystemRoutineAddress(&NameU), *(PULONG)MmGetSystemRoutineAddress(&NameU));
Running on W2K, I get this result:
GCC: 81ebd540 81ebd440 8047a888 81ebd540
MSVC: 8047a888 81ebd540 8047a888 81ebd540
Running on ROS:
GCC: c0692ef8 54545645 c00e0760 c0692ef8
MSVC: c00e0760 c0692ef8 c00e0760 c0692ef8
It seems that GCC and MSVC does handle imported data symbols different. In MSVC is an imported data symbol a pointer to the variable and in GCC the value of the variable.
- Hartmut
Hartmut Birr wrote:
It seems that GCC and MSVC does handle imported data symbols different. In MSVC is an imported data symbol a pointer to the variable and in GCC the value of the variable.
Perhaps GCC (LD) uses the same logic in Windows for DLLs it uses in Unix for shared objects (.so).
Emanuele
I started first wincmd 4.52, then dosbox 0.61 (in surface-mode). The first time I get a user-mode crash, the second-time I start dosbox I get a kernel-mode crash...
Compiled with optimze=1, DBG=1, oarch=i586 acpi=1
Log: DI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shlexec.c:1029:ShellExecuteExW32) flags ignored: 0x00000700 (NTDLL:ldr/utils.c:2059) Relocating (10000000 -> 20f1000) C:\Program Files\DOSBox-0.61\SDL_net.dll (NTDLL:ldr/utils.c:2059) Relocating (78000000 -> 2410000) C:\reactos\system32\dnsapi.dll (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\mmdrv.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'mmdrv.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\msacm32.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'msacm32.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\midimap.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'midimap.dll' (Status c0000043) (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'DDRAW.DLL' (Status c0000135) (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'DDRAW.DLL' (Status c0000135) GDI32: GetDeviceGammaRamp is unimplemented, please try again later. 0 bytes requested - initiating pool verification (KERNEL32:except/except.c:132) Unhandled exception (KERNEL32:except/except.c:133) Address: (KERNEL32:except/except.c:136) 1002e668 C:\Program Files\DOSBox-0.61\SDL.dll CS:EIP 1b:1002e668 DS 23 ES 23 FS 3b GS 23 EAX: 024433c8 EBX: 780184d9 ECX: 024433c8 EDX: 00000000 EBP: 0230fba8 ESI: 02443618 ESP: 0230fb90 EDI: 00461f88 EFLAGS: 00000246 (KERNEL32:except/except.c:139) Frames: (KERNEL32:except/except.c:147) 1002e895 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 10025d02 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 1000118c C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 100011c6 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 4689c5 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 485209 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 484bbb C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 40122d C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 401278 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 7c8279e1 C:\reactos\system32\kernel32.dll (ntuser/timer.c:157) Unable to locate timer in message queue GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (objects/gdiobj.c:864) Attempted to lock object 0x0 that is deleted! Frames: <win32k.sys: 3691d> <win32k.sys: 305b7> <ntoskrnl.exe: 3227> <gdi32.dll: 6277> (objects/gdiobj.c:864) Attempted to lock object 0x0 that is deleted! Frames: <win32k.sys: 3691d> <win32k.sys: 305b7> <ntoskrnl.exe: 3227> <gdi32.dll: 6277> (objects/gdiobj.c:901) Attempted to lock foreign handle: 0x40222, Owner: 0xa locked: 0x0 Caller: 0x8, stockobj: 0x0 Frames: <win32k.sys: 3691d> <win32k.sys: 36a55> <win32k.sys: 3c39a> <win32k.sys: 2d1ea> <win32k.sys: 2d40f> <win32k.sys: 2268c> win32k.sys: 23100 <win32k.sys: 28bd6> <win32k.sys: 26e15> <ntoskrnl.exe: 3227> <user32.dll: f877> (toolbar.c:411:TOOLBAR_GetImageListForDrawing) bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 1 GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shell32_main.c:402:SHGetFileInfoW) set icon to shell size, stub GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shlexec.c:1029:ShellExecuteExW32) flags ignored: 0x00000700 (NTDLL:ldr/utils.c:2059) Relocating (10000000 -> 20f1000) C:\Program Files\DOSBox-0.61\SDL_net.dll (NTDLL:ldr/utils.c:2059) Relocating (78000000 -> 2410000) C:\reactos\system32\dnsapi.dll (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\mmdrv.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'mmdrv.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\msacm32.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'msacm32.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\midimap.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'midimap.dll' (Status c0000043) (mm/rmap.c:411) Insert rmap (11, 0x014F2000) 0x055E7000 which doesn't match physical address 0x055E7000 KeBugCheck at mm/rmap.c:412 Bug detected (code 0 param 0 0 0 0) The bug code is undefined. Please use an existing code instead.
Frames: <ntoskrnl.exe: 9bc1> <ntoskrnl.exe: 9be7> <ntoskrnl.exe: 48d93> <ntoskrnl.exe: 4a9a4> <ntoskrnl.exe: 41e87> <ntoskrnl.exe: 8b55> <ntoskrnl.exe: 19bf> <ntoskrnl.exe: 2ec2> <dosbox.exe: 8211>
michael@fritscher.net wrote:
I started first wincmd 4.52, then dosbox 0.61 (in surface-mode). The first time I get a user-mode crash, the second-time I start dosbox I get a kernel-mode crash...
It happens with DOSBOX every time someone tries to start it. The actual code path is access fault on section view.
(mm/rmap.c:411) Insert rmap (11, 0x014F2000) 0x055E7000 which doesn't match physical address 0x055E7000
Note that the two address matches in the trace but not in the "if". I've tried to save the value in a variable and it IS really different at the time the "if" executes.
- Filip
Hi dosbox does not work yet in reactos it need GetDeviceGammaRamp api that is not implement yet in reactos
GDI32: GetDeviceGammaRamp is unimplemented, please try again later. 0 bytes requested - initiating pool verification
----- Original Message ----- From: michael@fritscher.net To: ros-dev@reactos.com Sent: Monday, January 03, 2005 11:33 PM Subject: [ros-dev] wincmd+dosbox.exe=crash
I started first wincmd 4.52, then dosbox 0.61 (in surface-mode). The first time I get a user-mode crash, the second-time I start dosbox I get a kernel-mode crash...
Compiled with optimze=1, DBG=1, oarch=i586 acpi=1
Log: DI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shlexec.c:1029:ShellExecuteExW32) flags ignored: 0x00000700 (NTDLL:ldr/utils.c:2059) Relocating (10000000 -> 20f1000) C:\Program Files\DOSBox-0.61\SDL_net.dll (NTDLL:ldr/utils.c:2059) Relocating (78000000 -> 2410000) C:\reactos\system32\dnsapi.dll (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\mmdrv.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'mmdrv.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\msacm32.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'msacm32.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\midimap.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'midimap.dll' (Status c0000043) (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'DDRAW.DLL' (Status c0000135) (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'DDRAW.DLL' (Status c0000135) GDI32: GetDeviceGammaRamp is unimplemented, please try again later. 0 bytes requested - initiating pool verification (KERNEL32:except/except.c:132) Unhandled exception (KERNEL32:except/except.c:133) Address: (KERNEL32:except/except.c:136) 1002e668 C:\Program Files\DOSBox-0.61\SDL.dll CS:EIP 1b:1002e668 DS 23 ES 23 FS 3b GS 23 EAX: 024433c8 EBX: 780184d9 ECX: 024433c8 EDX: 00000000 EBP: 0230fba8 ESI: 02443618 ESP: 0230fb90 EDI: 00461f88 EFLAGS: 00000246 (KERNEL32:except/except.c:139) Frames: (KERNEL32:except/except.c:147) 1002e895 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 10025d02 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 1000118c C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 100011c6 C:\Program Files\DOSBox-0.61\SDL.dll (KERNEL32:except/except.c:147) 4689c5 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 485209 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 484bbb C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 40122d C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 401278 C:\Program Files\DOSBox-0.61\dosbox.exe (KERNEL32:except/except.c:147) 7c8279e1
C:\reactos\system32\kernel32.dll
(ntuser/timer.c:157) Unable to locate timer in message queue GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (objects/gdiobj.c:864) Attempted to lock object 0x0 that is deleted! Frames: <win32k.sys: 3691d> <win32k.sys: 305b7> <ntoskrnl.exe: 3227> <gdi32.dll: 6277> (objects/gdiobj.c:864) Attempted to lock object 0x0 that is deleted! Frames: <win32k.sys: 3691d> <win32k.sys: 305b7> <ntoskrnl.exe: 3227> <gdi32.dll: 6277> (objects/gdiobj.c:901) Attempted to lock foreign handle: 0x40222, Owner: 0xa locked: 0x0 Caller: 0x8, stockobj: 0x0 Frames: <win32k.sys: 3691d> <win32k.sys: 36a55> <win32k.sys: 3c39a> <win32k.sys: 2d1ea> <win32k.sys: 2d40f> <win32k.sys: 2268c> win32k.sys: 23100 <win32k.sys: 28bd6> <win32k.sys: 26e15> <ntoskrnl.exe: 3227> <user32.dll: f877> (toolbar.c:411:TOOLBAR_GetImageListForDrawing) bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 1 GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shell32_main.c:402:SHGetFileInfoW) set icon to shell size, stub GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. GDI32: UnrealizeObject is unimplemented, please try again later. (shlexec.c:1029:ShellExecuteExW32) flags ignored: 0x00000700 (NTDLL:ldr/utils.c:2059) Relocating (10000000 -> 20f1000) C:\Program Files\DOSBox-0.61\SDL_net.dll (NTDLL:ldr/utils.c:2059) Relocating (78000000 -> 2410000) C:\reactos\system32\dnsapi.dll (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\mmdrv.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'mmdrv.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\msacm32.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'msacm32.dll' (Status c0000043) (NTDLL:ldr/utils.c:627) Dll open of ??\C:\reactos\system32\midimap.dll failed: Status = 0xc0000043 (NTDLL:ldr/utils.c:2018) Failed to create or open dll section of 'midimap.dll' (Status c0000043) (mm/rmap.c:411) Insert rmap (11, 0x014F2000) 0x055E7000 which doesn't match physical address 0x055E7000 KeBugCheck at mm/rmap.c:412 Bug detected (code 0 param 0 0 0 0) The bug code is undefined. Please use an existing code instead.
Frames: <ntoskrnl.exe: 9bc1> <ntoskrnl.exe: 9be7> <ntoskrnl.exe: 48d93> <ntoskrnl.exe: 4a9a4> <ntoskrnl.exe: 41e87> <ntoskrnl.exe: 8b55> <ntoskrnl.exe: 19bf> <ntoskrnl.exe: 2ec2> <dosbox.exe: 8211>
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev