After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 760754 - gedit crashes detaching a tab
gedit crashes detaching a tab
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkNotebook
3.19.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 761206 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-01-17 20:26 UTC by Ignacio Casal Quinteiro (nacho)
Modified: 2016-01-28 18:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ignacio Casal Quinteiro (nacho) 2016-01-17 20:26:24 UTC
Open a tab, detach it by using drag and drop. You will get a seg fault

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff69aac95 in gtk_widget_verify_invariants (widget=0x1030d20) at gtkwidget.c:10262
10262	  if (parent == NULL || parent->priv->verifying_invariants_count == 0)
Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-19.fc23.x86_64 cyrus-sasl-lib-2.1.26-25.2.fc23.x86_64 dbus-libs-1.10.6-1.fc23.x86_64 elfutils-libelf-0.163-4.fc23.x86_64 elfutils-libs-0.163-4.fc23.x86_64 enchant-1.6.0-12.fc23.x86_64 expat-2.1.0-12.fc23.x86_64 fontconfig-2.11.94-4.fc23.x86_64 freetype-2.6.0-3.fc23.x86_64 gmp-6.0.0-12.fc23.x86_64 gnutls-3.4.8-1.fc23.x86_64 http-parser-2.0-9.20121128gitcd01361.fc23.x86_64 hunspell-1.3.3-8.fc23.x86_64 keyutils-libs-1.5.9-7.fc23.x86_64 krb5-libs-1.14-5.fc23.x86_64 libattr-2.4.47-14.fc23.x86_64 libcap-2.24-8.fc23.x86_64 libcom_err-1.42.13-3.fc23.x86_64 libcurl-7.43.0-4.fc23.x86_64 libdrm-2.4.66-1.fc23.x86_64 libffi-3.1-8.fc23.x86_64 libgcc-5.3.1-2.fc23.x86_64 libgcrypt-1.6.4-1.fc23.x86_64 libgee-0.18.0-2.fc23.x86_64 libgpg-error-1.21-1.fc23.x86_64 libICE-1.0.9-3.fc23.x86_64 libidn-1.32-1.fc23.x86_64 libmodman-2.0.1-11.fc23.x86_64 libnghttp2-1.6.0-1.fc23.x86_64 libpng-1.6.19-2.fc23.x86_64 libproxy-0.4.11-12.fc23.x86_64 libselinux-2.4-4.fc23.x86_64 libSM-1.2.2-3.fc23.x86_64 libssh2-1.6.0-3.fc23.x86_64 libstdc++-5.3.1-2.fc23.x86_64 libtasn1-4.5-2.fc23.x86_64 libuuid-2.27.1-2.fc23.x86_64 libX11-1.6.3-2.fc23.x86_64 libXau-1.0.8-5.fc23.x86_64 libxcb-1.11.1-1.fc23.x86_64 libXcomposite-0.4.4-7.fc23.x86_64 libXcursor-1.1.14-4.fc23.x86_64 libXdamage-1.1.4-7.fc23.x86_64 libXext-1.3.3-3.fc23.x86_64 libXfixes-5.0.1-5.fc23.x86_64 libXi-1.7.6-1.fc23.x86_64 libXinerama-1.1.3-5.fc23.x86_64 libxml2-2.9.3-2.fc23.x86_64 libXrandr-1.5.0-2.fc23.x86_64 libXrender-0.9.9-2.fc23.x86_64 libxshmfence-1.2-2.fc23.x86_64 libXxf86vm-1.1.4-2.fc23.x86_64 mesa-libEGL-11.1.0-1.20151218.fc23.x86_64 mesa-libgbm-11.1.0-1.20151218.fc23.x86_64 mesa-libGL-11.1.0-1.20151218.fc23.x86_64 mesa-libglapi-11.1.0-1.20151218.fc23.x86_64 mesa-libwayland-egl-11.1.0-1.20151218.fc23.x86_64 nettle-3.1.1-6.fc23.x86_64 nspr-4.10.10-2.fc23.x86_64 nss-3.21.0-1.1.fc23.x86_64 nss-softokn-freebl-3.21.0-1.1.fc23.x86_64 nss-util-3.21.0-1.0.fc23.x86_64 openldap-2.4.40-14.fc23.x86_64 openssl-libs-1.0.2e-3.fc23.x86_64 p11-kit-0.23.2-1.fc23.x86_64 pcre-8.38-4.fc23.x86_64 pixman-0.33.6-1.fc23.x86_64 python3-cairo-1.10.0-12.fc23.x86_64 python3-libs-3.4.3-5.fc23.x86_64 systemd-libs-222-12.fc23.x86_64 xz-libs-5.2.1-3.fc23.x86_64 zlib-1.2.8-9.fc23.x86_64
(gdb) t a a bt

