Suspend + GA = BSOD

Discussion in 'Parallels Desktop for Mac' started by pdxmbp, Jun 15, 2006.

  1. pdxmbp

    pdxmbp Junior Member

    Messages:
    17
    With the relased version of PD, I still can't suspend/resume without having Windows XP bluescreen. Was there something special needing to be configured to allow this to work correctly?
     
  2. Andrew @ Parallels

    Andrew @ Parallels Parallels Team

    Messages:
    1,507
    Did you updated Parallels Tools inside guest OS? There was similar issue in old Shared Folders, but it was fixed in GA.
     
  3. pdxmbp

    pdxmbp Junior Member

    Messages:
    17
    I have Parallel Tools Build 1848, 09-06-2006 installed.

    I took the following steps from RC2 to Release

    1) Uninstalled Parallel Tools from the VM
    2) Rebooted VM
    3) Shutdown VM
    4) Uninstall script from Release
    5) Reboot Host
    6) Install PD from disk image
    7) Rebooted host
    8) Launched VM
    9) Installed PM Tools
    10) Rebooted VM
    11) Suspended the host (after waiting for a few minutes for all services to start up)
    12) Quit Parallels
    13) Open Parallels
    14) Resumed VM
    15) BSOD

    The VM is configured as before:
    Memory: 1024
    Network Adapter: Bridge Ethernet; Default Adapter
    Acceleration: High
    Intel VT-x Support: Checked

    Like las time, I tried it with different configurations, but had the same results:

    1) Memory: 1024, Acceleration: Normal
    2) Memory: 784, Acceleration: Normal
    3) Memory: 784, Acceleration: High

    I ftped the memory dump from crash over time over, do you want me to do it again?
     
  4. Andrew @ Parallels

    Andrew @ Parallels Parallels Team

    Messages:
    1,507
    >11) Suspended the host (after waiting for a few minutes for all services to start up)
    You mean suspended VM ofcourse?

    Could you try temporarily disable some devices in your VM configuration - NIC, USB, CD, COM, LPT, and try to localize responsible device (if any)?
     
  5. bartho

    bartho Member

    Messages:
    24
    For the record, I'm also experiencing this in GA (as previously reported for RC2 in http://forum.parallels.com/thread2307.html, error is still DRIVER_IRQL_NOT_LESS_OR_EQUAL).

    Perhaps it's just pdxmbp and I? ;)
     
  6. pdxmbp

    pdxmbp Junior Member

    Messages:
    17
    >11) Suspended the host (after waiting for a few minutes for all services to start up)
    >You mean suspended VM ofcourse?

    Yes, I mean the VM.

    > Could you try temporarily disable some devices in your VM configuration - NIC, USB, CD, COM, LPT, and try to localize responsible device (if any)?

    I have no devices enabled -- except networking. I've tried it also with removing the networking, but still have the same problem. Should I try it by removing PD Tools from the VM?
     
  7. bartho

    bartho Member

    Messages:
    24
    I did some further testing, and this is what I got.

    Starting with everything off except hard drive it works fine, and when testing one thing at a time I get:

    Shared folder: BSOD
    Floppy: BSOD
    CD/DVD: OK
    NIC: BSOD
    USB: OK

    Haven't had time to test cross-dependencies yet.

    Note: Parallels tools was not installed, I tried to uninstall to see if that was the cause.

    Also, I managed to crash Parallels itself three times while testing: twice in strdup (KERN_PROTECTION_FAILURE (0x0002) at 0x00000000, "Whoops!") and a third time somewhere in your code (KERN_PROTECTION_FAILURE (0x0002) at 0x00000004). I can email a crash report if you want.
     
  8. bartho

    bartho Member

    Messages:
    24
    OK, forget what I wrote above. Even though the results were stable when I tested everything twice yesterday, I'm now confident that the error occurs randomly in every case.

    I have, however, identified the VM's RAM-size as an important parameter in whether or not the error occurs. I often get a BSOD when using 256 MB (my default, host computer has 1 GB), but never when using 64 MB.

    I think there's some kind of race condition within Paralells related to memory allocation.

    While testing, I found a way to reproduce the BSOD without suspending/resuming, which might be useful in identifying the cause:

    1, Run Parallels with environmental variable MallocStackLoggingNoCompact=1 (and perhaps MallocLogFile=whatever.log).

    2, Start Parallels and a VM.

    3, Run (in Terminal): malloc_history pid-of-parallels -all_by_size

    4, Loads of "Deallocation of 153c6700 - no corresponding allocation" start to flood by (I'm not sure, but I think those are bogus), wait a second or so, then hit ctrl-c on malloc_history.

    5, Seconds later, VM gets a BSOD (sometimes with a flickering screen, but I'm pretty sure I saw the "DRIVER_IRQL_NOT_LESS_OR_EQUAL"-string in all cases).

    I have reproduced it three times, which is all I have time for today (everything runs very slow with malloc-debug on).

    Hope you can reproduce it!

    Update:
    Here's another way which reproduces it for me.

    1, Start VM.

    2, Fill host computer's hard drive completely. Parallels will say that it won't run until 150 MB is available (by the way, the message should be changed to "more than 150 MB" or something, otherwise rounding can show a contradictory message like "Only 150 MB is available ... at least 150 MB free disk space is required").

    3, Wait for a while (I guess to make some memory allocations happen in the background), then free up some diskspace and hit "Continue".

    4, Enjoy BSOD "DRIVER_IRQL_NOT_LESS_OR_EQUAL".

    Can some developer please see if they can reproduce it, and then fix it? :)

    (Given the strdup of a NULL that I mentioned yesterday, could it be as easy as a failed malloc whose return value isn't checked?)
     
    Last edited: Jun 16, 2006
  9. Andrew @ Parallels

    Andrew @ Parallels Parallels Team

    Messages:
    1,507
    Thank you for such detailed report! We will investigate this problem.
     
  10. rawhead

    rawhead Bit poster

    Messages:
    6
    Just to chime in here, you two aren't the only ones having this problem. BSoD every time I resume from a suspension. MacBook 2GHz, OSX10.4.6, Windows XP SP2, Parallels final.
     

Share This Page