Qt & GTK apps are crashing with SIGABRT in mir_create_modal_dialog_window_spec() due to NULL parent pointer

Bug #1666178 reported by dinamic on 2017-02-20
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Stephen M. Webb
Mir
New
High
Unassigned
gtk+3.0 (Ubuntu)
High
Unassigned
kdenlive (Ubuntu)
High
Unassigned
mir (Ubuntu)
High
Unassigned
qtubuntu (Ubuntu)
High
Unassigned
synfigstudio (Ubuntu)
High
Unassigned

Bug Description

Qt & GTK apps are crashing with SIGABRT in mir_create_modal_dialog_window_spec() due to NULL parent pointer

ProblemType: Crash
DistroRelease: Ubuntu 17.04
Package: synfigstudio 1.0.2-1build1
ProcVersionSignature: Ubuntu 4.10.0-8.10-generic 4.10.0-rc8
Uname: Linux 4.10.0-8-generic x86_64
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
CrashCounter: 1
CurrentDesktop: Unity:Unity8
Date: Mon Feb 20 11:43:49 2017
ExecutablePath: /usr/bin/synfigstudio
InstallationDate: Installed on 2016-12-12 (69 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Alpha amd64 (20161108)
ProcCmdline: synfigstudio
Signal: 6
SourcePackage: synfigstudio
StacktraceTop:
 mir_create_modal_dialog_window_spec () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9
 mir_connection_create_spec_for_modal_dialog () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9
 ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
 ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
Title: synfigstudio crashed with SIGABRT in mir_create_modal_dialog_window_spec()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

dinamic (dinamic6661) wrote :

StacktraceTop:
 require () at ./src/include/common/mir/require.h:28
 mir_create_modal_dialog_window_spec (connection=0x55a59cc97960, width=539, height=164, parent=0x0) at ./src/client/mir_surface_api.cpp:108
 mir_connection_create_spec_for_modal_dialog (connection=<optimized out>, width=<optimized out>, height=<optimized out>, format=mir_pixel_format_argb_8888, parent=<optimized out>) at ./src/client/mir_surface_api.cpp:931
 create_window_type_spec (buffer_usage=<optimized out>, type=<optimized out>, modal=<optimized out>, height=<optimized out>, width=<optimized out>, y=0, x=0, parent=0x0, display=0x55a59cc9a040) at ././gdk/mir/gdkmirwindowimpl.c:385
 create_spec (window=window@entry=0x55a59dcdeaf0, impl=impl@entry=0x55a59d6d9e70) at ././gdk/mir/gdkmirwindowimpl.c:431

Changed in gtk+3.0 (Ubuntu):
importance: Undecided → Medium
summary: - synfigstudio crashed with SIGABRT in
- mir_create_modal_dialog_window_spec()
+ synfigstudio crashed with SIGABRT in require()
tags: removed: need-amd64-retrace

It's apparently a GTK bug, failing to pass a parent pointer:

MirWindowSpec* mir_create_modal_dialog_window_spec(MirConnection* connection,
                                                   int width, int height,
                                                   MirWindow* parent)
{
    mir::require(mir_window_is_valid(parent));

Although that might also be correct... Does it have a parent?

information type: Private → Public
summary: - synfigstudio crashed with SIGABRT in require()
+ synfigstudio crashed with SIGABRT in require() from
+ mir_create_modal_dialog_window_spec() from
+ mir_connection_create_spec_for_modal_dialog()
Changed in gtk+3.0 (Ubuntu):
importance: Medium → High
Changed in mir (Ubuntu):
importance: Undecided → Medium
Changed in mir:
importance: Undecided → Medium
tags: added: gtk-mir

OK, from the duplicate bug I can see the common theme. We either have buggy toolkits, or just some legacy apps expect to create "modal" dialogs without a parent window. I'm not sure if that's an app bug, but Mir will certainly abort() if you ask for that.

summary: - synfigstudio crashed with SIGABRT in require() from
- mir_create_modal_dialog_window_spec() from
- mir_connection_create_spec_for_modal_dialog()
+ Legacy apps are crashing in mir_create_modal_dialog_window_spec() due to
+ NULL parent pointer
Changed in mir:
importance: Medium → High
Changed in kdenlive (Ubuntu):
importance: Undecided → High
Changed in mir (Ubuntu):
importance: Medium → High
Changed in qtubuntu (Ubuntu):
importance: Undecided → High
Changed in synfigstudio (Ubuntu):
importance: Undecided → High
summary: - Legacy apps are crashing in mir_create_modal_dialog_window_spec() due to
- NULL parent pointer
+ Legacy apps are crashing with SIGABRT in
+ mir_create_modal_dialog_window_spec() due to NULL parent pointer
Changed in mir:
milestone: none → 1.0.0
tags: added: clientapi
Daniel van Vugt (vanvugt) wrote :

Seems like the right answer in some cases might be:

MirWindowSpec*
mir_create_dialog_window_spec(MirConnection* connection,
                              int width, int height);

summary: - Legacy apps are crashing with SIGABRT in
+ Qt & GTK apps are crashing with SIGABRT in
mir_create_modal_dialog_window_spec() due to NULL parent pointer
description: updated
dinamic (dinamic6661) wrote :

another crash with terminix https://bugs.launchpad.net/ubuntu/+source/terminix/+bug/1668473

it's pretty easy to reproduce, install terminix, from menu -> Settings. instant crash

Changed in canonical-devices-system-image:
milestone: none → u8c-1
importance: Undecided → High
tags: added: unity8-desktop
Changed in canonical-devices-system-image:
assignee: nobody → Stephen M. Webb (bregma)
Changed in canonical-devices-system-image:
milestone: u8c-1 → u8c-z
Changed in mir:
milestone: 0.27.0 → 0.28.0
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers