Dodazzo
22-08-2008, 01:11
Salve a tutti, riassumo brevemente il problema :
Da alcuni giorni, quando avvio software pesanti dal punto di vista grafico spesso mi capita la schermata blu con relativo errore del tipo "0x0000009c" ecc.
Salvando il minidump e analizzandolo sembra che il problema sia relativo al file ati2mtag.sys. Essendo relativo alla scheda video (Ati Radeon x1950 GT) ho provato inizialmente ad aggiornare i driver all'ultima versione di agosto e infine a provare dei driver del dicembre scorso. Non è cambiato nulla. Domani ho intenzione di provare un'altra scheda video per provare a vedere se cambia qualcosa ma nel frattempo volevo avere qualche consiglio da voi.
Nel frattempo allego il codice del file dump relativo all'errore.
Use !analyze -v to get detailed debugging information.
BugCheck 100000EA, {88eaeda8, 89053340, ba4d3cb4, 1}
*** WARNING: Unable to verify timestamp for ati2cqag.dll
Probably caused by : ati2mtag.sys ( ati2mtag!vGetDalRules+45 )
Followup: MachineOwner
---------
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
THREAD_STUCK_IN_DEVICE_DRIVER_M (100000ea)
The device driver is spinning in an infinite loop, most likely waiting for
hardware to become idle. This usually indicates problem with the hardware
itself or with the device driver programming the hardware incorrectly.
If the kernel debugger is connected and running when watchdog detects a
timeout condition then DbgBreakPoint() will be called instead of KeBugCheckEx()
and detailed message including bugcheck arguments will be printed to the
debugger. This way we can identify an offending thread, set breakpoints in it,
and hit go to return to the spinning code to debug it further. Because
KeBugCheckEx() is not called the .bugcheck directive will not return bugcheck
information in this case. The arguments are already printed out to the kernel
debugger. You can also retrieve them from a global variable via
"dd watchdog!g_WdBugCheckData l5" (use dq on NT64).
On MP machines it is possible to hit a timeout when the spinning thread is
interrupted by hardware interrupt and ISR or DPC routine is running at the time
of the bugcheck (this is because the timeout's work item can be delivered and
handled on the second CPU and the same time). If this is the case you will have
to look deeper at the offending thread's stack (e.g. using dds) to determine
spinning code which caused the timeout to occur.
Arguments:
Arg1: 88eaeda8, Pointer to a stuck thread object. Do .thread then kb on it to find
the hung location.
Arg2: 89053340, Pointer to a DEFERRED_WATCHDOG object.
Arg3: ba4d3cb4, Pointer to offending driver name.
Arg4: 00000001, Number of times "intercepted" bugcheck 0xEA was hit (see notes).
Debugging Details:
------------------
FAULTING_THREAD: 88eaeda8
DEFAULT_BUCKET_ID: GRAPHICS_DRIVER_FAULT
CUSTOMER_CRASH_COUNT: 1
BUGCHECK_STR: 0xEA
PROCESS_NAME: WAR.exe
LAST_CONTROL_TRANSFER: from b99e4d99 to 80540a7f
STACK_TEXT:
aa70557c b99e4d99 badb0d00 00000100 00000246 nt!RtlIpv6StringToAddressW+0x1bc
aa705650 b9993600 aa705668 00000049 ba262ca6 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x1a0d99)
aa705678 b9993aef 895f0c90 aa7056a8 895f0c90 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14f600)
aa7056b8 b9993b7f 11010000 895f0d90 00000200 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14faef)
aa7056e8 b984e433 e143d008 895e7350 e16115c0 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14fb7f)
aa7056fc b984eff7 895e7350 aa70589c 895e7350 ati2mtag!vGetDalRules+0x45
aa705710 bf08cdaf 895e7350 895e7350 aa705734 ati2mtag!vGetDefaultMode+0x19d
aa705718 895e7350 aa705734 7fffffff e1800000 ati2cqag!aPM4_Microcode_R400+0x3ee7
WARNING: Frame IP not in any known module. Following frames may be wrong.
aa70571c aa705734 7fffffff e1800000 e1800414 0x895e7350
aa705720 7fffffff e1800000 e1800414 00000000 0xaa705734
aa705734 aa70573c 00000160 00007e00 0c000000 0x7fffffff
aa705738 00000000 00007e00 0c000000 0ab5e000 0xaa70573c
STACK_COMMAND: .thread 0xffffffff88eaeda8 ; kb
FOLLOWUP_IP:
ati2mtag!vGetDalRules+45
b984e433 ?? ???
SYMBOL_STACK_INDEX: 5
SYMBOL_NAME: ati2mtag!vGetDalRules+45
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ati2mtag
IMAGE_NAME: ati2mtag.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 489291cb
FAILURE_BUCKET_ID: 0xEA_IMAGE_ati2mtag.sys_DATE_2008_08_01
BUCKET_ID: 0xEA_IMAGE_ati2mtag.sys_DATE_2008_08_01
Followup: MachineOwner
---------
Vi ringrazio infinitamente ;)
Edoardo
Da alcuni giorni, quando avvio software pesanti dal punto di vista grafico spesso mi capita la schermata blu con relativo errore del tipo "0x0000009c" ecc.
Salvando il minidump e analizzandolo sembra che il problema sia relativo al file ati2mtag.sys. Essendo relativo alla scheda video (Ati Radeon x1950 GT) ho provato inizialmente ad aggiornare i driver all'ultima versione di agosto e infine a provare dei driver del dicembre scorso. Non è cambiato nulla. Domani ho intenzione di provare un'altra scheda video per provare a vedere se cambia qualcosa ma nel frattempo volevo avere qualche consiglio da voi.
Nel frattempo allego il codice del file dump relativo all'errore.
Use !analyze -v to get detailed debugging information.
BugCheck 100000EA, {88eaeda8, 89053340, ba4d3cb4, 1}
*** WARNING: Unable to verify timestamp for ati2cqag.dll
Probably caused by : ati2mtag.sys ( ati2mtag!vGetDalRules+45 )
Followup: MachineOwner
---------
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
THREAD_STUCK_IN_DEVICE_DRIVER_M (100000ea)
The device driver is spinning in an infinite loop, most likely waiting for
hardware to become idle. This usually indicates problem with the hardware
itself or with the device driver programming the hardware incorrectly.
If the kernel debugger is connected and running when watchdog detects a
timeout condition then DbgBreakPoint() will be called instead of KeBugCheckEx()
and detailed message including bugcheck arguments will be printed to the
debugger. This way we can identify an offending thread, set breakpoints in it,
and hit go to return to the spinning code to debug it further. Because
KeBugCheckEx() is not called the .bugcheck directive will not return bugcheck
information in this case. The arguments are already printed out to the kernel
debugger. You can also retrieve them from a global variable via
"dd watchdog!g_WdBugCheckData l5" (use dq on NT64).
On MP machines it is possible to hit a timeout when the spinning thread is
interrupted by hardware interrupt and ISR or DPC routine is running at the time
of the bugcheck (this is because the timeout's work item can be delivered and
handled on the second CPU and the same time). If this is the case you will have
to look deeper at the offending thread's stack (e.g. using dds) to determine
spinning code which caused the timeout to occur.
Arguments:
Arg1: 88eaeda8, Pointer to a stuck thread object. Do .thread then kb on it to find
the hung location.
Arg2: 89053340, Pointer to a DEFERRED_WATCHDOG object.
Arg3: ba4d3cb4, Pointer to offending driver name.
Arg4: 00000001, Number of times "intercepted" bugcheck 0xEA was hit (see notes).
Debugging Details:
------------------
FAULTING_THREAD: 88eaeda8
DEFAULT_BUCKET_ID: GRAPHICS_DRIVER_FAULT
CUSTOMER_CRASH_COUNT: 1
BUGCHECK_STR: 0xEA
PROCESS_NAME: WAR.exe
LAST_CONTROL_TRANSFER: from b99e4d99 to 80540a7f
STACK_TEXT:
aa70557c b99e4d99 badb0d00 00000100 00000246 nt!RtlIpv6StringToAddressW+0x1bc
aa705650 b9993600 aa705668 00000049 ba262ca6 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x1a0d99)
aa705678 b9993aef 895f0c90 aa7056a8 895f0c90 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14f600)
aa7056b8 b9993b7f 11010000 895f0d90 00000200 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14faef)
aa7056e8 b984e433 e143d008 895e7350 e16115c0 ati2mtag!_NULL_IMPORT_DESCRIPTOR <PERF> (ati2mtag+0x14fb7f)
aa7056fc b984eff7 895e7350 aa70589c 895e7350 ati2mtag!vGetDalRules+0x45
aa705710 bf08cdaf 895e7350 895e7350 aa705734 ati2mtag!vGetDefaultMode+0x19d
aa705718 895e7350 aa705734 7fffffff e1800000 ati2cqag!aPM4_Microcode_R400+0x3ee7
WARNING: Frame IP not in any known module. Following frames may be wrong.
aa70571c aa705734 7fffffff e1800000 e1800414 0x895e7350
aa705720 7fffffff e1800000 e1800414 00000000 0xaa705734
aa705734 aa70573c 00000160 00007e00 0c000000 0x7fffffff
aa705738 00000000 00007e00 0c000000 0ab5e000 0xaa70573c
STACK_COMMAND: .thread 0xffffffff88eaeda8 ; kb
FOLLOWUP_IP:
ati2mtag!vGetDalRules+45
b984e433 ?? ???
SYMBOL_STACK_INDEX: 5
SYMBOL_NAME: ati2mtag!vGetDalRules+45
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ati2mtag
IMAGE_NAME: ati2mtag.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 489291cb
FAILURE_BUCKET_ID: 0xEA_IMAGE_ati2mtag.sys_DATE_2008_08_01
BUCKET_ID: 0xEA_IMAGE_ati2mtag.sys_DATE_2008_08_01
Followup: MachineOwner
---------
Vi ringrazio infinitamente ;)
Edoardo