GNOME Bugzilla – Bug 753927
display-config crashes in read_current_config
Last modified: 2015-12-14 04:01:28 UTC
I could always reproduce the same problem reported by a Fedora user: https://mail.gnome.org/archives/gnome-flashback-list/2015-August/msg00021.html I can't reproduce this problem when I replace the window manager with mutter. I'm using the current git master version of metacity and gnome-flashback on Arch Linux. Here is the backtrace:
+ Trace 235367
Steps to reproduce? Or it simply crashes on startup?
Simply crashes immediately after login, and every time when I try to run it manually.
It does not crash for me... :( Have you changed display settings? Do you have multiple monitors? Or maybe do you use laptop? Try to provide any info that might be useful so I can reproduce problem.
> Have you changed display settings? No, I can reproduce it with default settings. > Do you have multiple monitors? Or maybe do you use laptop? I'm using laptop, and I don't have multiple monitors. > Try to provide any info that might be useful so I can reproduce problem. I can't reproduce this problem when I run GNOME Flashback in VirtualBox, so it's probably hardware-specific (maybe only laptop users are affected).
I built GNOME Flashback on my laptop, but it does not crash... What video card do you have? Also could you upload your ~/.config/monitors.xml file?
Created attachment 309843 [details] My ~/.config/monitors.xml file > What video card do you have? I have an Intel Sandybridge Mobile video controller. > Also could you upload your ~/.config/monitors.xml file? File attached. I can reproduce the problem even if this file is missing.
Is that file from your laptop? There is 7 configuration sections while I have only one... That file is created by gnome-flashback, right? Do you get similar/same file when you delete and use GNOME session?
> Is that file from your laptop? Yes. > That file is created by gnome-flashback, right? No, this is an old file. > Do you get similar/same file when you delete and use GNOME session? No, GNOME does not create this file again, when I rename it.
Created attachment 309845 [details] My ~/.config/monitors.xml file Okay, here is a new one created by GNOME. I had to apply settings in GNOME Control Center.
Created attachment 309861 [details] Test Please apply this patch and post output of gnome-flashback after it crash.
Created attachment 309862 [details] gnome-flashback log Here is the output with metacity and mutter.
Can you add: g_warning ("manager->n_outputs - %d", manager->n_outputs); before g_warning ("manager->n_modes - %d", manager->n_modes); and change if (output->connection != RR_Disconnected) to if (output->connection != RR_Disconnected && output->nmode != 0) And then post output? I am only interested in GNOME Flashback with metacity.
Created attachment 309867 [details] gnome-flashback log 2 with metacity Now I didn't get any crashes, so it looks like it fixes the problem.
Thanks! Can you add similar debug lines in meta_monitor_manager_xrandr_read_current: https://git.gnome.org/browse/mutter/tree/src/backends/x11/meta-monitor-manager-xrandr.c#n650 And post output when you run mutter --replace. That part is same in gnome-flashback so I would expect same output, but it definitely is not since mutter does not crash. Maybe mutter simply does not use X11 backend?
Created attachment 309870 [details] mutter log Mutter gives a bit different output. Maybe metacity/gnome-flashback does not read the config correctly? E.g. when I launch gnome-control-center, or replace metacity with mutter, I get the same output from gnome-flashback.
Metacity has nothing to do with this. If we speak about display-config then GNOME Flashback == Mutter. This is not related to configuration reading from saved file. It gets monitor data from X11/XRandR. The problem is that same code gives different results... Both have 5 outputs, but modes are different 1 vs. 12. Most likely mutter is doing something else before it reads configuration that causes to get correct data. What do you get when you run xrandr from terminal: 2) With gnome-flashback when it reports only 1 mode. 3) With mutter. Does it list all modes in both cases?
Yes, I get all modes when run xrandr. And as soon as I run the xrandr command, all modes are listed on the output of gnome-flashback too.
Please add this g_warning ("output->connection - %d", (int) output->connection); before if (output->connection != RR_Disconnected)
Pushed to master. We will ignore outputs without any mode - that fixes crash. I have no time to try to find why mutter gets all modes, but we don' t.
Okay, it's fine for me. I don't see any regressions, because when I open gnome-control-center, it lists all modes.
I reverted my patch and added patches from mutter. Can you please test that I have not re-introduced this bug?
I tested the current git master now, and it works fine.