Bug 72458 - [NV63] Machine freezes when launching Firefox
Summary: [NV63] Machine freezes when launching Firefox
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
Depends on:
Reported: 2013-12-07 23:45 UTC by Peter
Modified: 2016-02-23 05:50 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

dmesg (76.67 KB, text/plain)
2013-12-07 23:45 UTC, Peter
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter 2013-12-07 23:45:59 UTC
Created attachment 90436 [details]

My machine occasionally freezed, especially, as I remember, when launching Firefox. I had to hard-reset my computer.
About two weeks ago, after a freeze, I somehow managed to save a dmesg output. (I do not remember exactly. Maybe, after a while, the keyboard responded to Ctrl-Alt-F3?)
I replaced the xserver-xorg-video-nouveau driver (which came with the Xubuntu) with nvidia-304, and there was no freeze since then.
Comment 1 Ilia Mirkin 2013-12-08 04:08:07 UTC
Some relevant bits from the log. Pretty sure that the MMIO writes to b010/b020 aren't an issue... although I am a bit surprised you're seeing them. I wonder if firefox is somehow managing to invoke PMPEG. Or it could be the fifo getting fed random stuff causing it.

Also, your kernel is compiled with gcc-4.8. Are you using a libdrm before 2.4.48 also compiled with gcc-4.8? If so, upgrade, or use an older gcc.

[ 4986.606330] nouveau E[   PFIFO][0000:00:10.0] DMA_PUSHER - ch 4 [firefox[3578]] get 0x0036a000 put 0x0036a088 state 0xc0000000 (err: MEM_FAULT) push 0x00000000

MEM_FAULT? A little coincidental that the get pointer is at a page boundary. But this is pre-nv50, so there's no paging... what does MEM_FAULT mean?

[ 4986.606336] nouveau W[   PFIFO][0000:00:10.0] unknown intr 0x00010000, ch 4
[ 4987.074657] nouveau E[    PBUS][0000:00:10.0] MMIO write of 0x00dd0001 FAULT at 0x00b010
[ 4987.080772] nouveau E[    PBUS][0000:00:10.0] MMIO write of 0x00e90001 FAULT at 0x00b020
[ 5002.116004] nouveau E[firefox[3578]] failed to idle channel 0xcccc0000 [firefox[3578]]
[ 5002.116006] nouveau E[firefox[3574]] failed to idle channel 0xcccc0000 [firefox[3574]]
[ 5002.118725] [sched_delayed] sched: RT throttling activated
[ 5002.129735] nouveau E[    PBUS][0000:00:10.0] MMIO write of 0x00000000 FAULT at 0x00b010
[ 5002.136251] nouveau E[    PBUS][0000:00:10.0] MMIO write of 0x00000000 FAULT at 0x00b020
[ 5017.116005] nouveau E[firefox[3578]] failed to idle channel 0xcccc0000 [firefox[3578]]
[ 5017.136003] nouveau E[firefox[3574]] failed to idle channel 0xcccc0000 [firefox[3574]]
[ 5024.076000] BUG: soft lockup - CPU#1 stuck for 21s! [firefox:3574]
[ 5024.076000] CPU: 1 PID: 3574 Comm: firefox Tainted: GF            3.11.0-13-generic #20-Ubuntu
[ 5024.076000] Hardware name: Gigabyte Technology Co., Ltd. GA-73PVM-S2H/GA-73PVM-S2H, BIOS F6 03/11/2008
[ 5024.076000] task: ffff88003ba51770 ti: ffff88003df4e000 task.ti: ffff88003df4e000
[ 5024.076000] RIP: 0010:[<ffffffff8136f892>]  [<ffffffff8136f892>] ioread32+0x42/0x50
[ 5024.076000] RSP: 0018:ffff88003df4fca0  EFLAGS: 00000292
[ 5024.076000] RAX: 0000000000000000 RBX: ffff88003df42280 RCX: 000000000000f7f3
[ 5024.076000] RDX: 000000000000f7f3 RSI: ffffc900023c6048 RDI: ffffc900023c6048
[ 5024.076000] RBP: ffff88003df4fca8 R08: 0000000000017360 R09: ffff880061979780
[ 5024.076000] R10: ffffffffa0253b00 R11: ffff88003df4fe10 R12: ffff88005ea3a808
[ 5024.076000] R13: ffff880072936000 R14: 0000000000000008 R15: 0000000000000001
[ 5024.076000] FS:  00007faf14955740(0000) GS:ffff88007fa80000(0000) knlGS:0000000000000000
[ 5024.076000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 5024.076000] CR2: 00007fffbc0f1b08 CR3: 000000005eb19000 CR4: 00000000000007e0
[ 5024.076000] Stack:
[ 5024.076000]  ffffffffa01c06e5 ffff88003df4fcb8 ffffffffa01f2f3f ffff88003df4fcf0
[ 5024.076000]  ffffffffa01ea83f ffff880061979780 0000000000000000 0000000000000000
[ 5024.076000]  ffff88003ba51770 0000000000000000 ffff88003df4fd48 ffffffffa01eaed5
[ 5024.076000] Call Trace:
[ 5024.076000]  [<ffffffffa01c06e5>] ? _nouveau_fifo_channel_rd32+0x15/0x20 [nouveau]
[ 5024.076000]  [<ffffffffa01f2f3f>] nv10_fence_read+0x1f/0x30 [nouveau]
[ 5024.076000]  [<ffffffffa01ea83f>] nouveau_fence_update+0x6f/0x90 [nouveau]
[ 5024.076000]  [<ffffffffa01eaed5>] nouveau_fence_wait+0xc5/0x1a0 [nouveau]
[ 5024.076000]  [<ffffffffa01eb238>] ? nouveau_fence_new+0x68/0xc0 [nouveau]
[ 5024.076000]  [<ffffffffa01e9495>] nouveau_channel_idle+0x75/0xa0 [nouveau]
[ 5024.076000]  [<ffffffffa01f2bbe>] nouveau_abi16_ioctl_gpuobj_free+0x8e/0x170 [nouveau]
Comment 2 Rebecca Palmer 2013-12-09 10:47:05 UTC
> Are you using a libdrm before 2.4.48 also compiled with gcc-4.8?

If it's the one that came with (X)Ubuntu, it's 2.4.46 compiled with gcc 4.8, but a recent update (3 days before your dmesg log, but I think such updates are by default installed only weekly) backported that fix (https://launchpad.net/ubuntu/+source/libdrm/2.4.46-1ubuntu1).

To check whether you have that update, run (in a terminal):
dpkg -s libdrm-nouveau2
Version 2.4.46-1 is unfixed, 2.4.46-1ubuntu1 is fixed.

To install it if you don't have it already, go to System Settings > Software & Updates > Updates and tick "Recommended updates (saucy-updates)", then run Software Updater.
Comment 3 Christopher M. Penalver 2016-02-23 05:50:13 UTC
Peter, Saucy is EOL as of July 17, 2014. For more on this, please see https://wiki.ubuntu.com/Releases .

If this is an issue in a supported release, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.