[ros-bugs] [Bug 1321] New: BSOD in IntPrepareDriver
ReactOS.Bugzilla at reactos.org
ReactOS.Bugzilla at reactos.org
Sun Feb 26 00:51:11 CET 2006
http://www.reactos.org/bugzilla/show_bug.cgi?id=1321
Summary: BSOD in IntPrepareDriver
Product: ReactOS
Version: TRUNK
Platform: x86 Hardware
OS/Version: ReactOS
Status: NEW
Severity: normal
Priority: P3
Component: Kernel
AssignedTo: ros-bugs at reactos.org
ReportedBy: hpoussin at reactos.org
QAContact: ros-bugs at reactos.org
(revision 21185)
I sometimes have a BSOD in IntPrepareDriver with the following stack trace:
Entered debugger on last-chance exception number 14 (Page Fault)
Memory at 0x00000004 could not be read: Page not present.
Eip:
<win32k.sys:70deb (./subsystems/win32/win32k/objects/dc.c:578
(IntPrepareDriverIfNeeded))>
Frames:
<win32k.sys:89049 (./subsystems/win32/win32k/objects/dc.c:840 (IntGdiCreateDC))>
<win32k.sys:89554 (./subsystems/win32/win32k/objects/dc.c:1056 (NtGdiCreateIC))>
<ntoskrnl.exe:652d7 (ntoskrnl\ke\i386\trap.s:306 (KiFastCallEntry))>
<gdi32.dll:67ed (dll/win32/gdi32/objects/dc.c:132 (CreateICW))>
<USER32.dll:28179 (dll/win32/user32/windows/icon.c:574
(LookupIconIdFromDirectoryEx))>
<USER32.dll:1c33d (dll/win32/user32/windows/bitmap.c:239 (LoadImageW))>
<USER32.dll:1dded (dll/win32/user32/windows/cursor.c:263 (LoadCursorW))>
<comctl32.dll:2272 (dll/win32/comctl32/animate.c:963 (ANIMATE_Register))>
<comctl32.dll:62c9 (dll/win32/comctl32/commctrl.c:134 (DllMain))>
<ntdll.dll:26ea (dll/ntdll/ldr/utils.c:178 (LdrpCallDllEntry))>
<ntdll.dll:2b45 (dll/ntdll/ldr/utils.c:2584 (LdrpAttachProcess))>
<ntdll.dll:397b (dll/ntdll/ldr/utils.c:754 (LdrLoadDll))>
<KERNEL32.dll:11fb9 (./dll/win32/kernel32/misc/ldr.c:206 (LoadLibraryExW))>
<KERNEL32.dll:12001 (./dll/win32/kernel32/misc/ldr.c:154 (LoadLibraryW))>
<winmm.dll:160b (dll/win32/winmm/driver.c:255 (DRIVER_TryOpenDriver32))>
<winmm.dll:171b (dll/win32/winmm/driver.c:354 (OpenDriver))>
<winmm.dll:17f7 (dll/win32/winmm/driver.c:329 (OpenDriverA))>
<winmm.dll:295b (dll/win32/winmm/lolvldrv.c:643 (MMDRV_Install))>
<winmm.dll:2c79 (dll/win32/winmm/lolvldrv.c:745 (MMDRV_Init))>
<winmm.dll:85a1 (dll/win32/winmm/winmm.c:189 (DllMain))>
The offending code is:
PrimarySurface.PDev = PrimarySurface.DriverFunctions.EnablePDEV(
&PrimarySurface.DMW,
L"",
HS_DDI_MAX,
PrimarySurface.FillPatterns,
sizeof(PrimarySurface.GDIInfo),
(ULONG *) &PrimarySurface.GDIInfo,
sizeof(PrimarySurface.DevInfo),
&PrimarySurface.DevInfo,
NULL,
L"",
(HANDLE) (PrimarySurface.VideoFileObject->DeviceObject));
The problem is that PrimarySurface.VideoFileObject is NULL.
50 lines before, you have the following code:
/* Get the DDI driver's entry point */
DPRINT1("PrimarySurface.VideoFileObject %p\n",
PrimarySurface.VideoFileObject);
GDEnableDriver = DRIVER_FindDDIDriver(CurrentName);
DPRINT1("PrimarySurface.VideoFileObject %p\n",
PrimarySurface.VideoFileObject);
Here, PrimarySurface.VideoFileObject is not NULL in the 1st message, and NULL
in the 2nd one.
The culprit in DRIVER_FindDDIDriver may be:
/* If not, then load it */
RtlInitUnicodeString (&GdiDriverInfo.DriverName, (LPWSTR)FullName);
Status = ZwSetSystemInformation (SystemLoadGdiDriverInformation,
&GdiDriverInfo, sizeof(SYSTEM_GDI_DRIVER_INFORMATION));
I'm not sure of this because adding some debug output made the bug disappear...
--
Configure bugmail: http://www.reactos.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.
More information about the Ros-bugs
mailing list