Ubuntu

Re-emergence of "Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)'" Makes vlc and other Qt apps crash

Reported by Doug McMahon on 2012-05-28
632
This bug affects 109 people
Affects Status Importance Assigned to Milestone
Ubuntu One Control Panel
Undecided
Unassigned
Unity Distro Priority
High
Unassigned
overlay-scrollbar
High
Unassigned
overlay-scrollbar (Ubuntu)
High
Unassigned
Quantal
High
Unassigned
qt4-x11 (Ubuntu)
High
Canonical Desktop Team
Quantal
High
Canonical Desktop Team

Bug Description

The symptoms of this bug have re-emerged in 12.10 (Bug 805303) and in 13.04 (Bug 1084255).

Current test cases:
May not happen the 1st try

Open vlc > Media > Open Disc
Open vlc > Tools > Preferences > click on " Show Settings > all" radio button
Open calibre after initial setting up
Use cola git gui
Open a file from context menu > open with Vlc Media Player, then switch to 'Show Playlist'

In both all using LIBOVERLAY_SCROLLBAR=0 prevents bad behavior (same as previous bug

In the case of vlc once bug occurs you must remove ~.config/vlc/vlc-qt-inferface.conf first before running with the LIBOVERLAY_SCROLLBAR=0

Ex of sizing "Open Media" window in vlc

xwininfo: Window id: 0x1e0004b "Open Media"

  Absolute upper-left X: -7566
  Absolute upper-left Y: 367
  Relative upper-left X: 3
  Relative upper-left Y: 3
  Width: 16383
  Height: 421
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners: +-7566+367 --7537+367 --7537-12 +-7566-12
  -geometry 16383x421+-7569-2

Related branches

lp:~aacid/overlay-scrollbar/qt_no_overlay_scrollbar
Rejected for merging into lp:overlay-scrollbar
PS Jenkins bot: Needs Fixing (continuous-integration) on 2012-10-15
Andrea Cimitan: Disapprove on 2012-09-18
jenkins (community): Approve (continuous-integration) on 2012-09-17
lp:~aacid/overlay-scrollbar/blacklisted_libs
Rejected for merging into lp:overlay-scrollbar
jenkins (community): Approve (continuous-integration) on 2012-09-18
Ayatana Scrollbar Team: Pending requested 2012-09-18
Doug McMahon (mc3man) on 2012-05-28
tags: added: quantal
Doug McMahon (mc3man) wrote :

Here's the calibre window that tries to open
xwininfo: Window id: 0x2400012 "calibre - || Calibre Library ||"

  Absolute upper-left X: 144
  Absolute upper-left Y: 52
  Relative upper-left X: 0
  Relative upper-left Y: 0
  Width: 16383
  Height: 16383
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners: +144+52 --15247+52 --15247--15635 +144--15635
  -geometry 16383x16383+144+24

Doug McMahon (mc3man) wrote :

Also affects ubuntuone-control-panel-qt, same deal
using LIBOVERLAY_SCROLLBAR=0 ubuntuone-control-panel-qt & it works fine
Otherwise drains all the memeory, fill the cache, ect.

Ex. of window
xwininfo: Window id: 0x3200004 "Ubuntu One"

  Absolute upper-left X: 58
  Absolute upper-left Y: 150
  Relative upper-left X: 0
  Relative upper-left Y: 0
  Width: 16383
  Height: 629
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners: +58+150 --15161+150 --15161-21 +58-21
  -geometry 16383x629+58-21

Doug McMahon (mc3man) on 2012-05-31
description: updated
Doug McMahon (mc3man) wrote :

The new qt4* packages fixed ubuntuone but not vlc or repo version of calibre

Changed in ubuntuone-control-panel:
status: New → Invalid
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qt4-x11 (Ubuntu):
status: New → Confirmed
Doug McMahon (mc3man) on 2012-06-13
description: updated
Christopher (soft-kristal) wrote :

"Christopher - marked as a dupe of my bug - to test
open a terminal, copy & paste this command & run

LIBOVERLAY_SCROLLBAR=0 calibre

If calibre behaves correctly then the duping was proper

Note that the latest upstream calibre (0.8) works fine as it provides it's own qt4 libs"

Fascinating - it works with the command but not without. I noticed that it was behaving just like my HP fax software (bug 1014701), so I ran LIBOVERLAY_SCROLLBAR=0 hp-sendfax and it launched without problem.

Till Kamppeter (till-kamppeter) wrote :

I have this problem with hp-toolbox (tested with HPLIP 3.12.6 in Quantal). HP-toolbox does not allow resizing the window or moving the separator between the left and the right part of the window. In addition, it grabs all system memory until I kill it.

Starting it with

LIBOVERLAY_SCROLLBAR=0 hp-toolbox

solves all these problems.

Changed in qt4-x11 (Ubuntu):
importance: Undecided → High
Changed in qt4-x11 (Ubuntu):
milestone: none → quantal-alpha-2
Changed in ayatana-scrollbar:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Andrea Cimitan (cimi)
Doug McMahon (mc3man) wrote :

At least here this is the same as in 11.10 prior to the 'kubuntu_93_disable_overlay_scrollbars.diff' patch
It feels like the patch now is having no effect

Changed in qt4-x11 (Ubuntu Quantal):
milestone: quantal-alpha-2 → quantal-alpha-3
Sebastien Bacher (seb128) wrote :

right, 'kubuntu_93_disable_overlay_scrollbars.diff' can't work with the new scrollbars (I'm surprised it work in precise since the api it seems to be using is not in the precise GTK?)

