[MRE] xfwm4 4.12.3 for vivid

Bug #1457242 reported by Sean Davis
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Xfwm4
Fix Released
Medium
xfwm4 (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
Fix Released
Medium
Unassigned

Bug Description

[Impact]
 * Upstream bug: https://bugzilla.xfce.org/show_bug.cgi?id=11893
   - Some applications, Eclipse in particular, may crash and be completely unusable because of a regression in xfwm4.
   - The issue is caused by xfwm4 4.12.1 monitoring the SubstructureNotifyMask event.
   - This is completely resolved in xfwm4 4.12.3. The offending event was not needed and is no longer monitored.

[Test Case]
 * Open Eclipse.
 * Go to Help > About.
 * Close the About dialog. Eclipse crashes.

[Regression Potential]
 * The changes present in 4.12.2 are included in Vivid via the patch "fix-a-mishmash-between-width-and-height.patch"
 * Xfwm4 4.12.3 is very minor and resolves this and one other minor bug. Regression potential is minimal if not non-existent.

Revision history for this message
In , Mario89 (mario89) wrote :
Download full text (3.4 KiB)

== Summary ==
I'm running Xubuntu 14.04 and I upgraded Xfce from 4.10 to 4.12 (through adding "xubuntu-dev/xfce-4.12" ppa). After that, Eclipse became instable and crashes under several circumstances (e.g. creating new project). There are several reports that indicate that this is related to xfce 4.12 - at least it the only thing all those reports have in common.

== My environment ==

- Xubuntu 14.04 64-bit with Linux kernel 3.13.0-49-generic
- xfce 4.12 (upgraded from 4.10 by adding "xubuntu-dev/xfce-4.12" ppa)
- Running as VMware guest (VMware Workstation 11.0.1, latest hardware capabilities and VMware tools)

This bug also appears on the following configurations, according to reports I found on the internet:

1) Xubuntu 15.04 on a Dell Laptop with an Intel Graphics-Card, source: http://askubuntu.com/questions/616995/three-different-eclipse-versions-all-crash-with-badwindow-on-15-04

2) Slackware-current x86_64, custom kernel 4.0 on a Dell xps lx502 (Optimus nvidia/intel hybrid) running on the intel GPU, source: https://forum.xfce.org/viewtopic.php?pid=37345#p37345

== Steps to reproduce ==

I experience this issue under several circumstances, it appears to be random.
However, I could find a series of steps that always lead to a crash:
- Start eclipse
- Go to File > New > Project.... > Java Project > Finish

There are also reports that Eclipse crashes right after startup, but in my case it doesn't do that. Source: https://forum.xfce.org/viewtopic.php?pid=37345#p37345

Affected Eclipse versions: (testes by myself) 3.8.1, 4.4.2 and (reported by others) 4.3.2
Affected Java versions: (tested by myself) OpenJDK 7, Oracle Java 8 and (reported by others) Oracle Java 7

== Expected behavior ==

Eclipse does not crash.

== Actual behavior ==

Eclipse crashes.

It shows the following error message:

> JVM terminated. Exit code=1
> /usr/bin/java
> -Dosgi.requiredJavaVersion=1.6
> -XX:MaxPermSize=1024m
> -Xms80m
> -Xmx2048m
> -jar /home/dominik/Applications/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
> -os linux
> -ws gtk
> -arch x86_64
> -showsplash /home/dominik/Applications/eclipse//plugins/org.eclipse.platform_4.4.2.v20150204-1700/splash.bmp
> -launcher /home/dominik/Applications/eclipse/eclipse
> -name Eclipse
> --launcher.library /home/dominik/Applications/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20150204-1316/eclipse_1607.so
> -startup /home/dominik/Applications/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
> --launcher.appendVmargs
> -exitdata 38000f
> -product org.eclipse.epp.package.java.product
> -vm /usr/bin/java
> -vmargs
> -Dosgi.requiredJavaVersion=1.6
> -XX:MaxPermSize=1024m
> -Xms80m
> -Xmx2048m
> -jar /home/dominik/Applications/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar

And if launched from a terminal, the following is displayed in the terminal window:

