Bug#904588: supercollider: Stretch i386 Supercollider fails with segmentation fault
Bernhard Übelacker
bernhardu at mailbox.org
Tue Jul 31 10:51:49 BST 2018
Hello Knut,
Am 31.07.2018 um 00:37 schrieb Knut Jackowski:
> So not sure how you see it, but I think that this is more a case of
> borking one's own system and not a bug.
I think it is not that easy, this might still be a bug. But yes, when
the configuration gets more and more unique, the more not that widely
used code paths get executed ... especially in this case with
gtk2 less used nowadays.
With the last informations I could inspect the location
given in message #15, but still not reproduce a crash.
So in your scite process it looks like variable display_x11 has an
invalid value. But this could just happen if either _gdk_display_x11_get_type
returns something strange, the allocation by g_object_new fails
or the following cast does something unexpected.
Kind regards,
Bernhard
apt install xserver-xorg sddm openbox xterm systemd-coredump gdb valgrind supercollider dpkg-dev devscripts qt5-style-plugins gtk-theme-switch libqt5widgets5-dbgsym qt5-style-plugins-dbgsym libgtk2.0-0-dbg libglib2.0-0-dbg
apt source libqt5widgets5
apt source qt5-style-plugins
apt source libgtk2.0-0
apt source libglib2.0-0
directory /home/benutzer/qtbase-opensource-src/orig/qtbase-opensource-src-5.7.1+dfsg/src/corelib
directory /home/benutzer/qt5-style-plugins/orig/qtstyleplugins-src-5.0.0+git16.g7aa4764/src/plugins/styles/gtk2
directory /home/benutzer/libgtk2.0-0/orig/gtk+2.0-2.24.31
directory /home/benutzer/libglib2.0-0/glib2.0-2.50.3/gobject
Thread 1 "scide" hit Breakpoint 12, IA__gdk_display_open (display_name=0x0) at ./gdk/x11/gdkdisplay-x11.c:173
173 display_x11->use_xshm = TRUE;
1: x/i $pc
=> 0xaf39259f <IA__gdk_display_open+79>: movl $0x1,0xb8(%eax)
(gdb) bt
#0 IA__gdk_display_open (display_name=0x0) at ./gdk/x11/gdkdisplay-x11.c:173
#1 0xaf3603b9 in IA__gdk_display_open_default_libgtk_only () at ./gdk/gdk.c:324
#2 0xaf52a7b5 in IA__gtk_init_check (argv=0x0, argc=0x0) at ./gtk/gtkmain.c:1006
#3 IA__gtk_init (argc=0x0, argv=0x0) at ./gtk/gtkmain.c:1053
#4 0xafa92d37 in QGtkStylePrivate::initGtkWidgets (this=0x5f5048) at qgtkstyle_p.cpp:276
#5 0xafa945ea in QGtk2StylePlugin::create (this=0x5f4660, key=...) at plugin.cpp:51
#6 0xb45c4dc0 in qLoadPlugin<QStyle, QStylePlugin> (key=..., loader=<optimized out>) at ../../include/QtCore/5.7.1/QtCore/private/../../../../../src/corelib/plugin/qfactoryloader_p.h:103
#7 QStyleFactory::create (key=...) at styles/qstylefactory.cpp:158
#8 0xb45510ec in QApplication::style () at kernel/qapplication.cpp:1138
#9 0xb455140d in QApplicationPrivate::initialize (this=0x5c4f98) at kernel/qapplication.cpp:651
#10 0xb4551471 in QApplicationPrivate::init (this=0x5c4f98) at kernel/qapplication.cpp:592
#11 0xb45514f1 in QApplication::QApplication (this=0xbffff63c, argc=@0xbffff6c0: 1, argv=0xbffff754, _internal=329473) at kernel/qapplication.cpp:575
#12 0x0042b119 in ?? ()
#13 0xb34dd286 in __libc_start_main (main=0x42b0d0, argc=1, argv=0xbffff754, init=0x527920 <__libc_csu_init>, fini=0x527980 <__libc_csu_fini>, rtld_fini=0xb7feb070 <_dl_fini>, stack_end=0xbffff74c) at ../csu/libc-start.c:291
#14 0x0042ca1d in _start ()
(gdb)
(gdb) list gdk_display_open
149 GdkDisplay *
150 gdk_display_open (const gchar *display_name)
151 {
152 Display *xdisplay;
153 GdkDisplay *display;
154 GdkDisplayX11 *display_x11;
155 GdkWindowAttr attr;
156 gint argc;
157 gchar *argv[1];
158 const char *sm_client_id;
159
160 XClassHint *class_hint;
161 gulong pid;
162 gint i;
163 gint ignore;
164 gint maj, min;
165
166 xdisplay = XOpenDisplay (display_name);
167 if (!xdisplay)
168 return NULL;
169
170 display = g_object_new (GDK_TYPE_DISPLAY_X11, NULL);
171 display_x11 = GDK_DISPLAY_X11 (display);
172
173 display_x11->use_xshm = TRUE;
174 display_x11->xdisplay = xdisplay;
175
(gdb)
./gdk/x11/gdkdisplay-x11.h:#define GDK_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_X11, GdkDisplayX11))
./gdk/x11/gdkdisplay-x11.h:#define GDK_TYPE_DISPLAY_X11 (_gdk_display_x11_get_type())
0xaf39257b <+43>: call 0xaf35e2b0 <XOpenDisplay at plt>
0xaf392580 <+48>: add $0x10,%esp
0xaf392583 <+51>: test %eax,%eax
0xaf392585 <+53>: je 0xaf392c95 <IA__gdk_display_open+1861>
0xaf39258b <+59>: mov %eax,%esi
0xaf39258d <+61>: call 0xaf392420 <_gdk_display_x11_get_type>
0xaf392592 <+66>: sub $0x8,%esp
0xaf392595 <+69>: push $0x0
0xaf392597 <+71>: push %eax
0xaf392598 <+72>: call 0xaf35e400 <g_object_new at plt>
0xaf39259d <+77>: mov %eax,%edi
=> 0xaf39259f <+79>: movl $0x1,0xb8(%eax)
More information about the pkg-multimedia-maintainers
mailing list