Closed Bug 1186967 Opened 9 years ago Closed 7 years ago

double-click on tab-bar crashes Firefox on Linux

Categories

(Core :: Widget: Gtk, defect, P2)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox-esr52 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- fixed

People

(Reporter: StMichalke, Assigned: stransky)

References

(Blocks 1 open bug, )

Details

(Keywords: crash, Whiteboard: tpi:+)

Crash Data

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0
Build ID: 2015072302

Steps to reproduce:

I double-clicked on empty space within the tab-bar (mouse button 1).


Actual results:

Firefox crashed.


Expected results:

Nothing notable.

You can find further information under
https://crash-stats.mozilla.com/report/index/2129a096-a23d-4cb0-b376-953722150723

I compile firefox myself from the nightly repository. This bug has been there for months, firefox beeing linked against several versions of gtk3.
Does it crash with Nightly built by Mozilla? https://nightly.mozilla.org/
Flags: needinfo?(StMichalke)
Yes, cf.
https://crash-stats.mozilla.com/report/index/205a695a-d0f2-4484-9058-fdf8d2150727

STDERR says:
(firefox:10983): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(firefox:10983): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(plugin-container:11024): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(plugin-container:11024): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
**
Gdk:ERROR:gdkwindow-x11.c:5129:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
Redirecting call to abort() to mozalloc_abort

[Child 11024] ###!!! ABORT: Aborting on channel error.: file /builds/slave/m-cen-l64-ntly-000000000000000/build/src/ipc/glue/MessageChannel.cpp, line 1753
[Child 11024] ###!!! ABORT: Aborting on channel error.: file /builds/slave/m-cen-l64-ntly-000000000000000/build/src/ipc/glue/MessageChannel.cpp, line 1753
Flags: needinfo?(StMichalke)
I can confirm this problem. I upgraded firefox 42.0-3 to 43.0.1-1 on Archlinux and now a doubleclick on the tab bar crashes firefox (even in safe-mode) with

--------------
Gdk:ERROR:gdkwindow-x11.c:5129:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
Redirecting call to abort() to mozalloc_abort

zsh: segmentation fault (core dumped)  firefox
--------------
Component: Toolbars and Toolbar Customization → Widget: Gtk
Product: Toolkit → Core
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Summary: double-click on tab-bar crashes Firefox → double-click on tab-bar crashes Firefox on Linux
Not reproducing with the same GTK+ version 3.16.6 here (Gentoo/KDE).
Blocks: gtk3
Are you using a custom theme? If so, please try to reproduce with the default Adwaita theme.
The problem also occurs using the default theme.

--------------
> GTK_THEME=/usr/share/themes/Default/gtk-3.0/gtk-keys.css firefox --safe-mode

**
Gdk:ERROR:gdkwindow-x11.c:5129:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
Redirecting call to abort() to mozalloc_abort

zsh: segmentation fault (core dumped)
--------------

I also wondered if it had anything to do with the window manager (xmonad) but the problem also occurs if I exec xterm in .xinitrc instead of loading a window manager and then run firefox --safe-mode from there.

Some infos about the versions of dependencies of firefox:
gtk3: 3.18.6-1 
gtk2: 2.24.29-1 
mozilla-common: 1.4-4 
libxt: 1.1.5-1 
startup-notification: 0.12-4 
mime-types: 9-1 
dbus-glib: 0.104-1 
alsa-lib: 1.1.0-1 
desktop-file-utils: 0.22-1 
hicolor-icon-theme: 0.15-1 
libvpx: 1.5.0-3 
icu: 56.1-2 
libevent: 2.0.22-1 
nss: 3.20.1-1 
hunspell: 1.3.3-3 
sqlite: 3.9.2-1

For anyone who has this problem, there's a heavy-handed workaround to at least prevent firefox from crashing: Install the Tab Mix Plus extension, go to Add-ons > Tab Mix Plus [Preferences] > Mouse > Mouse Clicking > Double-click and tick the box "Prevent clicking on Tab-bar from dragging the window". This will make firefox ignore all clicks on the tab bar.
That should have been GTK_THEME=Adwaita .
Sorry about that. Still the problem persists.

--------------
> GTK_THEME=Adwaita firefox --safe-mode                                           
**                        
Gdk:ERROR:gdkwindow-x11.c:5129:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulatio
Redirecting call to abort() to mozalloc_abort

zsh: segmentation fault (core dumped)
--------------
I can also confirm this problem on ArchLinux. It happens even with a new profile, or if I wipe ~/.mozilla
Ah-ha! Replacing the dwm windowmanager with (e.g.) openbox solves this issue for me.
per three reproduce reports.
Severity: normal → critical
Status: UNCONFIRMED → NEW
Crash Signature: [@ mozalloc_abort(char const*) | abort | libglib-2.0.so.0.4504.0@0x5c544 ]
Ever confirmed: true
Keywords: crash
This is a new bug for me on Arch Linux - I use ratpoison, and judging from the struct, I assume it is related to a tiling WM and not GTK versions specifically.