in any case in quantal the GTK patch to add overlay scrollbars is gone and they use a gtkmodule instead, GTK_MODULES should probably be stripped from overlay-scrollbars in Qt to do the equivalent from what you were doing with the disable_overlay_scrollbars patch

Christopher (soft-kristal) wrote :

I believe this has something to do with python2.7. It's a common file between calibre and hplip and seems to break several things. See the attached screenshot from synaptic/python2.7/dependencies.

Barneedhar (barneedhar) wrote :

This bug affects Retext (as reported in bug #1026025) as well. Using "LIBOVERLAY_SCROLLBAR=0 retext" helps fix the issue.

Ubuntu-QC-1 (aobreyss) wrote :

I think this very problem is also the one reported in bug 1003568. How come this is still not fixed when it appeared in 11.10?

Bilal Akhtar (bilalakhtar) wrote :

@Alain-Olivier: It was fixed in 11.10, but has appeared again in 12.10.

tags: added: rls-q-incoming
Changed in qt4-x11 (Ubuntu Quantal):
milestone: quantal-alpha-3 → ubuntu-12.10-beta-1
Doug McMahon (mc3man) wrote :

The new overlay-scrollbar 0.2.16+r353-0ubuntu2 may cause an outright crash in vlc - title before retrace of
vlc crashed with SIGSEGV in QGtkStyle::drawComplexControl()
(there is a private bug filed on somewhere

Seem s to be the same issue as the workarounds prevent the crash

PeterPall (peterpall) wrote :

For me it crashes calibre on quantal.

Andrea Cimitan (cimi) wrote :

We're investigating a solution

Ugo Riboni (uriboni) wrote :

This happens reliably for me every time I use qbzr (version 0.22.2-1) on quantal.

Changed in qt4-x11 (Ubuntu Quantal):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)

Moved yesterday from 11.10 to 12.10 Beta (clean install), and experienced this bug too. I can confirm that this affects the hplip toolbox, but also Spyder (which is a python IDE).

The work-around in comment #5 is all that is needed to get spyder to run properly:

LIBOVERLAY_SCROLLBAR=0 spyder

So I'm happy for now. Thank you all for all the comments here, this is invaluable when one runs into issues like these!

Barry Drake (b-drake) wrote :

Note that in yesterdays Calibre update in Quantal, the problem is still evident and LIBOVERLAY_SCROLLBAR=0 calibre is required for crash not to occur.

Didier Roche (didrocks) on 2012-09-10
summary: Re-emergence of "Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion
- `GTK_IS_WIDGET (widget)'"
+ `GTK_IS_WIDGET (widget)'" Makes vlc and other Qt apps crashing
+ crashing
Changed in qt4-x11 (Ubuntu Quantal):
status: Confirmed → Invalid
Didier Roche (didrocks) on 2012-09-10
Changed in unity-distro-priority:
status: New → Fix Committed
Didier Roche (didrocks) on 2012-09-10
Changed in unity-distro-priority:
importance: Undecided → High

I'm seeing this on my system as well, but the LIBOVERLAY_SCROLLBAR=0 workaround does NOT fix the problem here.

I also tried removing the 'overlay-scrollbar' packages. Vlc, spyder, etc are still crashing.

Peter Würtz (pwuertz) wrote :

Oh ok, I didn't notice that some applications like vlc and spyder stored the invalid window sizes in their config files (.config/vlc, .spyder/). Deleting those and the overlay-scrollbar packages fixes the problem.

Andrea Cimitan (cimi) on 2012-09-12
Changed in ayatana-scrollbar:
assignee: Andrea Cimitan (cimi) → Ted Gould (ted)

I can always reproduce this problem always running ReText

John Swing (john-swing) wrote :

It's really annoying, and the LIBOVERLAY_SCROLLBAR=0 doesn't always work. I hope it will be fixed soon

Albert Astals Cid (aacid) wrote :

LIBOVERLAY_SCROLLBAR=0 should always work as it disables the overlayed scrollbars, if you still get crashes with LIBOVERLAY_SCROLLBAR=0 the problem is somewhere else (or you are having the problem described in comment 20)

Albert Astals Cid (aacid) wrote :

The problem is that the old way that Qt had to tell Gtk not to use the overlay scrollbars (ubuntu_gtk_set_use_overlay_scrollbar) is now basically a noop since the new overlay-scrollbar hijacks the scrollbars at a different level (does not use os_scrollbar_new as it used to use).

It works for most Qt based programs because the new overlay-scrollbar code includes a check to not load itself if the qt_startup_hook symbol is present in the main binary of the problem, thus the issue only happens in programs like "vlc" or "bzr qlog" where Qt is loaded in a plugin of the main binary.

Albert Astals Cid (aacid) wrote :

Changing the qgtkstyle_p.cpp code to

GtkWidget* QGtkStylePrivate::gtkWidget(const QHashableLatin1Literal &path)
{
    GtkWidget *widget = gtkWidgetMap()->value(path);
    if (!widget) {
        // Theme might have rearranged widget internals
        widget = gtkWidgetMap()->value(path);
    }
    if (!widget) {
        const QString name = path.toString();
        if (name == QLatin1String("GtkHScrollbar") || name == QLatin1String("GtkVScrollbar"))
            widget = gtkWidgetMap()->value("OsScrollbar");
    }
    return widget;
}

Fixes the crashes for me, but it still means that the overlay-scrollbar code is being used (even the scrollbars look normal).

Andrea that is the one that did the code is back from holidays tomorrow, I'll try to have a talk with him on how to fix it in a way that's best for everyone.

Changed in ayatana-scrollbar:
assignee: Ted Gould (ted) → Albert Astals Cid (aacid)
status: Confirmed → In Progress
Didier Roche (didrocks) on 2012-09-17
Changed in overlay-scrollbar (Ubuntu Quantal):
status: New → Triaged
milestone: none → ubuntu-12.10-beta-2
importance: Undecided → High
tags: removed: rls-q-incoming
Doug McMahon (mc3man) wrote :

While the current proposed fix resolves fine for vlc & calibre please check the effect on Thunderbird via overlay-scrollbar-gtk2
(crashreporter:15849): Gtk-CRITICAL **: gtk_scrolled_window_adjustment_changed: assertion `adjustment != NULL' failed

(crashreporter:15849): Gtk-CRITICAL **: IA__gtk_range_get_adjustment: assertion `GTK_IS_RANGE (range)' failed
ect.

Albert Astals Cid (aacid) wrote :

Doug i'd say this is a different beast altogether since all the apps people have been reporting in this bug are using Qt as the toolkit to draw their windows and as far as i know Thunderbird is not, I think it'd be safer if you open a different bug to track that one.

Doug McMahon (mc3man) wrote :

Albert -
I only see see new with TB if I apply your proposed diff & rebuild/install the new overlay-scrollbar packages, otherwise TB is fine
Guess it may be better to actually wait till something is released??

Doug McMahon (mc3man) wrote :

In other words, just to be clear - I'm suggesting that the current proposed fix MAY break Thunderbird & thought that should be checked in the approval process

Doug McMahon (mc3man) wrote :

Albert - very sorry for noise - took your branch & installed, all is well
My apologizes...

Ubuntu-QC-1 (aobreyss) wrote :

As seen in bug 1003551 , this also affects Picard and still does.

casparvanster (casparvan) wrote :

for me the advice given in #5 open calibre with command:
'LIBOVERLAY_SCROLLBAR=0 calibre' works, when trying to open calibre other way, system freezes.

Doug McMahon (mc3man) wrote :

The new overlay-scrollbar packages in quantal-proposed crash thunderbird as previously mentioned in comment 28
(that patch didn't crash TB from the branch source but did when applied to the trunk source
bug report - Bug 1055615

(the 'blacklisted _libs patch on another install seems to be working fine

On Mon, Sep 24, 2012 at 04:46:58PM -0000, Doug McMahon wrote:
> The new overlay-scrollbar packages in quantal-proposed crash thunderbird as previously mentioned in comment 28
> (that patch didn't crash TB from the branch source but did when applied to the trunk source
> bug report - Bug 1055615
>
> (the 'blacklisted _libs patch on another install seems to be working
> fine

Cheers. We've had this removed from -proposed now.

--
Iain Lane [ <email address hidden> ]
Debian Developer [ <email address hidden> ]
Ubuntu Developer [ <email address hidden> ]

Can I ask the specific version that's bad?

overlay-scrollbar

  0.2.16+r356-0ubuntu1

packages just showed up on my mirror. I don't know if those were the broken ones Doug mentioned. (In case the removal hasn't propagated yet.) Or if they're a fix. Thanks.

Well, those "0.2.16+r356-0ubuntu1" packages are gone from the updates offered me now, so I guess that answer my question.

Doug McMahon (mc3man) wrote :

Just in case there's some thought to ayatana-scrollbar/trunk r356+01_workaround_qt_overlay_crash.patch
While it works to fix this bug & Doesn't crash Thunderbird I believe it will instead crash ccsm
Thought I'd mention..

Xavier Guillot (valeryan-24) wrote :

Yes, since yesterday updates, Thunderbird does not start anymore :

$ thunderbird
ACR (Component): component init
(thunderbird:5541): Gtk-CRITICAL **: _ubuntu_gtk_overlay_scrollbar_new: assertion `os_scrollbar_new' failed
(thunderbird:5541): Gtk-CRITICAL **: IA__gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed
(thunderbird:5541): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_IS_WIDGET (widget)' failed
(thunderbird:5541): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed

(crashreporter:5561): Gtk-CRITICAL **: _ubuntu_gtk_overlay_scrollbar_new: assertion `os_scrollbar_new' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_set_composite_name: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_set_parent: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_range_get_adjustment: assertion `GTK_IS_RANGE (range)' failed
(crashreporter:5561): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(crashreporter:5561): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(crashreporter:5561): Gtk-CRITICAL **: gtk_scrolled_window_adjustment_changed: assertion `adjustment != NULL' failed
(crashreporter:5561): Gtk-CRITICAL **: _ubuntu_gtk_overlay_scrollbar_new: assertion `os_scrollbar_new' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_set_composite_name: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_set_parent: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_range_get_adjustment: assertion `GTK_IS_RANGE (range)' failed
(crashreporter:5561): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(crashreporter:5561): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(crashreporter:5561): Gtk-CRITICAL **: gtk_scrolled_window_adjustment_changed: assertion `adjustment != NULL' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_range_get_adjustment: assertion `GTK_IS_RANGE (range)' failed
(crashreporter:5561): Gtk-CRITICAL **: IA__gtk_widget_size_request: assertion `GTK_IS_WIDGET (widget)' failed
(crashreporter:5561): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed

Luis Alvarado (luisalvarado) wrote :

The following fixed it for me:

1. Delete everything in the VLC Config folder (Althought you only need to delete the single config file I did all Just in case)

rm -fr ~/.config/vlc/*

2. Execute the variable mentioned in the comments above:

LIBOVERLAY_SCROLLBAR=0

Now execute any video with VLC. The subtitles should work now. The video rendering should be fine again.

NOTE: If you only do LIBOVERLAY_SCROLLBAR=0 it might not work, that is why I mention deleting the config files.

Christopher (soft-kristal) wrote :

VLC was never a problem for me, but hplip was until today. Now if only Thunderbird and Firefox were working properly I would be a happy guy.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package overlay-scrollbar - 0.2.16+r356-0ubuntu2

---------------
overlay-scrollbar (0.2.16+r356-0ubuntu2) quantal-proposed; urgency=low

  * Reuploaded now that gtk2 has a fix for it

overlay-scrollbar (0.2.16+r356-0ubuntu1) quantal-proposed; urgency=low

  * New upstream release:
    - remove a warning
    - update the blacklist
  * debian/patches/01_workaround_qt_overlay_crash.patch:
    avoid crashes in Qt apps, removing the overlay scrollbars for them
    (LP: #1005677)
 -- Didier Roche <email address hidden> Tue, 25 Sep 2012 13:12:47 +0200

Changed in overlay-scrollbar (Ubuntu Quantal):
status: Triaged → Fix Released
Doug McMahon (mc3man) wrote :

Great - all works fine here now, this bug, TB, ccsm, ect.

Christopher (soft-kristal) wrote :

I'm still having a Thunderbird problem on my 32 but not 64 bit version of Quantal. It's behaving as if I don't have permission to download mail unless I open it with sudo in a terminal.

Ubuntu-QC-1 (aobreyss) wrote :

After the latest upgrade of overlay-scrollbar, I am pleased to report that Picard now finally launches properly in Quantal.

Michele Olivo (micheleolivo) wrote :

With latest updates now HP Toolbox ( Related Bug #1014701 ) works withouth graphical chrashes.
Tested on fully updated Ubuntu 12.10 32bit.

Christopher (soft-kristal) wrote :

Ignore my Thunderbird comment. My mail profile is corrupted in some way.

Fixed also for Spyder (on up-to-date 12.10, 64 bit), thanks a lot!

Changed in ayatana-scrollbar:
assignee: Albert Astals Cid (aacid) → nobody
Barneedhar (barneedhar) on 2012-10-07
Changed in unity-distro-priority:
status: Fix Committed → Fix Released
Changed in ayatana-scrollbar:
status: In Progress → Fix Released
Ferenc J. Stefan (vagabond) wrote :

Might help us; maybe already been examinated

LIBOVERLAY_SCROLLBAR=0 calibre
QNativeImage: Unable to attach to shared memory segment.
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id: 0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id: 0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id: 0x0
QNativeImage: Unable to attach to shared memory segment.
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id: 0x0
Terminated

Xqua In The Moon (xqua) wrote :

Still bugged for 12.10 with calibre after overlay-scrollbar update.
But what's weird is that VLC somehow works but I'm not sure if has to do with the removal of the qt-conf file ...

Evan Huus (eapache) wrote :

This just came back in Raring. Could someone with permission please re-open?

Barneedhar (barneedhar) wrote :

@Evan Huus,

File a new bug report. Thanks.

On 11/28/2012 09:34 PM, Evan Huus wrote:
> This just came back in Raring. Could someone with permission please re-
> open?
>
I'd start a new bug against overlay-scrollbar. At least here it's only
affecting calibre atm, vlc seems fine.
The new issue arose with the upgraded overlay-scrollbar packages -
overlay-scrollbar-0.2.16+r359daily12.11.28.1

Again at least here the problem seems to be created by the changes in
build method, not any source change. If I build the new source using the
old debian/rules then there is no issue with calibre..

That's interesting, Doug; thanks.

I probably won't get to making a well-done new bug report right away -- if or when someone does file one, post the number here if you don't mind. Thanks!

Well, I found one new report had already been filed: bug 1084255.

PeterPall (peterpall) on 2012-11-30
description: updated
Bryce Harrington (bryce) on 2013-04-22
summary: Re-emergence of "Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion
- `GTK_IS_WIDGET (widget)'" Makes vlc and other Qt apps crashing
- crashing
+ `GTK_IS_WIDGET (widget)'" Makes vlc and other Qt apps crash
wei qiu (wei) wrote :

This bug reoccured with package overlay-scrollbar 0.2.16.r359daily13.07.18-1

To post a comment you must log in.