On Wed, Feb 18, 2009 at 02:30:58AM +0100, Josselin Mouette wrote:
> thanks to Sven Neumann who jumped in very quickly to resolve this issue,
> we now have a set of GTK+ 2.14 packages that are supposed to have a
> working DirectFB backend.
>
> I have just uploaded this version (2.14.7-2) to experimental. The
> packages should install fine on unstable, so there is no need to upgrade
> anything else.
>
> What I need now is volunteers to test them, so that’s where debian-boot
> is welcome to have a look. If you meet any major issues with this
> version, please send the relevant debugging information or a test
> program with instructions.
The graphical installer fails to start with this version as the result
of a segfault.
cdebconf GTK+ frontend also segfaults when using DirectFB/X11 on a
normal system. Here's the test procedure and the resulting stacktrace:
$ apt-get source cdebconf && cd cdebconf-0.138lenny2
$ ./configure --with-frontend=gtk --enable-d-i \
--with-conffile=./cdebconf.conf
$ make
$ cd src/test
$ sed -n -e 's/"text"/"gtk"/' -e '/^global/,+31p' \
../../doc/testing.txt > cdebconf.conf
$ ../debconf-loadtemplate d-i test.templates
$ ../debconf test.config
You also need to have libdirectfb-1.0-extra installed and to put in your
~/.directfbrc:
system=x11
When run under GDB, the previous command result in the following:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f9ccdbde6e0 (LWP 32596)]
0x00007f9ccc4269bc in IA__gdk_window_set_events (window=0x969350, event_mask=64514)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gdk/gdkwindow.c:3608
3608 GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_events (window, event_mask);
(gdb) bt full
#0 0x00007f9ccc4269bc in IA__gdk_window_set_events (window=0x969350, event_mask=64514)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gdk/gdkwindow.c:3608
__PRETTY_FUNCTION__ = "IA__gdk_window_set_events"
#1 0x00007f9ccc43cbb0 in gdk_directfb_window_new (parent=0x9690d0, attributes=0x7fffd5c041f0,
attributes_mask=<value optimized out>, window_caps=<value optimized out>, window_options=DWOP_NONE,
surface_caps=<value optimized out>)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gdk/directfb/gdkwindow-directfb.c:500
window = (GdkWindow *) 0x969350
impl = <value optimized out>
visual = <value optimized out>
desc = {flags = 3442835024, caps = 32668, width = 98, height = 0, pixelformat = -852132272,
posx = 32668, posy = 10055824, surface_caps = DSCAPS_NONE}
x = 0
y = 0
__PRETTY_FUNCTION__ = "gdk_directfb_window_new"
#2 0x00007f9ccc42579e in IA__gdk_window_new (parent=0x9690d0, attributes=0x978ca0, attributes_mask=9930544)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gdk/gdkwindow.c:374
window = <value optimized out>
__PRETTY_FUNCTION__ = "IA__gdk_window_new"
#3 0x00007f9ccc8c2e98 in gtk_window_realize (widget=0x997080)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gtk/gtkwindow.c:4615
parent_window = (GdkWindow *) 0x9690d0
attributes = {title = 0x0, event_mask = 64514, x = 480, y = -863231872, width = 640, height = 480,
wclass = GDK_INPUT_OUTPUT, visual = 0x97a8c0, colormap = 0x9431c0, window_type = GDK_WINDOW_TOPLEVEL,
cursor = 0xaff900, wmclass_name = 0x99cc20 "<unknown>", wmclass_class = 0x9a0bc0 "<unknown>",
override_redirect = 9998896, type_hint = GDK_WINDOW_TYPE_HINT_NORMAL}
__PRETTY_FUNCTION__ = "gtk_window_realize"
#4 0x00007f9ccb1b911d in IA__g_closure_invoke (closure=0x989230, return_value=0x0, n_param_values=1,
param_values=0xaff900, invocation_hint=0x7fffd5c043e0)
at /build/buildd/glib2.0-2.18.4/gobject/gclosure.c:767
marshal = (GClosureMarshal) 0x7f9ccb1b7620 <g_type_class_meta_marshal>
marshal_data = (gpointer) 0xe0
__PRETTY_FUNCTION__ = "IA__g_closure_invoke"
#5 0x00007f9ccb1cc628 in signal_emit_unlocked_R (node=0x989430, detail=0, instance=0x997080,
emission_return=0x0, instance_and_params=0xaff900) at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:3174
accumulator = (SignalAccumulator *) 0x0
emission = {next = 0x7fffd5c04870, instance = 0x997080, ihint = {signal_id = 14, detail = 0,
run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 9991936}
class_closure = (GClosure *) 0x989230
handler_list = (Handler *) 0x0
return_accu = (GValue *) 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 14
max_sequential_handler_number = 17
return_value_altered = 0
#6 0x00007f9ccb1ce1d8 in IA__g_signal_emit_valist (instance=0x997080, signal_id=<value optimized out>,
detail=0, var_args=0x7fffd5c045c0) at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:2977
signal_return_type = 4
param_values = (GValue *) 0xaff918
node = (SignalNode *) 0x989430
i = 0
n_params = 0
__PRETTY_FUNCTION__ = "IA__g_signal_emit_valist"
#7 0x00007f9ccb1ce6d3 in IA__g_signal_emit (instance=0x969350, signal_id=9931936, detail=9930544)
at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:3034
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffd5c046a0,
reg_save_area = 0x7fffd5c045e0}}
#8 0x00007f9ccc8b3506 in IA__gtk_widget_realize (widget=0x997080)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gtk/gtkwidget.c:3319
mode = <value optimized out>
__PRETTY_FUNCTION__ = "IA__gtk_widget_realize"
#9 0x00007f9ccc8c36d8 in gtk_window_show (widget=0x997080)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gtk/gtkwindow.c:4314
info = (GtkWindowGeometryInfo *) 0x9aaf20
allocation = {x = 0, y = 0, width = 640, height = 480}
configure_request = {x = 0, y = 0, width = 640, height = 480}
new_geometry = {min_width = 640, min_height = 480, max_width = 0, max_height = 0, base_width = 0,
base_height = 0, width_inc = 0, height_inc = 0, min_aspect = 0, max_aspect = 0,
win_gravity = GDK_GRAVITY_NORTH_WEST}
new_flags = 66
#10 0x00007f9ccb1b911d in IA__g_closure_invoke (closure=0x948d00, return_value=0x0, n_param_values=1,
param_values=0x9aa200, invocation_hint=0x7fffd5c04880)
at /build/buildd/glib2.0-2.18.4/gobject/gclosure.c:767
marshal = (GClosureMarshal) 0x7f9ccb1b7620 <g_type_class_meta_marshal>
marshal_data = (gpointer) 0xb0
__PRETTY_FUNCTION__ = "IA__g_closure_invoke"
#11 0x00007f9ccb1cc628 in signal_emit_unlocked_R (node=0x988fc0, detail=0, instance=0x997080,
emission_return=0x0, instance_and_params=0x9aa200) at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:3174
accumulator = (SignalAccumulator *) 0x0
emission = {next = 0x0, instance = 0x997080, ihint = {signal_id = 10, detail = 0,
run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 9991936}
class_closure = (GClosure *) 0x948d00
handler_list = (Handler *) 0x0
return_accu = (GValue *) 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 10
max_sequential_handler_number = 13
return_value_altered = 0
#12 0x00007f9ccb1ce1d8 in IA__g_signal_emit_valist (instance=0x997080, signal_id=<value optimized out>,
detail=0, var_args=0x7fffd5c04a60) at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:2977
signal_return_type = 4
param_values = (GValue *) 0x9aa218
node = (SignalNode *) 0x988fc0
i = 0
n_params = 0
__PRETTY_FUNCTION__ = "IA__g_signal_emit_valist"
#13 0x00007f9ccb1ce6d3 in IA__g_signal_emit (instance=0x969350, signal_id=9931936, detail=9930544)
at /build/buildd/glib2.0-2.18.4/gobject/gsignal.c:3034
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffd5c04b40,
reg_save_area = 0x7fffd5c04a80}}
#14 0x00007f9ccc8b44cc in IA__gtk_widget_show (widget=0x997080)
at /mnt/incoming/tmp/gtk+2.0-2.14.7/gtk/gtkwidget.c:3003
__PRETTY_FUNCTION__ = "IA__gtk_widget_show"
#15 0x00007f9cccc614fa in show_main_window (fe=0x9336e0) at cdebconf_gtk.c:260
fe_data = (struct frontend_data *) 0x986440
__PRETTY_FUNCTION__ = "show_main_window"
#16 0x00007f9cccc6181e in cdebconf_gtk_initialize (fe=0x9336e0, conf=0x92df20) at cdebconf_gtk.c:366
No locals.
#17 0x00007f9ccd7df138 in frontend_new (cfg=0x92df20, tdb=0x92f000, qdb=0x92f110) at frontend.c:322
obj = (struct frontend *) 0x9336e0
dlh = (void *) 0x933890
mod = (struct frontend_module *) 0x7f9ccce6ae60
tmp = "../modules/frontend/gtk.so\000_fe::driver", '\0' <repeats 42 times>, "ØQ}Í\234\177\000\000Ð%ÀÍ\234\177\000\000\000\000\000\000\000\000\000\000ÿÿÿÿ", '\0' <repeats 12 times>, " \035`\000\000\000\000\000À\r@\000\000\000\000\000pOÀÕÿ\177", '\0' <repeats 26 times>, "Êa\237Í\234\177\000\000\001", '\0' <repeats 31 times>, "ØQ}Í\234\177\000\000 \026@\000\000\000\000\000 NÀÕÿ\177\000\000\022À\237Í\234\177\000\000\001\000\000\000\000\000\000\000Ð6\223\000\000\000\000"
modpath = 0x92e350 "../modules/frontend"
modname = 0x92e720 "gtk"
q = (struct question *) 0x0
__FUNCTION__ = "frontend_new"
#18 0x0000000000401432 in main (argc=2, argv=0x7fffd5c04f78) at debconf.c:140
sa = {__sigaction_handler = {sa_handler = 0x400f4a <sighandler>, sa_sigaction = 0x400f4a <sighandler>},
sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 268435457, sa_restorer = 0x7fffd5c04f70}
__FUNCTION__ = "main"
(gdb)
Reverting to the version currently in unstable did not result in
something fully working either when using the X11 backend for DirectFB,
but at least there was no segfaults.
Cheers,
--
Jérémy Bobbio .''`.
lunar@debian.org : :Ⓐ : # apt-get install anarchism
`. `'`
`-
Attachment:
signature.asc
Description: Digital signature