Thread 1 (Thread 0x7ffff7f19a80 (LWP 22642))

  • #0 gtk_widget_verify_invariants
    at gtkwidget.c line 10262
  • #1 gtk_widget_verify_child_invariants
    at gtkwidget.c line 10353
  • #2 gtk_notebook_forall
    at gtknotebook.c line 4566
  • #3 gtk_container_forall
    at gtkcontainer.c line 2405
  • #4 gtk_widget_pop_verify_invariants
    at gtkwidget.c line 10377
  • #5 gtk_widget_size_allocate_with_baseline
    at gtkwidget.c line 6166
  • #6 gtk_widget_ensure_allocate
    at gtkwidget.c line 16422
  • #7 gtk_grid_forall
    at gtkgrid.c line 542
  • #8 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #9 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #10 gtk_paned_forall
    at gtkpaned.c line 2325
  • #11 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #12 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #13 gtk_box_forall
    at gtkbox.c line 2657
  • #14 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #15 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #16 gtk_paned_forall
    at gtkpaned.c line 2327
  • #17 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #18 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #19 gtk_box_forall
    at gtkbox.c line 2657
  • #20 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #21 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #22 gtk_overlay_forall
    at gtkoverlay.c line 617
  • #23 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #24 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #25 gtk_window_forall
    at gtkwindow.c line 8273
  • #26 gtk_application_window_real_forall_internal
    at gtkapplicationwindow.c line 738
  • #27 gtk_container_foreach
    at gtkcontainer.c line 2432
  • #28 gtk_widget_ensure_allocate
    at gtkwidget.c line 16429
  • #29 gtk_container_real_check_resize
    at gtkcontainer.c line 2173
  • #30 gtk_window_check_resize
    at gtkwindow.c line 8245
  • #31 g_cclosure_marshal_VOID__VOIDv
    at gmarshal.c line 905
  • #32 g_type_class_meta_marshalv
    at gclosure.c line 1024
  • #33 _g_closure_invoke_va
    at gclosure.c line 867
  • #34 g_signal_emit_valist
    at gsignal.c line 3294
  • #35 g_signal_emit
    at gsignal.c line 3441
  • #36 gtk_container_check_resize
    at gtkcontainer.c line 2138
  • #37 gtk_container_idle_sizer
    at gtkcontainer.c line 2026
  • #38 g_cclosure_marshal_VOID__VOIDv
    at gmarshal.c line 905
  • #39 _g_closure_invoke_va
    at gclosure.c line 867
  • #40 g_signal_emit_valist
    at gsignal.c line 3294
  • #41 g_signal_emit_by_name
    at gsignal.c line 3481
  • #42 gdk_frame_clock_paint_idle
    at gdkframeclockidle.c line 408
  • #43 gdk_threads_dispatch
    at gdk.c line 720
  • #44 g_timeout_dispatch
    at gmain.c line 4577
  • #45 g_main_dispatch
    at gmain.c line 3154
  • #46 g_main_context_dispatch
    at gmain.c line 3769
  • #47 g_main_context_iterate
    at gmain.c line 3840
  • #48 g_main_context_iteration
    at gmain.c line 3901
  • #49 g_application_run
    at gapplication.c line 2363
  • #50 main
    at gedit/gedit.c line 146

Comment 1 Ignacio Casal Quinteiro (nacho) 2016-01-17 21:02:22 UTC
git bisect points to:

commit 3a8dc01ed22ca627720642f5dcb53c66cd18b2ba
Author: Benjamin Otte <otte@redhat.com>
Date:   Mon Jan 11 17:52:38 2016 +0100

    notebook: Don't reparent tab label when drag stops
    
    Use the same unrealize + set_parent_window() trick that we used in
    6d5edd18cf5637274762b7a51488d27d5bed600d when dragging starts.

To be more specific drag the tab out of the notebook and drop it on the same window text view.
Comment 2 Ignacio Casal Quinteiro (nacho) 2016-01-20 15:08:52 UTC
I am reopening this since I am getting another crash now reproducing it on the same way:

