Reboot hangs on Dell OptiPlex 780 (board 03NVJ6); reboot=bios works around

Bug #950056 reported by Ben Harris
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Running 11.10 on a Dell OptiPlex 780. More than half the time when I reboot (e.g. by running "reboot" as root), the system will hang just after displaying the "now restarting" message, and not reboot. Adding "reboot=bios" to the kernel command line seems to solve this problem: four reboots in a row have been successful. I have tried updating to the latest BIOS (revision A12), and that hasn't made any difference.

This seems to be an equivalent problem to #488319 (OptiPlex 760) and #115011 (OptiPlex 745). I've found other references to the problem here:

<https://wiki.inf.ed.ac.uk/DICE/F13Upgrade> (apparently solved by reboot=bios)
<http://fogproject.org/forum/threads/tftpboot-restart-problems.238/> (apparently solved by changing kernel)

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: linux-image-3.0.0-16-generic 3.0.0-16.28
ProcVersionSignature: Ubuntu 3.0.0-16.28-generic 3.0.17
Uname: Linux 3.0.0-16-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: lightdm 1535 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf7adc000 irq 50'
   Mixer name : 'Analog Devices AD1984A'
   Components : 'HDA:11d4194a,10280420,00100400'
   Controls : 34
   Simple ctrls : 20
Date: Thu Mar 8 16:18:22 2012
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111011)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: Dell Inc. OptiPlex 780
ProcEnviron:
 LANGUAGE=en_GB:
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.0.0-16-generic root=UUID=21453ce7-2d21-43c9-bc33-a496207cee55 ro quiet splash reboot=bios vt.handoff=7
PulseSinks: Error: command ['pacmd', 'list-sinks'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
PulseSources: Error: command ['pacmd', 'list-sources'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-16-generic N/A
 linux-backports-modules-3.0.0-16-generic N/A
 linux-firmware 1.60
RfKill:

SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/09/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A12
dmi.board.name: 03NVJ6
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 15
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA12:bd12/09/2011:svnDellInc.:pnOptiPlex780:pvr:rvnDellInc.:rn03NVJ6:rvrA00:cvnDellInc.:ct15:cvr:
dmi.product.name: OptiPlex 780
dmi.sys.vendor: Dell Inc.

Revision history for this message
Ben Harris (bjh21) wrote :
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.3 kernel[1] (Not a kernel in the daily directory). Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag(Only that one tag, please leave the other tags). This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text.

If this bug is fixed by the mainline kernel, please add the following tag 'kernel-fixed-upstream-KERNEL-VERSION'. For example, if kernel version 3.3-rc6 fixed the issue, the tag would be: 'kernel-fixed-upstream-v3.3-rc6'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[1] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3-rc6-precise/

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Ben Harris (bjh21) wrote :

I've tested this having installed linux-image-3.3.0-030300rc6-generic 3.3.0-030300rc6.201203032235. This seems to exhibit the same problem as the Ubuntu kernel: with "reboot=bios" everything is fine; without it the system hangs after "Restarting system."

tags: added: kernel-bug-exists-upstream
removed: needs-upstream-testing
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Herton R. Krzesinski (herton) wrote :

FACP from AcpiTables shows that Reset Register isn't supported, so probably kernel by default is only trying reset through keyboard controller, and that doesn't work for some reason.

As a sanity check or to see if other options make a difference, could you test the following reboot options as well:
reboot=w
reboot=k
reboot=t
reboot=p
reboot=f

Also, would be good to compare the behaviour against a 64-bit version of Ubuntu, you can try just loading a live cd and checking if you have the same reboot issue (note that reboot=bios isn't available on 64 bits).

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Herton R. Krzesinski (herton) wrote :

"is only trying reset through keyboard controller" -> and may be fallbacking to triple fault method later

Revision history for this message
Ben Harris (bjh21) wrote :

I've tested each option five times with the installed 32-bit kernel (3.0.0-16.29).

reboot=w: hangs sometimes (3/5)
reboot=k: hangs sometimes (4/5)
reboot=t: hangs sometimes (3/5)
reboot=p: works always (5/5)
reboot=f: hangs sometimes (3/5)

So only reboot=p (and reboot=b) reliably works. All the others hang on reboot about half the time.

I'll test a 64-bit kernel next.

Revision history for this message
Ben Harris (bjh21) wrote :

I've now tested each of those options (w, k, t, p, f) five times on an Ubuntu 11.10 64-bit install image (on a USB memory stick). The kernel version was 3.0.0-12.20.

In all cases, the reboot worked perfectly.

To check that my test procedure was sound, I re-ran the reboot=w test using a 32-bit install image (same kernel version) and that crashed on reboot twice out of the five tests. So it looks like 64-bit kernels are not susceptible to this problem.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Herton R. Krzesinski (herton) wrote :

Thanks for testing. Hmm interesting that this is isolated to 32 bits. I think it would be worth to isolate now why on 32 bits reboot by keyboard controler or triple fault don't work (reboot=w/f actually does the default reboot=k/t later). May be the reboot always fall on triple fault and that is not working well on 32 bits, I probably will post a testing kernel soon for more debugging.

Changed in linux (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Herton R. Krzesinski (herton) wrote :

Can you try the debugging kernel I posted at http://people.canonical.com/~herton/lp950056r1/ ?
And do the same testing again with the options:
reboot=k
reboot=t
reboot=l
reboot=h

This test kernel disables the fallback for the reboot by keyboard/triple fault options, by default if reboot using keyboard controller (reboot=k) doesn't work, the kernel will try reboot with triple fault later, so we can't be sure what doesn't work. With this new kernel, we will see if reboot by keyboard works sometimes or never works, the same with the triple fault method.

In addition, I added two variations for the reboot by keyboard controller method, 'l' and 'h', I'm curious to see if there will be some difference (they use different delays or halt the code execution after doing the reset command).

Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Ben Harris (bjh21) wrote :

I've tested each option five times, as before. Results below:

reboot=k: hangs sometimes (1/5)
reboot=t: hangs sometimes (2/5)
reboot=l: works always (5/5)
reboot=h: hangs sometimes (1/5)

Given the rarity of hangs with other settings, I'll carry on testing "reboot=l" in case I just got lucky.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Ben Harris (bjh21) wrote :

I carried on testing "reboot=l" for a little longer (while working on initrd scripts) and it didn't hang once, so I think it works reliably.

penalvch (penalvch)
tags: added: bios-outdated-a14 needs-upstream-testing
Revision history for this message
penalvch (penalvch) wrote :

Ben Harris, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.