> The program 'Eclipse' received an X Window System error.
> This probably reflects a bug in the program.
> The error was 'BadWindow (invalid Window parameter)'.
> (Details: serial 28725 error_code 3 request_code 3 minor_code 0)
> (Note to programmers: normally, X er...

Read more...

Revision history for this message
In , Mario89 (mario89) wrote :

I forgot to mention that after downgrading back to 4.10, the instability disappeared and eclipse worked fine again (in my case).

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

Very unlikely related to the window manager. Applications crash are applications issues, not the window manager (the fact that it reports a BadWindow simnply means that the application is trying to refer to one of its window -not necessarily a top window- whic his invalid, either wrong window id or the window is gone).

Beside, "xfce 4.12" is a lot of packages and changes, not just hte window manager.

I am thinking in particular of the theme engine. Can you reproduce with xfce 4.12 using the same gtk engine?

PS: Eclipse seems perfectly stable here (Eclipse Luna SR2 (4.4.2) on Fedora 22)

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

Could you please doing as instructed in the error message? That part:

> > To debug your program, run it with the --sync command line
> > option to change this behavior. You can then get a meaningful
> > backtrace from your debugger if you break on the gdk_x_error() function.)

Basically, you have to run Eclipse in synchronous mode within gdb and break on "gdk_x_error" so that when the error occurs, you can capture a backtrace of Eclipse to tell the code path that led to this error. Make sure you have the debugging symbols installed so that the backtrace is meaningful (unfortunately I have no idea how to do that on Ubuntu/Debian)

The error provided is far from being sufficient to investigate the problem, all I can tell from what is provided is that Eclipse tried to issue an XGetWindowAttributes() (this is the request code 3) which failed because the given value for the Window argument does not name a defined Window.

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

Meanwhile I've installed Xubuntu 15.04 in a VM and tried to reproduce using the method described in comment #0, using both Eclipse 3.8 as shipped with Xubuntu 15.04 and upstream Eclipse 4.4.2 as well, but could not reproduce, Eclipse ran just fine.

Revision history for this message
In , Mario89 (mario89) wrote :

Thank you very much for your looking into this issue.

I actually tried run eclipse --sync withing gdb and set a breakpoint at gdk_x_error, but unfortunately I didn't receive a backtrace. In Ubuntu, you can install debug symbols for a specific package by installing <packagename>-dbg or <packagename>-dbgsym. (These debug symbols are then stored at a common location so gdb finds them automatically)
I have installed all eclipse*-dbgsym, libgtk-3-0-dbg, libgtk-2-0-dbg and xfwm4-dbg debug symbols, but it still doesn't find a function named gdk_x_error. If you can name me the packages that contain the gdk_x_error function, I will install the corresponding debug symbols and give it another try.

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