At some point, double clicking the tab bar stopped creating a new tab and now tries to move the window (which the WM doesn't allow).
https://bugs.chromium.org/p/chromium/issues/detail?id=190986#c7 points to a suspected cause.

Perhaps the drag could be disabled on window managers that don't support _NET_WM_MOVERESIZE.
Priority: -- → P2
Whiteboard: tpi:+
using Archlinux + Windowmaker

How to reproduce: double click on the empty space on tabs bar, that will maximie Firefox, do it again to restore and this time it will crash with this message:

Gdk:ERROR:gdkwindow-x11.c:5147:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
Redirecting call to abort() to mozalloc_abort

Segmentation fault (core dumped)
I can confirm this bug on Firefox-52.0. Firefox-ESR-45.7.0 isn't affected by this bug for me.
 
> GTK_THEME=/usr/share/themes/Default/gtk-3.0/gtk-keys.css firefox --safe-mode`


double click on tabbar, firefox crashed

> **
> Gdk:ERROR:gdkwindow-x11.c:5165:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
> Redirecting call to abort() to mozalloc_abort
> 
> Segmentation fault (core dumped)


Archlinux, Linux-4.9.13, dwm-6.1
This is probably only gtk3 bug. I just install firefox52 as gtk2 version from aur and multiclick on empty tabbar open new tab. no crash. If i run firefox/thunderbird with gtk3 look, then multiclick on tabbar make segfault.
im using archlinux and icewm
I can reproduce that on icewm, Fedora 26. That's a bug in gdk_x11_window_begin_move_drag() emulation for WM without "_NET_WM_MOVERESIZE" hint as mentioned Karlt at comment 15.

Gtk+ bug: https://bugzilla.gnome.org/show_bug.cgi?id=789054
Assignee: nobody → stransky
Attachment #8919179 - Flags: review?(jhorak)
Comment on attachment 8919179 [details]
Bug 1186967 - ignore double-click on WM without _NET_WM_MOVERESIZE support,

https://reviewboard.mozilla.org/r/190092/#review196364
Attachment #8919179 - Flags: review?(jhorak) → review+
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/8a595cffab11
ignore double-click on WM without _NET_WM_MOVERESIZE support, r=jhorak
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/8a595cffab11
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
This has been around a really long time and crash-stats doesn't seem to show the signature much at all (though I'm guessing that's due to where distro crash reports end up?). Do you have any thoughts as to whether this can ride 58 to release or should we consider it for backport to 57 as well?
Flags: needinfo?(stransky)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #25)
> This has been around a really long time and crash-stats doesn't seem to show
> the signature much at all (though I'm guessing that's due to where distro
> crash reports end up?). Do you have any thoughts as to whether this can ride
> 58 to release or should we consider it for backport to 57 as well?

I don't think we need to backport as the alternative WM are not very widespread and I don't have any such report at Fedora.
Flags: needinfo?(stransky)
This problem seems to still be reproducible from 57.0.2 to current nightly.

My console output is the same as the one in this thread:

Gdk:ERROR:gdkwindow-x11.c:5165:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)

So I'm assuming this is the same bug.
Sorry, please ignore my comments. I wasn't on the latest nightly.
(In reply to Yuxuan Shui from comment #27)
> This problem seems to still be reproducible from 57.0.2 to current nightly.
> 
> My console output is the same as the one in this thread:
> 
> Gdk:ERROR:gdkwindow-x11.c:5165:create_moveresize_window: assertion failed:
> (mv_resize->moveresize_emulation_window == NULL)
> 
> So I'm assuming this is the same bug.

You are right, I have the same problem.
Firefox 57.0.3, Archlinux, AwesomeWM

$ firefox
**
Gdk:ERROR:gdkwindow-x11.c:5165:create_moveresize_window: assertion failed: (mv_resize->moveresize_emulation_window == NULL)
Redirecting call to abort() to mozalloc_abort

ExceptionHandler::GenerateDump cloned child 4799
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
$ firefox --version
Mozilla Firefox 57.0.3
(In reply to antoniospadaro45 from comment #29)
> You are right, I have the same problem.
> Firefox 57.0.3, Archlinux, AwesomeWM
> 
> $ firefox
> **
> Gdk:ERROR:gdkwindow-x11.c:5165:create_moveresize_window: assertion failed:
> (mv_resize->moveresize_emulation_window == NULL)
> Redirecting call to abort() to mozalloc_abort
> 
> ExceptionHandler::GenerateDump cloned child 4799
> ExceptionHandler::SendContinueSignalToChild sent continue signal to child
> ExceptionHandler::WaitForContinueSignal waiting for continue signal...
> $ firefox --version
> Mozilla Firefox 57.0.3

Yes, because it's fixed at Firefox 58.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: