Opened 7 years ago

Last modified 7 years ago

#14215 new defect

gnttree falls into an assertion loop on tab key in New IM dialog

Reported by: elb Owned by: sadrul
Milestone: Component: finch (gnt/ncurses)
Version: 2.7.11 Keywords:
Cc:

Description

This bug was triggered via the following process:

  1. Ctrl+O on the buddy list to open the menu, select New IM
  2. Select a 'Name' of a buddy which is in the buddy list for an account which is not the default account in the 'Account' field (The account field will change to an account which has this buddy in its list)
  3. Press <Tab>
  4. Press <Tab> again to drop to the OK button

At either step 3. or step 4. (not sure which), finch went into a 100% CPU-consuming assertion loop with the following backtrace:

#0  0x0088150b in _IO_vfprintf_internal (s=0xbfafc96c, format=
    0x74add5 "%s: assertion `%s' failed", ap=0xbfafcf4c "[7\262")
    at vfprintf.c:1614
#1  0x00922e62 in *__GI___vasprintf_chk (result_ptr=0xbfafca7c, flags=1, 
    format=0x74add5 "%s: assertion `%s' failed", args=0xbfafcf4c "[7\262")
    at vasprintf_chk.c:68
#2  0x0073fabf in vasprintf (string=0xbfafca7c, format=
    0x74add5 "%s: assertion `%s' failed", args=0xbfafcf4c "[7\262")
    at /usr/include/bits/stdio2.h:199
#3  IA__g_vasprintf (string=0xbfafca7c, format=
    0x74add5 "%s: assertion `%s' failed", args=0xbfafcf4c "[7\262")
    at /build/buildd/glib2.0-2.24.1/glib/gprintf.c:315
#4  0x0071e506 in IA__g_strdup_vprintf (format=
    0x74add5 "%s: assertion `%s' failed", args=0xbfafcf4c "[7\262")
    at /build/buildd/glib2.0-2.24.1/glib/gstrfuncs.c:244
#5  0x00705bc1 in IA__g_logv (log_domain=<value optimized out>, 
    log_level=G_LOG_LEVEL_CRITICAL, format=
    0x74add5 "%s: assertion `%s' failed", args1=0xbfafcf4c "[7\262")
    at /build/buildd/glib2.0-2.24.1/glib/gmessages.c:516
#6  0x00706056 in IA__g_log (log_domain=0xb22a3d "Gnt", 
    log_level=G_LOG_LEVEL_CRITICAL, format=
    0x74add5 "%s: assertion `%s' failed")
    at /build/buildd/glib2.0-2.24.1/glib/gmessages.c:569
#7  0x007062bb in IA__g_return_if_fail_warning (log_domain=0xb22a3d "Gnt", 
    pretty_function=0xb2375b "gnt_tree_row_get_key", expression=
    0xb2358d "row && row->tree == tree")
    at /build/buildd/glib2.0-2.24.1/glib/gmessages.c:584
#8  0x00b14133 in gnt_tree_row_get_key (tree=0xa7f61c0, row=0x0)
    at gnttree.c:1931
#9  0x00b05c57 in gnt_combo_box_key_pressed (widget=0x9b1a5a8, text=
    0xa814de8 "\t") at gntcombobox.c:201
#10 0x00afe994 in gnt_closure_marshal_BOOLEAN__STRING (closure=0x9b1b268, 
    return_value=0xbfafd174, n_param_values=2, param_values=0x9c00ea0, 
    invocation_hint=0xbfafd160, marshal_data=0xb05a50) at gntmarshal.c:120
#11 0x00f968b9 in g_type_class_meta_marshal (closure=0x9b1b268, return_value=
    0xbfafd174, n_param_values=2, param_values=0x9c00ea0, 
    invocation_hint=0xbfafd160, marshal_data=0x90)
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c:878
#12 0x00f98178 in IA__g_closure_invoke (closure=0x9b1b268, return_value=
    0xbfafd174, n_param_values=2, param_values=0x9c00ea0, 
    invocation_hint=0xbfafd160)
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c:767
#13 0x00fac5e6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=0x9b1a5a8, emission_return=
    0xbfafd2bc, instance_and_params=0x9c00ea0)
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:3286
#14 0x00fadc33 in IA__g_signal_emit_valist (instance=0x9b1a5a8, signal_id=26, 
    detail=0, 
    var_args=0xbfafd320 "<ӯ\277\341\374\311\thӯ\277\270%", <incomplete sequence \373>) at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:2991
#15 0x00fae256 in IA__g_signal_emit (instance=0x9b1a5a8, signal_id=26, 
    detail=0) at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:3038
#16 0x00aff879 in gnt_widget_key_pressed (widget=0x9b1a5a8, keys=
    0x9b33438 "\t") at gntwidget.c:403
#17 0x00b03482 in gnt_box_key_pressed (widget=0xa39cdf0, text=0x9b33438 "\t")
    at gntbox.c:318
#18 0x00afe994 in gnt_closure_marshal_BOOLEAN__STRING (closure=0x9b1b268, 
    return_value=0xbfafd524, n_param_values=2, param_values=0x9c010a0, 
    invocation_hint=0xbfafd510, marshal_data=0xb03420) at gntmarshal.c:120
#19 0x00f968b9 in g_type_class_meta_marshal (closure=0x9b1b268, return_value=
    0xbfafd524, n_param_values=2, param_values=0x9c010a0, 
    invocation_hint=0xbfafd510, marshal_data=0x90)
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c:878
#20 0x00f98252 in IA__g_closure_invoke (closure=0x9b1b268, return_value=
    0xbfafd524, n_param_values=2, param_values=0x9c010a0, 
    invocation_hint=0xbfafd510)
    at /build/buildd/glib2.0-2.24.1/gobject/gclosure.c:767
#21 0x00fac5e6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=0xa39cdf0, emission_return=
    0xbfafd66c, instance_and_params=0x9c010a0)
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:3286
#22 0x00fadc33 in IA__g_signal_emit_valist (instance=0xa39cdf0, signal_id=26, 
    detail=0, var_args=0xbfafd6d0 "\354֯\277\340\333q\n\370֯\277\364_\262")
    at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:2991
#23 0x00fae256 in IA__g_signal_emit (instance=0xa39cdf0, signal_id=26, 
    detail=0) at /build/buildd/glib2.0-2.24.1/gobject/gsignal.c:3038
#24 0x00aff879 in gnt_widget_key_pressed (widget=0xa39cdf0, keys=
    0xa71dbe0 "\t") at gntwidget.c:403
#25 0x00b1fafa in gnt_wm_process_input (wm=0x9aad420, keys=
    0xb2375b "gnt_tree_row_get_key") at gntwm.c:2065
#26 0x00b217d9 in io_invoke (source=0xa4e6f30, cond=G_IO_IN, null=0x0)
    at gntmain.c:292
#27 0x0073fefb in g_io_unix_dispatch (source=0xa9052d8, 
    callback=0xb21660 <io_invoke>, user_data=0x0)
    at /build/buildd/glib2.0-2.24.1/glib/giounix.c:162
#28 0x006fb5e5 in g_main_dispatch (context=0x99f0380)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:1960
#29 IA__g_main_context_dispatch (context=0x99f0380)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2513
#30 0x006ff2d8 in g_main_context_iterate (context=0x99f0380, 
    block=<value optimized out>, dispatch=1, self=0x99e5008)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2591
#31 0x006ff817 in IA__g_main_loop_run (loop=0x9b6ef38)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2799
#32 0x00b22015 in gnt_main () at gntmain.c:521
#33 0x0806a983 in main (argc=1, argv=0xbfafdc54) at finch.c:440

The full backtrace is enormous, so I've elided it. I have saved a copy if anyone is interested.

Finch 2.7.11 (266042fff48838ac6672bcde8cf02babb5d5bae0)

Change History (1)

comment:1 Changed 7 years ago by elb

The loop is at step 4, and it is reproducible.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!