Unanswered AP run system WHQL test fail on BSOD 0xA3

  • יום שישי 04 מאי 2012 05:11
     
     

    Dear all,

    I had a driver and had WHQL sign now.

    I wrote a AP to call the driver, and use visuall studio to package the ap.

    After I install the AP and test Sleep stress with IO on DTM, the system will be BSOD 0xA3.

    below is a part to the AP code ,and I don't know what the problem is.

    Could you help to list problem?

    void GetDriver()
    {
    hdevice = CreateFile(TEXT(\\\\.\\my_driver), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hdevice == INVALID_HANDLE_VALUE)
    {
      printf("Unable to open ext_acpi device - error %d %d\n", GetLastError(),hdevice);
      return ;
    }

    hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

      if (!DeviceIoControl(hdevice,IOCTL_REGISTER_EVENT, &hEvent, sizeof(hEvent), NULL, 0, &junk, NULL))
    {
      printf("Error %d in IOCTL_REGISTER_EVENT call\n", GetLastError());
      CloseHandle(hEvent);
      CloseHandle(hdevice);
      return ;
    }

כל התגובות

  • יום שישי 04 מאי 2012 04:10
     
     

    Dear all,

    I had a driver and had WHQL sign now.

    I wrote a AP to call the driver, and use visuall studio to package the ap.

    After I install the AP and test Sleep stress with IO on DTM, the system will be BSOD 0xA3.

    below is a part to the AP code ,and I don't know what the problem is.

    Could you help to list problem?

    void GetDriver()
    {
     hdevice = CreateFile(TEXT(\\\\.\\my_driver), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
     if (hdevice == INVALID_HANDLE_VALUE)
     {
      printf("Unable to open ext_acpi device - error %d %d\n", GetLastError(),hdevice);
      return ;
     }

     hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

      if (!DeviceIoControl(hdevice,IOCTL_REGISTER_EVENT, &hEvent, sizeof(hEvent), NULL, 0, &junk, NULL))
     {
      printf("Error %d in IOCTL_REGISTER_EVENT call\n", GetLastError());
      CloseHandle(hEvent);
      CloseHandle(hdevice);
      return ;
     }

  • יום שישי 04 מאי 2012 04:36
     
     

    Your question is better in the WDK section, not the VC++general section:

    http://social.msdn.microsoft.com/Forums/en-US/wdk/threads

  • יום שישי 04 מאי 2012 05:57
    בעלים
     
     
    post the output of !analyze -v, make sure your symbols are set up properly

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

  • יום שישי 04 מאי 2012 08:22
     
     

    ext_acpi is my driver's name.

    Below is the dump file. What could I do to fix the problem?

    Symbol search path is: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
    Executable search path is:
    Windows 7 Kernel Version 7601 (Service Pack 1) MP (8 procs) Free x86 compatible
    Product: WinNt, suite: TerminalServer SingleUserTS
    Built by: 7601.17514.x86fre.win7sp1_rtm.101119-1850
    Kernel base = 0x82c44000 PsLoadedModuleList = 0x82d8e850
    Debug session time: Tue Apr 24 16:16:00.886 2012 (GMT+8)
    System Uptime: 0 days 0:01:05.760
    Loading Kernel Symbols
    .........................................................................................................................................................
    Loading User Symbols
    Loading unloaded module list
    ....
    6: kd> !analyze -v
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************

    ACPI_DRIVER_INTERNAL (a3)
    The ACPI Driver detected an internal inconsistency. The inconsistency is
    so severe that continuing to run would cause serious problems.
    The ACPI driver calls this when the state is so inconsistent that proceeding
    would actually be dangerous. The problem may or may not be a BIOS issue, but
    there is no way to tell.
    Arguments:
    Arg1: 00000002
    Arg2: 00090138
    Arg3: 8b7f6af0
    Arg4: 8b7f6ba8

    Debugging Details:
    ------------------

    Unable to load image \SystemRoot\system32\DRIVERS\ext_acpi.sys, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ext_acpi.sys
    *** ERROR: Module load completed but symbols could not be loaded for ext_acpi.sys

    DEFAULT_BUCKET_ID:  VERIFIER_ENABLED_VISTA_MINIDUMP

    BUGCHECK_STR:  0xA3

    PROCESS_NAME:  PR-M_sensor.ex

    CURRENT_IRQL:  2

    LAST_CONTROL_TRANSFER:  from 85aa6489 to 82d22f20

    STACK_TEXT: 
    c2f3ea0c 85aa6489 000000a3 00000002 00090138 nt!KeBugCheckEx+0x1e
    c2f3ea28 85aadd42 00090138 8b7f6af0 8b7f6ba8 ACPI!_ACPIInternalErrorEx+0x1b
    c2f3ea48 85ab07c7 8b7f6af0 c2f3ea60 85ab27ad ACPI!ACPIInternalGetDeviceExtension+0x36
    c2f3ea54 85ab27ad 8b7f6af0 c2f3ea8c 85ba2391 ACPI!OSPowerFindPowerInfoByContext+0xd
    c2f3ea60 85ba2391 8b7f6af0 85ba244a 8b7f6848 ACPI!ACPIRegisterForDeviceNotifications+0xd
    WARNING: Stack unwind information not available. Following frames may be wrong.
    c2f3ea8c 82f756c3 00000004 00000000 c993efd4 ext_acpi+0x1391
    c2f3eab0 82c7b54a 00000000 c993eff8 8b7f6790 nt!IovCallDriver+0x258
    c2f3eac4 82f873d0 c41fd280 c993ef00 8b7f6618 nt!IofCallDriver+0x1b
    c2f3eadc 82f756c3 8b7f66d0 c993ef00 c78498d8 nt!ViFilterDispatchGeneric+0x5e
    c2f3eb00 82c7b54a 00000000 c993ef00 8b7f6618 nt!IovCallDriver+0x258
    c2f3eb14 82e6f99f c78498d8 c993ef00 c993efdc nt!IofCallDriver+0x1b
    c2f3eb34 82e72b71 8b7f6618 c78498d8 00000000 nt!IopSynchronousServiceTail+0x1f8
    c2f3ebd0 82eb93f4 8b7f6618 c993ef00 00000000 nt!IopXxxControlFile+0x6aa
    c2f3ec04 82c821ea 00000128 00000000 00000000 nt!NtDeviceIoControlFile+0x2a
    c2f3ec04 77ce70b4 00000128 00000000 00000000 nt!KiFastCallEntry+0x12a
    0012f36c 00000000 00000000 00000000 00000000 0x77ce70b4


    STACK_COMMAND:  kb

    FOLLOWUP_IP:
    ext_acpi+1391
    85ba2391 ??              ???

    SYMBOL_STACK_INDEX:  5

    SYMBOL_NAME:  ext_acpi+1391

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: ext_acpi

    IMAGE_NAME:  ext_acpi.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  4e0ece69

    FAILURE_BUCKET_ID:  0xA3_VRF_ext_acpi+1391

    BUCKET_ID:  0xA3_VRF_ext_acpi+1391

    Followup: MachineOwner

  • יום שישי 04 מאי 2012 22:51
    בעלים
     
     

    first suspect is your driver. second suspect is the bios if you have control over it and are modifying it in some way.


    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

  • יום שני 07 מאי 2012 01:50
     
     

    Yes, we had called BIOS ASL code to do some function, so that would maked the WHQL system BSOD.

    Right?

  • יום שני 07 מאי 2012 05:54
     
     

    Hi jarvis.chen,

    According to the description and Bordon's suggestion, I’d like to move this thread to "Windows Hardware WDK and Driver Development" forum for better support. In Visual C++ General forum, we only discuss general questions regarding C++.

    Thanks for your understanding.
    Best regards,


    Helen Zhao [MSFT]
    MSDN Community Support | Feedback to us

  • יום שני 07 מאי 2012 06:11
    בעלים
     
     
    correct. i would guess that ASL has never executed before while windows was running. look at the ASL and see if you can figure out what is going wrong.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.