Bug 241212 - x11-wm/xfce4: xfce-4.14 is broken! The error was 'GLXBadPixmap'!
Summary: x11-wm/xfce4: xfce-4.14 is broken! The error was 'GLXBadPixmap'!
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-xfce mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-12 13:20 UTC by Vladimir Omelchuk
Modified: 2019-11-04 18:32 UTC (History)
3 users (show)

See Also:
madpilot: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Omelchuk 2019-10-12 13:20:33 UTC
After update Xfce to 4.14, I get errors:

Current version of pixman: 0.38.4
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Oct 12 03:21:19 2019
(==) Using config file: "/etc/X11/xorg.conf"
gpg-agent[58995]: WARNING: "--write-env-file" is an obsolete option - it has no effect
gpg-agent: a gpg-agent is already running - not starting a new one

(xfce4-session:58974): xfce4-session-#[1;33mWARNING#[0m **: #[34m03:21:23.428#[0m: gpg-agent returned no PID in the variables

(xfwm4:58996): Gdk-#[1;31mERROR#[0m **: #[34m03:21:26.414#[0m: The program 'xfwm4' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadPixmap'.
  (Details: serial 0 error_code 173 request_code 153 (GLX) minor_code 16)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

After that, I rollback to version 4.12 ...

root@vladiom:~ # pkg version -v | grep -e xorg -e pixman -e gdk -e glx -e gpg
gdk-pixbuf2-2.38.1                 =   up-to-date with index
gpgme-1.13.1                       =   up-to-date with index
gpgme-cpp-1.13.1                   =   up-to-date with index
gpgme-qt5-1.13.1                   =   up-to-date with index
gstreamer1-plugins-gdkpixbuf-1.14.4 =   up-to-date with index
libgpg-error-1.36                  =   up-to-date with index
pixman-0.38.4                      =   up-to-date with index
xorg-cf-files-1.0.6                =   up-to-date with index
xorg-fonts-truetype-7.7_1          =   up-to-date with index
xorg-macros-1.19.2                 =   up-to-date with index
xorg-server-1.18.4_12,1            =   up-to-date with index
xorgproto-2019.1                   =   up-to-date with index

root@vladiom:~ # pkg version -v | grep xfce
libxfce4menu-4.12.1_2              <   needs updating (index has 4.14.1)
libxfce4util-4.12.1                <   needs updating (index has 4.14.0)
xfce-4.12_1                        <   needs updating (index has 4.14)
xfce-icons-elementary-0.13.1       =   up-to-date with index
xfce4-appfinder-4.12.0_1           <   needs updating (index has 4.14.0)
xfce4-bsdcpufreq-plugin-0.2_3      =   up-to-date with index
xfce4-conf-4.12.1                  <   needs updating (index has 4.14.1)
xfce4-cpugraph-plugin-1.1.0_1      =   up-to-date with index
xfce4-desktop-4.12.5               <   needs updating (index has 4.14.1)
xfce4-mixer-4.11.0_5               =   up-to-date with index
xfce4-netload-plugin-1.3.2         =   up-to-date with index
xfce4-notes-plugin-1.8.1_2         =   up-to-date with index
xfce4-notifyd-0.4.4_1              =   up-to-date with index
xfce4-panel-4.12.2                 <   needs updating (index has 4.14.1)
xfce4-screenshooter-plugin-1.9.5   <   needs updating (index has 1.9.6)
xfce4-session-4.12.1_6             <   needs updating (index has 4.14.0_1)
xfce4-settings-4.12.4_3            <   needs updating (index has 4.14.1)
xfce4-systemload-plugin-1.2.3      =   up-to-date with index
xfce4-taskmanager-1.2.2_2          =   up-to-date with index
xfce4-terminal-0.8.8_1             =   up-to-date with index
xfce4-tumbler-0.2.7                <   needs updating (index has 0.2.7_1)
xfce4-weather-plugin-0.10.0        =   up-to-date with index
xfce4-whiskermenu-plugin-2.3.3     =   up-to-date with index
xfce4-wm-4.12.5_1                  <   needs updating (index has 4.14.0_1)
xfce4-xkb-plugin-0.8.1_2           =   up-to-date with index

root@vladiom:~ # pkg version -v | grep nvidia
nvidia-driver-340-340.107_4        =   up-to-date with index
nvidia-settings-435.21             =   up-to-date with index
nvidia-xconfig-435.21              =   up-to-date with index

root@vladiom:~ # uname -srm
FreeBSD 12.1-RC1 amd64

Whats wrong?
With Xfce 4.12 all works is fine!

P.S.
Second monitor is no detecting in Xfce 4.14 too!!!
Comment 1 Guido Falsi freebsd_committer 2019-10-12 19:58:14 UTC
(In reply to Vladimir Omelchuk from comment #0)
Hi,

This is difficult to diagnose. with this information.

I've been testing xfce 4.13 and 4.14 for months before committing and saw no similar error.

Are you running binary packages or ports compiled on your own?

Have you tried forcing the reinstallation of some ports on which XFCE depends? Sometimes upgrading single ports things get out of sync.

I guess you could try forcing thee update of opengl and pixman, also the base X11 libraries.

Also, are you using a custom xorg configuration file? Is this really needed? nowadays Xorg is able to guess correct config for most setups.

About the second monitor could you give some information? What have you tried? you  connected the monitor and nothing happens? have you tried launching the display settings application? sometimes that is needed to trigger the detection.
Comment 2 Vladimir Omelchuk 2019-10-13 10:19:34 UTC
(In reply to Guido Falsi from comment #1)

> Are you running binary packages or ports compiled on your own?

Yes, I installing soft only from ports!

>Have you tried forcing the reinstallation of some ports on which XFCE depends? >Sometimes upgrading single ports things get out of sync.

Yes, of course!

>I guess you could try forcing thee update of opengl and pixman, also the base >X11 libraries.

Reinstalled twaice!!! :)

>Also, are you using a custom xorg configuration file? Is this really needed? >nowadays Xorg is able to guess correct config for most setups.

Yes.

>About the second monitor could you give some information? What have you tried? >you  connected the monitor and nothing happens? have you tried launching the >display settings application? sometimes that is needed to trigger the detection.

Second monitor is not present in the file ~/.config/xfce4/xfconf/xfce-perchannel-xml, and sure second display not visible! :(

This is really some kind of incorrect update Xfce!!! :(
Comment 3 Vladimir Omelchuk 2019-10-13 10:22:04 UTC
I repeat - With Xfce 4.12 all works is fine!!!
Comment 4 Guido Falsi freebsd_committer 2019-10-13 15:31:56 UTC
(In reply to Vladimir Omelchuk from comment #2)

First of all please keep calm and don't attack people who are working for free passing judgements on their work.

I made this update alone, I made two calls for testers and none showed up, so I had to perform all the testing alone. This work is all done for free, it is volunteer work.

I did not encounter the issues you describe in months of updating and testing with beta versions of xfce4, and there is no way I could foresee them. Other issues that came up look like upstream bugs present also on other OSes.

Especially the two issues you are encountering I have not heard of before and they're not easy to diagnose.

To help you I at least need to see the content of your xorg.conf file. I'd also suggest you try moving it away and test running without an xorg.conf. Modern X11 usually does not need one. Is there a specific reason why you need a custom xorg.conf?

Regarding monitor detection, if xfwm4 crashes on startup how could it be detected? How did you test for it? IO don't know the details about the content of the file you talk about. That if a binary file on my system I don't know how to read.

To have the second monitor detected you need to have the xfce desktop running successfully and then run the display configuration wizard.


I understand XFCE 4.12 worked fine, but updates have a risk for regressions, as I said there are some bugs that came up which are bugs introduced by xfce 4.14 upstream. I only PORTED the software, I'm not developing it, if a bug exists in upstream sources it will be also present in the port. I can report it and ask the developers from help and import fixes when available.
Comment 5 Guido Falsi freebsd_committer 2019-10-13 16:01:06 UTC
(In reply to Vladimir Omelchuk from comment #3)

I did test multiple screens with my laptop with XFCE 4.13 (the betas) and I did try yesterday with XFCE 4.14 installed.

I connected a HDMI cable from my laptop to an external screen. While the screen was not detected right away, once I opened the display wizard the screens flashed and I was able to configure the dual screen setup via GUI.

I know for sure (since I routinely used the functionality) that also XFCE 4.12 detected new screens only when I launched the display wizard. Clearly the detection code needs to be triggered and the wizard does the trick. Now again, if your XFCE setup is not working properly (with xfwm4 crashing) I don't think that detection code can run properly. I'd leave the dual display issue to be checked once the main issue is solved.
Comment 6 Norbert Augenstein 2019-11-03 01:30:01 UTC
I got the same 'BadPixmap' error after updating to 4.14 and both monitors remained black.
In contrary to others i configured my pc to have 2 seperate screens in xorg.conf (no window dragging to other monitor).
xfce4.14 works if i reconfigure xorg.conf to have one big screen over both monitors ( so i can move windowns from one to the other).

graphics card used nvidia gt 1030 --> nvidia-driver-390
Comment 7 Guido Falsi freebsd_committer 2019-11-03 09:25:24 UTC
(In reply to Norbert Augenstein from comment #6)

Can you paste the exact error, and confirm the error is coming from xfwm4?

Also you should report your finding in the upstream bug report here:

https://bugzilla.xfce.org/show_bug.cgi?id=15990

which I suspect is related.


Unluckily the XFCE window manager has some unexpected regressions after the update to 4.14. Some of these have been confirmed to happen on linux too, so they need to be addressed upstream by the developers.
Comment 8 Norbert Augenstein 2019-11-04 18:32:35 UTC
The exact error is like the one in the Description:

xfce4-session: No GPG agent found
xfce4-session-Message: 19:08:30.609: SSH authentication agent is already running

(xfwm4:1121): Gdk-ERROR **: 19:08:31.258: The program 'xfwm4' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadPixmap'.
  (Details: serial 0 error_code 173 request_code 153 (GLX) minor_code 16)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

(xfce4-panel:1127): Gdk-WARNING **: 19:08:31.741: Native Windows wider or taller than 32767 pixels are not supported
---
Both monitores remain black and xfwm4 creates .core file.
I take a look on upstream bug reports and leave a note there.