kern/150186: [parallels] [panic] Parallels Desktop: CDROM
disconnected leads to panic, eventually
David Evans
dave.evans55 at googlemail.com
Fri Sep 10 10:50:04 UTC 2010
The following reply was made to PR kern/150186; it has been noted by GNATS.
From: David Evans <dave.evans55 at googlemail.com>
To: bug-followup at FreeBSD.org, dave.evans55 at googlemail.com
Cc:
Subject: Re: kern/150186: [parallels] [panic] Parallels Desktop: CDROM disconnected
leads to panic, eventually
Date: Fri, 10 Sep 2010 11:49:17 +0100
Summary:
--------
In a Desktop VM with the CDrom installed, but not connected, and with
the hald and dbus daemons running, and running buildworld or background
fsck or both, there is a high probability of a panic within a few minutes.
After disabling hald and dbus in /etc/rc.conf, I successfully ran
make buildworld in a loop 7 times without any problems. This amounts to
about 11 hours of runtime.
Environment:
------------
Parallels Desktop 5 for Mac build 5.0.9376. A slightly older version was
also used.
Mac OS X Snow Leopard 10.6.4, 4G of ram, 1G allocated to VM
CVS tag RELENG_8 src cvsup'ed at 2010-09-02 22:27 UTC
Ports cvsup'ed at 2010-08-31 15:05 UTC
Events so far:
--------------
My main development VM, known as eight.pearl, has been running for
the last five days without the CDROM installed. It has successfully
built world, ran a major portupgrade and done a few dump(8)s without any
panics. It is far too precious to risk any data corruption, so I made a clone.
The cloned VM is known imaginatively as clone8.pearl
In clone8.pearl, I installed the CDROM and disconnected it. I then started
make buildworld. Within a few minutes there was a panic. I rebooted and
tried another buildworld. Again, there was soon another panic. Each panic
appeared to be preceeded by a message from /dev/acd0. Fortunately I had
enabled dumps (see below).
In clone8.pearl I then disabled hald and dbus in /etc/rc.conf. I then
ran make buildworld in a loop 7 times overnight. This morning I found
the VM was still running.
Additional VMs created
----------------------
I created two more VMs: cdpanic.pearl and cam.pearl. Both were the
minimum installation from the FreeBSD cdrom 1 of November 2009. I updated
the world and kernel from my local sources. No ports were installed.
cdpanic.pearl had a standard GENERIC kernel with DDB. cam.pearl also
was a standard debugging kernel with option ATA_CAM, as suggested by jh
earlier in this bug report.
I installed and disconnected the CDrom on both VMs and started a buildworld.
Both completed successfully with no panics.
hald and dbus
-------------
These two ports run as daemons checking the status of devices.
hald comes from sysutils/hal. dbus is from devel/dbus. They
are the only two daemons I can see that access the CDrom device.
I am now convinced they are tickling a bug in the acd device
which causes a panic.
To trigger the bug you need to run something disk-intensive.
make buildworld is good. So is background fsck.
The acd0 device needs to report NOT READY status when it is not connected.
This is probably a Desktop problem.
To Do
-----
I must create another clone of eight.pearl and install a CAM kernel
on it.
Dumps
-----
I managed to obtain two dumps. here is the output of dmesg. I realise
they are not much use, but I need to hone my kernel debugging skills
to get more useful information. Both stopped at the same instruction pointer.
-------
ata1: WARNING - READ_TOC read data overrun 18>12
acd0: WARNING - READ_TOC taskqueue timeout - completing request directly
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:0xc08a119f
stack pointer = 0x28:0xe4521b44
frame pointer = 0x28:0xe4521b5c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (swi6: task queue)
panic: from debugger
cpuid = 0
Uptime: 6m0s
Physical memory: 1011 MB
Dumping 148 MB: 133 117 101 85 69 53 37 21 5
-------------------------
acd0: WARNING - READ_TOC taskqueue timeout - completing request directly
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:0xc08a119f
stack pointer = 0x28:0xe4521b44
frame pointer = 0x28:0xe4521b5c
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (swi6: task queue)
panic: from debugger
cpuid = 0
Uptime: 21m2s
Physical memory: 1011 MB
Dumping 138 MB: 123 107 91 75 59 43 27 11
More information about the freebsd-emulation
mailing list