backtrace/2147: "Quit" ignored in backtrace if printing arguments

ed@catmur.co.uk ed@catmur.co.uk
Sat Jul 15 17:18:00 GMT 2006


>Number:         2147
>Category:       backtrace
>Synopsis:       "Quit" ignored in backtrace if printing arguments
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jul 15 17:18:02 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     ed@catmur.co.uk
>Release:        6.5
>Organization:
>Environment:
Gentoo Linux 2006.0
>Description:
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb788df2b in __waitpid_nocancel () from /lib/libpthread.so.0
#2  0xb7814e90 in libgnomeui_segv_handle (signum=-512) at gnome-ui-init.c:812
#3  <signal handler called>
#4  0xb7294f06 in _gtk_text_btree_get_chars_changed_stamp (tree=0x15)
    at gtktextbtree.c:538
#5  0xb72b4005 in IA__gtk_text_iter_ends_line (iter=0xbfbfe1f4)
    at gtktextiter.c:160
#6  0xb72b4298 in IA__gtk_text_iter_forward_to_line_end (iter=0x8827ab8)
    at gtktextiter.c:4098
#7  0xb5fac470 in _wrap_gtk_text_iter_forward_to_line_end (self=0xb5d34290)
    at gtk.c:3392
#8  0xb791e7f6 in PyEval_EvalFrame (f=0x8232bac) at Python/ceval.c:3547
#9  0xb791f8e0 in PyEval_EvalFrame (f=0x81fafdc) at Python/ceval.c:3645
#10 0xb792040b in PyEval_EvalCodeEx (co=0x8518b20, globals=0xb5d9a46c,
    locals=0x0, args=0xb4daf060, argcount=3, kws=0x0, kwcount=0, defs=0x0,
    defcount=0, closure=0x0) at Python/ceval.c:2736
#11 0xb78d0dae in function_call (func=0xb5d4517c, arg=0xb4daf054, kw=0x0)
    at Objects/funcobject.c:548
#12 0xb78b52f7 in PyObject_Call (func=0x0, arg=0xb4daf054, kw=0x0)
    at Objects/abstract.c:1795
#13 0xb791991b in PyEval_CallObjectWithKeywords (func=0xb5d4517c,
    arg=0xb4daf054, kw=0x0) at Python/ceval.c:3430
#14 0xb78b57ec in PyObject_CallObject (o=0xb5d4517c, a=0xb4daf054)
    at Objects/abstract.c:1786
#15 0xb608d150 in pyg_closure_marshal (closure=0x8762258, return_value=0x0,
    n_param_values=2, param_values=0xbfbfe9bc, invocation_hint=0xbfbfe8cc,
    marshal_data=0x0) at pygtype.c:1092
#16 0xb6de8f49 in IA__g_closure_invoke (closure=0x8762258, return_value=0x0,
---Type <return> to continue, or q <return> to quit---q
n_pQuit
) at gclosure.c:490
#17 0xb6df9a59 in signal_emit_unlocked_R (node=0x86d9288, detail=0,
    instance=0x8756020, emission_return=0x0, instance_and_params=0xbfbfe9bc)
    at gsignal.c:2438
#18 0xb6dfad89 in IA__g_signal_emit_valist (instance=0x8756020, signal_id=341,
    detail=0, var_args=0xbfbfec00 " ") at gsignal.c:2197

etc.

Reason: catch_errors() (calling print_args_stub) in print_frame_info() is catching Quit exception, so it's not getting passed up the stack.
>How-To-Repeat:
Use tui. Run a backtrace, ensuring that the page break happens in the middle of printing args.
>Fix:
Patch stack.c not to catch Quit-type exceptions
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-patch; name="stacktrace-dont-catch-quit.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="stacktrace-dont-catch-quit.patch"

LS0tIGdkYi02LjUvZ2RiL3N0YWNrLmMJMjAwNi8wNy8xNSAxNTo1MzoxNQkxLjEKKysrIGdkYi02
LjUvZ2RiL3N0YWNrLmMJMjAwNi8wNy8xNSAxNTo1NzoyMgpAQCAtNjMwLDcgKzYzMCw3IEBAIHBy
aW50X2ZyYW1lIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGkKICAgICAgIGFyZ3MuZnVuYyA9
IGZ1bmM7CiAgICAgICBhcmdzLnN0cmVhbSA9IGdkYl9zdGRvdXQ7CiAgICAgICBhcmdzX2xpc3Rf
Y2hhaW4gPSBtYWtlX2NsZWFudXBfdWlfb3V0X2xpc3RfYmVnaW5fZW5kICh1aW91dCwgImFyZ3Mi
KTsKLSAgICAgIGNhdGNoX2Vycm9ycyAocHJpbnRfYXJnc19zdHViLCAmYXJncywgIiIsIFJFVFVS
Tl9NQVNLX0FMTCk7CisgICAgICBjYXRjaF9lcnJvcnMgKHByaW50X2FyZ3Nfc3R1YiwgJmFyZ3Ms
ICIiLCBSRVRVUk5fTUFTS19FUlJPUik7CiAgICAgICAvKiBGSVhNRTogQVJHUyBtdXN0IGJlIGEg
bGlzdC4gSWYgb25lIGFyZ3VtZW50IGlzIGEgc3RyaW5nIGl0CiAJICB3aWxsIGhhdmUgIiB0aGF0
IHdpbGwgbm90IGJlIHByb3Blcmx5IGVzY2FwZWQuICAqLwogICAgICAgLyogSW52b2tlIHVpX291
dF90dXBsZV9lbmQuICAqLwo=



More information about the Gdb-prs mailing list