kern/150186: [Parallels Desktop] CDROM disconnected leads to panic, eventually

David Evans dave.evans55 at googlemail.com
Wed Sep 1 13:10:04 UTC 2010


>Number:         150186
>Category:       kern
>Synopsis:       [Parallels Desktop] CDROM disconnected leads to panic, eventually
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 01 13:10:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     David Evans
>Release:        8.1 STABLE
>Organization:
>Environment:
FreeBSD eight.pearl 8.1-STABLE FreeBSD 8.1-STABLE #1: Mon Aug 30 03:24:09 BST 2010     root@:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
I've put Parallels in the subject line so that anyone
interested in Parallels Desktop will find this report
in a single-line search.  At the moment I do not think this
is a Desktop bug.

For the last few months I've had the occasional panic with
my FreeBSD 8 installation running in a VM under Parallels
Desktop for Mac versions 4.0 and 5.0. Most of the time
the panic message disappeared off the screen before I could
make a note of it. In the last few days I have finally managed
to capture the panic report.

In an effort to track down the bug I have tried various things
such a increasing the memory or setting the number of CPUs from
2 to 1. Nothing worked. I was lucky to get an uptime greater than
60 minutes. Finally, I removed the CDROM device from the Desktop's
list of virtual hardware. This seems to have fixed the problem.

Here is an annotated log of the panics.

--------
Machine: eight.pearl
Desktop-Name: FBSD-8-new-precious (eight)
Parallels-Version: 4.0
FreeBSD version: 8.0, 2010-05-28
--------
CPU: 2
Type: i386
Date: 2010-05-24 16:00
Crash:

Page not found
----------
Date: 2010-08-28
Information: I installed Parallels 5.0
----------
Date 2010:08-29 23:00
CPU:1
Crash:
Page not found after finishing cvsup ports
---------
Date: 2010-08-30
CPU: 1
Information:

Single User
Now rebuilding kernel and world with sources from 2010-08-29 cvsup
Single CPU,  Single USER.  No crashes even after 3 hours.

After installing the kernel took snapshot-1
Kernel is now dated Mon Aug 30 03:24:09 BST 2010

Installed world, then took snapshot-2

Reboot CPU:2, multiuser and test by repeated buildworlds

---------
Date: 2010-08-30
Information:
FreeBSD-version: 8.1-STABLE Aug 30 03:24:09 2010

---------
Date: 2010-08-30 12:32
Crash:
CPU: 2

Spontaneous reboot while make buildworld after about 30 minutes,
not sure whether page not found message appeared.

Could this be related to DHCP? The lease time is around 30 minutes.
No, I don't think so.

Action: set CPU to 1 and revert to snapshot-2, test with buildworld again.

Oops! forgot to set CPU to one, so:

--------
Date: 2010-08-30 13:13
Crash:
CPU: 2

while buildworld in multi user mode
got:

acd0: warning - PREVENT_ALLOW taskqueue timeout - completing request directly

Fatal tap 12: page fault while in kernel mode
cpuid - 0; apic id == 00
fault virtual address = 0x1a4
fault code = supervisor read, page not present
current process = 12 (swi6: task queue)
trap number = 12
panic: page fault
uptime: 33m0s


Action: set CPU:1 revert to snapshot-2, try buildworld again
Note: when reverting to a snapshot, you get the CPUs active when that
      snapshot was taken. Need to configure CPU:1 again.
---------
Date: 2010-08-30 15:00
Crash:
CPU: 1

Still crashes buildworld multiuser CPU=1, just takes longer (about an hour)
---------
Date: 2010-08-30  18:48
Crash:
CPU: 2

During buildworld:
panic message

acd0: WARNING - unknown CMD (0x4a) taskqueue timeout - completing request directly
acd0: WARNING - unknown CMD (0x4a) freeing taskqueue zombie request

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id =00
fault virtual address = 0x1a4
fault code = supervisor read, page not present
instruction pointer   = 0x20:0xc0894f5f
stack pointer         = 0x28:0xe683d960
frame pointer         = 0x28:0xe683d978
code segment          = base 0x0, limit 0xdffff, type =0x1b
                      = DPL 0, pres 1, def32 1, gran 1
processor eflags      = interrupt enabled, resume, IOPL=0
current process       = 1184 (initial thread)
trap number = 12
panic: page fault
cpuid = 0
Uptime: 57m10s

Action: try removing the CDROM device from the Config screen hardware list.
Previously I had it installed but not connected.

Save the configuration as snapshot-3
Seems to be working, one buildworld and cvs co ports succeeded.

-----------
Date: 2010-09-01 12:00
CPU: 2
Information:

Since removing the CDROM device I have experienced no panics.
Current uptime is 1d1h26m.

I have sucessfully done several buildworlds, a couple of cvsup's
for ports and src, and various other tasks

======================================

Conclusion:

Whenever I have captured a panic it is always preceeded by a message
from the acd0 device.  I had the CDROM installed but not connected to
a real CD or disk image. Uninstalling the CDROM makes the panics go
away. Having the CDROM connected to a real CD or diskimage also works.
Fortuitiously, I had most of my other VMs connected to a diskimage.


>How-To-Repeat:
Install FreeBSD 8-STABLE on a Parallels Desktop version 4 or 5 VM.

Add a CDROM to the Desktop list of installed hardware.  Disconnect the CDROM.

Boot FreeBSD and do some processor and disk intensive task, such as make buildworld.
Within a couple of hours you will get a panic.
>Fix:

Workaround.
Reconnect or uninstall the CDROM.

I am currently building world on another VM with ZFS and a connected
CDROM and it seems to be ok so far.


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list