Bug 90306 - Nouveau crashes with multiple monitors
Summary: Nouveau crashes with multiple monitors
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.7 (2012.06)
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-04 20:55 UTC by ofpoj.20.Toranaga-San
Modified: 2015-05-21 02:15 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (33.51 KB, text/plain)
2015-05-17 02:24 UTC, Lars Seipel
no flags Details
dmesg output (71.33 KB, text/plain)
2015-05-17 02:25 UTC, Lars Seipel
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description ofpoj.20.Toranaga-San 2015-05-04 20:55:46 UTC
Hello all,

I would like to direct your attention to this bug report from the arch linux tracker:

https://bugs.archlinux.org/task/42121

Essentially the X server crashes when using nouveau with multiple monitors. Whenever an xrandr command is issued the server crashes. This is particularly irksome since this seems to send the monitors into power-saving mode (i.e. no more signals are sent) so that the problem can't even be resolved from a shell.

I am not the author of the bug report above, I merely googled the error

/usr/bin/Xorg.bin: symbol lookup error: /usr/lib/xorg/modules/drivers/nouveau_drv.so: undefined symbol: exaGetPixmapDriverPrivate

So this seems to affect multiple users. I am currently running debian jessie using version 1.0.11 of xserver-xorg-video-nouveau and version 7.7+3~deb7u1 of xorg-xserver but I ran into the same problem with arch a couple of weeks ago.

I would very much appreciate any help with this. This bug *really* breaks my setup.
Comment 1 Ilia Mirkin 2015-05-04 21:01:30 UTC
in xorg/exa.h:

extern _X_EXPORT void *exaGetPixmapDriverPrivate(PixmapPtr p);

and in the actual server:

exa/exa.c:exaGetPixmapDriverPrivate(PixmapPtr pPix)

So... that seems odd. Please provide your xorg log, preferably which includes that error. You can usually find a backed up log in /var/log/Xorg.0.log.old.
Comment 2 Ilia Mirkin 2015-05-04 21:22:17 UTC
Oh, I bet you're using GLAMOR? Don't do that :) [Unless you have a Maxwell, in which case you're sunk.]
Comment 3 Lars Seipel 2015-05-17 02:24:36 UTC
I'm seeing the same symptoms on my machine. For me, the issue gets triggered by a kernel update. 4.0 (with or without stable patches on top of that) works. When running one of the 4.1 RCs the X server crashes on xrandr(1) (to enable multi-monitor), printing the above symbol lookup error message to the console.

The attached log gives some hints as to why that might happen:
[    80.374] (EE) NOUVEAU(0): Failed to initialise context object: M2MF_NVC0 (0)
[    80.374] (EE) NOUVEAU(0): Error initialising acceleration.  Falling back to NoAccel
[    80.374] (**) NOUVEAU(0): [COPY] acceleration disabled

So it's not necessarily that the original reporter is using GLAMOR, it might also be the case that acceleration isn't enabled at all.

Any idea on what's causing this? I can try to pin down the earliest failing commit but it'll take some time until I get to it.

Should I file a new report? OP doesn't state anything regarding kernel version, so the issues might or might not be related.

Versions used:
xorg-server 1.17.1
libdrm 2.4.61
xf86-video-nouveau 1.0.11
kernel v4.1-rc3-284-g92752b5 (i.e. Linus' current tree as of now)
Comment 4 Lars Seipel 2015-05-17 02:24:59 UTC
Created attachment 115845 [details]
Xorg.0.log
Comment 5 Lars Seipel 2015-05-17 02:25:27 UTC
Created attachment 115846 [details]
dmesg output
Comment 6 Lars Seipel 2015-05-21 02:15:34 UTC
Turns out the issue was introduced with:

commit 3740c82590d87714b41b8b48bd3062178cbe0b17
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Thu Mar 26 09:18:32 2015 +1000

    drm/nouveau/gr/gf100-: add symbolic names for classes
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

It seems that one of the added constants got hit by a typo. I sent
a patch to the list (CCed to Ben).

Now, that fixes things for me. The original report could still be an unrelated problem.


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.