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

Bug #1666178 reported by dinamic
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
New
High
Stephen M. Webb
Mir
New
High
Unassigned
gtk+3.0 (Ubuntu)
New
High
Unassigned
kdenlive (Ubuntu)
New
High
Unassigned
mir (Ubuntu)
New
High
Unassigned
qtubuntu (Ubuntu)
New
High
Unassigned
synfigstudio (Ubuntu)
New
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

Revision history for this message
dinamic (dinamic6661) wrote :
Revision history for this message
Apport retracing service (apport) 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

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : StacktraceSource.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
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
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: synfigstudio crashed with SIGABRT in require() from mir_create_modal_dialog_window_spec() from mir_connection_create_spec_for_modal_dialog()

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
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Legacy apps are crashing in mir_create_modal_dialog_window_spec() due to NULL parent pointer

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
Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.