(In reply to mario89 from comment #5)
> Thank you very much for your looking into this issue.
>
> I actually tried run eclipse --sync withing gdb and set a breakpoint at
> gdk_x_error, but unfortunately I didn't receive a backtrace. [...]

gdk_x_error() is a function defined in libgdk qhich comes with gtk+.

It's a shared library which gets loaded at runtime, meaning that gdb may not find it until it's loaded, i.e. once the program is being run.

E.g.:

  $ gdb $(which eclipse)
  ...
  (gdb) break gdk_x_error
  Function "gdk_x_error" not defined.
  Make breakpoint pending on future shared library load? (y or [n]) y
  Breakpoint 1 (gdk_x_error) pending.
  (gdb) run --sync
  Starting program: /usr/bin/eclipse --sync
  [Thread debugging using libthread_db enabled]
  ...

Once the error occured, it will reach gdk_x_error() and gdb will stop there, you need to ask for the backtrace with:

  (gdb) bt
  ...

Note, you may want to get in touch with Eclipse devs as well, maybe they heard of that. I still find it weird that I cannot reproduce this on any platform (not even on Xubuntu 15.04 which, you said, was affected) - So it may be something in the environment, like the theme.

Anyhow, I think it's worth getting in touch with Eclipse devs as well.

Revision history for this message
In , Megavolt-i (megavolt-i) wrote :
Download full text (6.7 KiB)

> Once the error occured, it will reach gdk_x_error() and gdb will stop there,
> you need to ask for the backtrace with:
>
> (gdb) bt

I have a similar problem to - Eclipse Luna randomly crashes with 'BadWindow (invalid Window parameter)'

My system is Xubuntu 15.04 on VirtualBox. On Xubuntu 14.10 on same VirtualBox Eslipse works fine.

Eclipse randomly crashes when I open C/C++ Makefile project and try to add new target in "Make Target", or make changes in Windows->Preferences and click OK or Cancel, or clicking button in other dialog boxes.

I'm installed libgtk2.0-0-dbg and libgtk-3-0-dbg and have a backtrace:

Breakpoint 1, gdk_x_error (display=0x8073800, error=0xbfffd4fc) at /build/buildd/gtk+2.0-2.24.27/gdk/x11/gdkmain-x11.c:458
(gdb) bt
#0 gdk_x_error (display=0x8073800, error=0xbfffd4fc) at /build/buildd/gtk+2.0-2.24.27/gdk/x11/gdkmain-x11.c:458
#1 0xb74b527a in _XError () from /usr/lib/i386-linux-gnu/libX11.so.6
#2 0xb74b231b in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#3 0xb74b23d6 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#4 0xb74b3256 in _XReply () from /usr/lib/i386-linux-gnu/libX11.so.6
#5 0xb749a104 in _XGetWindowAttributes () from /usr/lib/i386-linux-gnu/libX11.so.6
#6 0xb749a246 in XGetWindowAttributes () from /usr/lib/i386-linux-gnu/libX11.so.6
#7 0xb74de921 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
#8 0xb74df23f in _XimSetICDefaults () from /usr/lib/i386-linux-gnu/libX11.so.6
#9 0xb74df27a in _XimSetICDefaults () from /usr/lib/i386-linux-gnu/libX11.so.6
#10 0xb74da4ce in _XimLocalCreateIC () from /usr/lib/i386-linux-gnu/libX11.so.6
#11 0xb74bf943 in XCreateIC () from /usr/lib/i386-linux-gnu/libX11.so.6
#12 0xb66b83ed in gtk_im_context_xim_get_ic (context_xim=0x911b610) at /build/buildd/gtk+2.0-2.24.27/modules/input/gtkimcontextxim.c:1435
#13 0xb66b86b9 in gtk_im_context_xim_reset (context=0x911b610) at /build/buildd/gtk+2.0-2.24.27/modules/input/gtkimcontextxim.c:864
#14 0xb6818f3d in IA__gtk_im_context_reset (context=0x911b610) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkimcontext.c:535
#15 0xb6818f3d in IA__gtk_im_context_reset (context=0x9143a40) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkimcontext.c:535
#16 0xb1d8dade in Java_org_eclipse_swt_internal_gtk_OS__1gtk_1im_1context_1reset () from /home/virtual/eclipse/configuration/org.eclipse.osgi/351/0/.cp/libswt-pi-gtk-4430.so
#17 0xb3a3bbf3 in ?? ()
#18 0xb3a34207 in ?? ()
#19 0xb3a34207 in ?? ()
#20 0xb3a34207 in ?? ()
#21 0xb3a34207 in ?? ()
#22 0xb3a34207 in ?? ()
#23 0xb3a34207 in ?? ()
#24 0xb3a34207 in ?? ()
#25 0xb3a34207 in ?? ()
#26 0xb3a34207 in ?? ()
#27 0xb3a34207 in ?? ()
#28 0xb3a34207 in ?? ()
#29 0xb3a34207 in ?? ()
#30 0xb3a34207 in ?? ()
#31 0xb3a34207 in ?? ()
#32 0xb3a34207 in ?? ()
#33 0xb3a34207 in ?? ()
#34 0xb3a34207 in ?? ()
#35 0xb3a34207 in ?? ()
#36 0xb3a34207 in ?? ()
#37 0xb3a34207 in ?? ()
#38 0xb3a3447b in ?? ()
#39 0xb3a3447b in ?? ()
#40 0xb3a34207 in ?? ()
#41 0xb3a34207 in ?? ()
#42 0xb3a34785 in ?? ()
#43 0xb3e544f0 in ?? ()
#44 0xb3a34207 in ?? ()
#45 0xb3a34207 in ?? ()
#46 0xb3a3447b in ?? ()
#47 0xb3a3447b in ?? ()
#48 0xb3a34207 in ?? ()
#49 0xb3a3434f in ?? ()
#50 0xb3a34207 in ?? ()
#51 0xb3a34785 in ...

Read more...

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

(In reply to Dmitry from comment #7)
>
> I'm installed libgtk2.0-0-dbg and libgtk-3-0-dbg and have a backtrace:
>
> Breakpoint 1, gdk_x_error (display=0x8073800, error=0xbfffd4fc) at
> /build/buildd/gtk+2.0-2.24.27/gdk/x11/gdkmain-x11.c:458
> (gdb) bt
> #0 gdk_x_error (display=0x8073800, error=0xbfffd4fc) at
> [...]
> #4 0xb74b3256 in _XReply () from /usr/lib/i386-linux-gnu/libX11.so.6
> #5 0xb749a104 in _XGetWindowAttributes () from
> /usr/lib/i386-linux-gnu/libX11.so.6
> #6 0xb749a246 in XGetWindowAttributes () from
> /usr/lib/i386-linux-gnu/libX11.so.6
> #7 0xb74de921 in ?? () from /usr/lib/i386-linux-gnu/libX11.so.6
> #8 0xb74df23f in _XimSetICDefaults () from
> /usr/lib/i386-linux-gnu/libX11.so.6
> #9 0xb74df27a in _XimSetICDefaults () from
> /usr/lib/i386-linux-gnu/libX11.so.6
> #10 0xb74da4ce in _XimLocalCreateIC () from
> /usr/lib/i386-linux-gnu/libX11.so.6
> #11 0xb74bf943 in XCreateIC () from /usr/lib/i386-linux-gnu/libX11.so.6
> #12 0xb66b83ed in gtk_im_context_xim_get_ic (context_xim=0x911b610) at
> /build/buildd/gtk+2.0-2.24.27/modules/input/gtkimcontextxim.c:1435
> #13 0xb66b86b9 in gtk_im_context_xim_reset (context=0x911b610) at
> /build/buildd/gtk+2.0-2.24.27/modules/input/gtkimcontextxim.c:864
> #14 0xb6818f3d in IA__gtk_im_context_reset (context=0x911b610) at
> /build/buildd/gtk+2.0-2.24.27/gtk/gtkimcontext.c:535
> #15 0xb6818f3d in IA__gtk_im_context_reset (context=0x9143a40) at
> /build/buildd/gtk+2.0-2.24.27/gtk/gtkimcontext.c:535
> [...]

You are still missing a lot of symbols from this backtrace, but it would still be helpful and gives some hints as it points toward IM (aka Input Method), nothing actually related to xfwm4 (as I said earlier, switching from xfce 4.10 to xfce 4.12 is a *lot* of changes, so even more when upgrading Xubuntu!)

1. Do you have multiple input methods installed?
2. Which IM metod do you use (e.g. XIM, IBUS, SCIM, etc.)?
3. Do you have a IM plugin in xfce?
4. Can you disable IM entirely and reproduce?

(note, this is going quite off topic wrt xfwm4)

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

What about trying this from a terminal:

  $ (export XMODIFIERS="@im=none"; ecplise)

I suspect this would disable IM for that particular ecplise session.

Revision history for this message
In , Megavolt-i (megavolt-i) wrote :

(In reply to Olivier Fourdan from comment #8)

> 1. Do you have multiple input methods installed?
> 2. Which IM metod do you use (e.g. XIM, IBUS, SCIM, etc.)?
> 3. Do you have a IM plugin in xfce?
> 4. Can you disable IM entirely and reproduce?

$ im-config
>Current configuration for the input method:
> * Active configuration: xim (normally missing)
> * Normal automatic choice: none (normally ibus or fcitx or uim)
> * Override rule: zh_CN,fcitx:zh_TW,fcitx:zh_HK,fcitx:zh_SG,fcitx
> * Current override choice: (ru_RU)
> * Current automatic choice: none
> * Number of valid choices: 1 (normally 1

I don't manually install any IM metod.
In "Language Support" "Keyboard input metod system" sets to "None" and no other available chooses in this dropbox.

(In reply to Olivier Fourdan from comment #9)

> What about trying this from a terminal:
>
> $ (export XMODIFIERS="@im=none"; ecplise)

Still randomly crashes.

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

(In reply to Dmitry from comment #10)
> $ im-config
> > * Active configuration: xim (normally missing)
                            ^^^

There you go, you need to set this "active configuration" to "missing"

> > $ (export XMODIFIERS="@im=none"; ecplise)
>
> Still randomly crashes.

Yes, if I set up the same IM settimg as yours, I am able top reproduce. But that's not a window manager issue.

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

(In reply to Olivier Fourdan from comment #11)
> But that's not a window manager issue.

Right, I take that back, the WM does influence, and I know the fix...

Meanwhile, simply avoid xim as a workaround.

Revision history for this message
In , Megavolt-i (megavolt-i) wrote :

(In reply to Olivier Fourdan from comment #11)
> (In reply to Dmitry from comment #10)
> > $ im-config
> > > * Active configuration: xim (normally missing)
> ^^^
>
> There you go, you need to set this "active configuration" to "missing"

When I set in im-config "active configuration" to "none" I can't crash Eclipse!
But, in Xubuntu 14.10 xim was sets in "Active configuration" and Eclipse works fine.

(In reply to Olivier Fourdan from comment #12)

> Meanwhile, simply avoid xim as a workaround.

Ok, this workaround was solved my problem.

Revision history for this message
In , Xfce-v (xfce-v) wrote :

I have got the same problem running
 * Xubuntu 14.04 amd64 with
 * upgraded XFCE from ppa:xubuntu-dev/xfce-4.12

Eclipse 4.4.2 with Oracle Java 1.8.0_45 starts normally, but whenever a dialog/sub window is closed (i.e. help -> about eclipse) it crashes as described in the initial comment. This behavior is 100% reproducible.

Workaround 1 - Use another window manager. I tried openbox. When running eclipse with openbox, eclipse does not crash.

Workaround 2 - Downgrade xfwm4. I downgraded xfwm4 to the one from the ubuntu repository

    sudo apt-get install xfwm4=4.11.1-2ubuntu2
    sudo apt-mark hold xfwm4

which seems to work because there is no huge tree of dependencies. Eclipse does not crash when run under xfwm4 4.11.

This indicates that the 4.12 window manager might contain a bug.

Revision history for this message
In , Olivier Fourdan (fourdan) wrote :

Fixed in 4.12.3

Sean Davis (bluesabre)
tags: added: vivid
Revision history for this message
Micah Gersten (micahg) wrote :

Uploaded to vivid

Changed in xfwm4 (Ubuntu):
status: New → Invalid
Changed in xfwm4 (Ubuntu Vivid):
status: New → Fix Committed
importance: Undecided → Medium
Changed in xfwm4:
importance: Unknown → Medium
status: Unknown → Fix Released
Revision history for this message
Asmodan (johannes-ahlers) wrote :

Where can I get fixed Version?

Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Sean, or anyone else affected,

Accepted xfwm4 into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/xfwm4/4.12.3-1ubuntu1~ubuntu15.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
Revision history for this message
Martin Babutzka (martin-babutzka) wrote :

Tested with a manual dpkg install of the xfwm4 binary from https://launchpad.net/ubuntu/+source/xfwm4/4.12.3-1ubuntu1~ubuntu15.04.1/+build/7529044 .

Problem resolved by the new version. Thanks a lot!

tags: added: verification-done

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xfwm4 - 4.12.3-1ubuntu1~ubuntu15.04.1

---------------
xfwm4 (4.12.3-1ubuntu1~ubuntu15.04.1) vivid; urgency=medium

  * No-change backport to vivid (LP: #1457242)

xfwm4 (4.12.3-1ubuntu1) wily; urgency=low

  * Merge from Debian unstable. Remaining changes:
    - Add -DMONITOR_ROOT_PIXMAP to CPPFLAGS for xubuntu seamless greeter
      to desktop transition

xfwm4 (4.12.3-1) unstable; urgency=medium

  * New upstream bugfix release.

xfwm4 (4.12.2-3ubuntu1) wily; urgency=low

  * Merge from Debian unstable. Remaining changes:
    - Add -DMONITOR_ROOT_PIXMAP to CPPFLAGS for xubuntu seamless greeter
      to desktop transition

xfwm4 (4.12.2-3) unstable; urgency=medium

  * debian/control:
    - don't build-dep on libdrm-dev on Hurd, it's not available. Also
      disables window preview in tab switch. closes: #780967
  * Upload to unstable.

xfwm4 (4.12.2-1) experimental; urgency=medium

  [ Mateusz Łukasik ]
  * New upstream release:
    - Remove fix-a-mishmash-between-width-and-height.patch included
      upstream.

 -- Micah Gersten <email address hidden> Wed, 20 May 2015 19:10:11 -0500

Changed in xfwm4 (Ubuntu Vivid):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for xfwm4 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.