(gedit:22490): Gtk-CRITICAL **: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed
sys:1: Warning: invalid (NULL) pointer instance
sys:1: Warning: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
sys:1: Warning: Source ID 720 was not found when attempting to remove it

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff699fd8c in gtk_widget_destroy (widget=0x11033d0) at gtkwidget.c:4707
4707	  g_return_if_fail (GTK_IS_WIDGET (widget));
Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-19.fc23.x86_64 cyrus-sasl-lib-2.1.26-25.2.fc23.x86_64 dbus-libs-1.10.6-1.fc23.x86_64 elfutils-libelf-0.163-4.fc23.x86_64 elfutils-libs-0.163-4.fc23.x86_64 enchant-1.6.0-12.fc23.x86_64 expat-2.1.0-12.fc23.x86_64 fontconfig-2.11.94-4.fc23.x86_64 freetype-2.6.0-3.fc23.x86_64 gmp-6.0.0-12.fc23.x86_64 gnutls-3.4.8-1.fc23.x86_64 http-parser-2.0-9.20121128gitcd01361.fc23.x86_64 hunspell-1.3.3-8.fc23.x86_64 keyutils-libs-1.5.9-7.fc23.x86_64 krb5-libs-1.14-5.fc23.x86_64 libattr-2.4.47-14.fc23.x86_64 libcap-2.24-8.fc23.x86_64 libcom_err-1.42.13-3.fc23.x86_64 libcurl-7.43.0-4.fc23.x86_64 libdrm-2.4.66-1.fc23.x86_64 libffi-3.1-8.fc23.x86_64 libgcc-5.3.1-2.fc23.x86_64 libgcrypt-1.6.4-1.fc23.x86_64 libgee-0.18.0-2.fc23.x86_64 libgpg-error-1.21-1.fc23.x86_64 libICE-1.0.9-3.fc23.x86_64 libidn-1.32-1.fc23.x86_64 libmodman-2.0.1-11.fc23.x86_64 libnghttp2-1.6.0-1.fc23.x86_64 libpng-1.6.19-2.fc23.x86_64 libproxy-0.4.11-12.fc23.x86_64 libselinux-2.4-4.fc23.x86_64 libSM-1.2.2-3.fc23.x86_64 libssh2-1.6.0-3.fc23.x86_64 libstdc++-5.3.1-2.fc23.x86_64 libtasn1-4.5-2.fc23.x86_64 libuuid-2.27.1-2.fc23.x86_64 libX11-1.6.3-2.fc23.x86_64 libXau-1.0.8-5.fc23.x86_64 libxcb-1.11.1-1.fc23.x86_64 libXcomposite-0.4.4-7.fc23.x86_64 libXcursor-1.1.14-4.fc23.x86_64 libXdamage-1.1.4-7.fc23.x86_64 libXext-1.3.3-3.fc23.x86_64 libXfixes-5.0.1-5.fc23.x86_64 libXi-1.7.6-1.fc23.x86_64 libXinerama-1.1.3-5.fc23.x86_64 libxml2-2.9.3-2.fc23.x86_64 libXrandr-1.5.0-2.fc23.x86_64 libXrender-0.9.9-2.fc23.x86_64 libxshmfence-1.2-2.fc23.x86_64 libXxf86vm-1.1.4-2.fc23.x86_64 mesa-libEGL-11.1.0-2.20151218.fc23.x86_64 mesa-libgbm-11.1.0-2.20151218.fc23.x86_64 mesa-libGL-11.1.0-2.20151218.fc23.x86_64 mesa-libglapi-11.1.0-2.20151218.fc23.x86_64 mesa-libwayland-egl-11.1.0-2.20151218.fc23.x86_64 nettle-3.1.1-6.fc23.x86_64 nspr-4.10.10-2.fc23.x86_64 nss-3.21.0-1.1.fc23.x86_64 nss-softokn-freebl-3.21.0-1.1.fc23.x86_64 nss-util-3.21.0-1.0.fc23.x86_64 openldap-2.4.40-14.fc23.x86_64 openssl-libs-1.0.2e-3.fc23.x86_64 p11-kit-0.23.2-1.fc23.x86_64 pcre-8.38-4.fc23.x86_64 pixman-0.33.6-1.fc23.x86_64 python3-cairo-1.10.0-12.fc23.x86_64 python3-libs-3.4.3-5.fc23.x86_64 systemd-libs-222-12.fc23.x86_64 xz-libs-5.2.1-3.fc23.x86_64 zlib-1.2.8-9.fc23.x86_64
(gdb) t a a bt

Thread 1 (Thread 0x7ffff7f19a80 (LWP 22490))

  • #0 gtk_widget_destroy
    at gtkwidget.c line 4707
  • #1 gtk_drag_source_info_free
    at gtkdnd.c line 3202
  • #2 g_datalist_clear
    at gdataset.c line 273
  • #3 g_object_finalize
    at gobject.c line 1040
  • #4 gdk_drag_context_finalize
    at gdkdnd.c line 263
  • #5 gdk_x11_drag_context_finalize
    at gdkdnd-x11.c line 295
  • #6 g_object_unref
    at gobject.c line 3183
  • #7 g_signal_emit_valist
    at gsignal.c line 3344
  • #8 g_signal_emit_by_name
    at gsignal.c line 3481
  • #9 gdk_dnd_handle_drop_finished
    at gdkdnd-x11.c line 3088
  • #10 gdk_x11_drag_context_handle_event
    at gdkdnd-x11.c line 3118
  • #11 gdk_drag_context_handle_source_event
    at gdkdnd.c line 732
  • #12 _gdk_event_emit
    at gdkevents.c line 69
  • #13 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #14 g_main_dispatch
    at gmain.c line 3154
  • #15 g_main_context_dispatch
    at gmain.c line 3769
  • #16 g_main_context_iterate
    at gmain.c line 3840
  • #17 g_main_context_iteration
    at gmain.c line 3901
  • #18 g_application_run
    at gapplication.c line 2363
  • #19 main
    at gedit/gedit.c line 146

Comment 3 Matthias Clasen 2016-01-21 01:23:14 UTC
I think this was fixed ?
Comment 4 Benjamin Otte (Company) 2016-01-28 18:13:31 UTC
*** Bug 761206 has been marked as a duplicate of this bug. ***