From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Suspicious error in GTk
Date: Mon, 11 Jun 2007 16:19:56 -0400 [thread overview]
Message-ID: <jwvhcpe45eo.fsf-monnier+emacs@gnu.org> (raw)
While trying out SYNC_INPUT with Gtk together with the `eassert' debugging
I bumped into the appended backtrace, right at startup. Basically, the code
run from XTread_socket (run asynchronously at any time) can call
update_frame_tool_bar which in turn calls xpm_load which ends up calling
encode_coding_string (to encode the file's name) which fiddles with
specpdl_ptr (via record_unwind_protect) and may run elisp code.
Most likely it will usually not lead to any problem, but I believe it'll
bite every now and then and will be difficult to trace.
Stefan
#0 abort () at emacs.c:431
#1 0x0000000000645987 in die (msg=Could not find the frame base for "die".
) at alloc.c:6344
#2 0x0000000000672abf in record_unwind_protect (function=0x5d2a5a <Fset_buffer>, arg={i = -9223372036843223568, s = {val = 11552240, type = Lisp_Vectorlike}, u = {val = 11552240, type = Lisp_Vectorlike}}) at eval.c:3319
#3 0x00000000004fc83e in run_pre_post_conversion_on_str (str={i = 6917529027663787984, s = {val = 22706128, type = Lisp_String}, u = {val = 22706128, type = Lisp_String}}, coding=0x7fff82639880, encodep=1) at coding.c:6103
#4 0x00000000004fe061 in encode_coding_string (str={i = 6917529027663787984, s = {val = 22706128, type = Lisp_String}, u = {val = 22706128, type = Lisp_String}}, coding=0x7fff82639880, nocopy=1) at coding.c:6422
#5 0x0000000000502174 in code_convert_string_norecord (string={i = 6917529027663787984, s = {val = 22706128, type = Lisp_String}, u = {val = 22706128, type = Lisp_String}}, coding_system=
{i = 2305843009225299808, s = {val = 11605856, type = Lisp_Symbol}, u = {val = 11605856, type = Lisp_Symbol}}, encodep=1) at coding.c:7246
#6 0x000000000069fa04 in openp (path={i = -6917529027618560800, s = {val = 22521056, type = Lisp_Cons}, u = {val = 22521056, type = Lisp_Cons}}, str={i = 6917529027662615952, s = {val = 21534096, type = Lisp_String}, u = {val = 21534096, type = Lisp_String}},
suffixes={i = 2305843009225193872, s = {val = 11499920, type = Lisp_Symbol}, u = {val = 11499920, type = Lisp_Symbol}}, storeptr=0x7fff82639ea0, predicate=
{i = 2305843009225193872, s = {val = 11499920, type = Lisp_Symbol}, u = {val = 11499920, type = Lisp_Symbol}}) at lread.c:1261
#7 0x0000000000579ffd in x_find_image_file (file={i = 6917529027662615952, s = {val = 21534096, type = Lisp_String}, u = {val = 21534096, type = Lisp_String}}) at image.c:2366
#8 0x000000000057cd5f in xpm_load (f=0x124d9c0, img=0x15b5e70) at image.c:4036
#9 0x000000000057957e in lookup_image (f=0x124d9c0, spec={i = -6917529027619512720, s = {val = 21569136, type = Lisp_Cons}, u = {val = 21569136, type = Lisp_Cons}}) at image.c:1931
#10 0x000000000058bdde in update_frame_tool_bar (f=0x124d9c0) at gtkutil.c:3784
#11 0x000000000058b54f in xg_tool_bar_expose_callback (w=0x12624d0, event=0x12270f0, client_data=0x124d9c0) at gtkutil.c:3629
#12 0x0000003628003e62 in gtk_marshal_VOID__UINT_STRING () from /usr/lib64/libgtk-x11-2.0.so.0
#13 0x0000003acdd0a27c in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#14 0x0000003acdd172ea in g_signal_stop_emission () from /usr/lib64/libgobject-2.0.so.0
#15 0x0000003acdd1854b in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#16 0x0000003acdd18bc2 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#17 0x00000036280c84a8 in gtk_widget_activate () from /usr/lib64/libgtk-x11-2.0.so.0
#18 0x0000003627f946ce in gtk_container_propagate_expose () from /usr/lib64/libgtk-x11-2.0.so.0
#19 0x0000003627f944df in gtk_container_get_focus_hadjustment () from /usr/lib64/libgtk-x11-2.0.so.0
#20 0x0000003627fd401e in gtk_handle_box_get_snap_edge () from /usr/lib64/libgtk-x11-2.0.so.0
#21 0x0000003628003e2e in gtk_marshal_VOID__UINT_STRING () from /usr/lib64/libgtk-x11-2.0.so.0
#22 0x0000003acdd0a27c in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
#23 0x0000003acdd17720 in g_signal_stop_emission () from /usr/lib64/libgobject-2.0.so.0
#24 0x0000003acdd1854b in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
#25 0x0000003acdd18bc2 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
#26 0x00000036280c84a8 in gtk_widget_activate () from /usr/lib64/libgtk-x11-2.0.so.0
#27 0x0000003628002d65 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0
#28 0x000000362642effc in gdk_window_clear_area_e () from /usr/lib64/libgdk-x11-2.0.so.0
#29 0x000000362642f0be in gdk_window_process_all_updates () from /usr/lib64/libgdk-x11-2.0.so.0
#30 0x0000003627f92bac in gtk_container_check_resize () from /usr/lib64/libgtk-x11-2.0.so.0
#31 0x0000003acdb24a9e in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x0000003acdb27734 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#33 0x0000003acdb27ddf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x0000003628001aa1 in gtk_main_iteration () from /usr/lib64/libgtk-x11-2.0.so.0
#35 0x0000000000542a3c in XTread_socket (sd=-2107404592, expected=1, hold_quit=0x7fff8263c270) at xterm.c:7106
#36 0x00000000005a595c in read_avail_input (expected=1) at keyboard.c:6904
#37 0x00000000005a5bb1 in handle_async_input () at keyboard.c:7070
#38 0x00000000005a5c9f in reinvoke_input_signal () at keyboard.c:7132
#39 0x000000000053d183 in x_scroll_bar_create (w=0x124dc20, top=0, left=1, width=16, height=234) at xterm.c:4823
#40 0x000000000053e5c3 in XTset_vertical_scroll_bar (w=0x124dc20, portion=0, whole=0, position=0) at xterm.c:5029
#41 0x00000000004701d8 in set_vertical_scroll_bar (w=0x124dc20) at xdisp.c:12751
#42 0x0000000000473b12 in redisplay_window (window={i = -9223372036835582944, s = {val = 19192864, type = Lisp_Vectorlike}, u = {val = 19192864, type = Lisp_Vectorlike}}, just_this_one_p=0) at xdisp.c:13513
#43 0x000000000046a364 in redisplay_window_0 (window={i = -9223372036835582944, s = {val = 19192864, type = Lisp_Vectorlike}, u = {val = 19192864, type = Lisp_Vectorlike}}) at xdisp.c:11790
#44 0x000000000066c37b in internal_condition_case_1 (bfun=0x46a326 <redisplay_window_0>, arg={i = -9223372036835582944, s = {val = 19192864, type = Lisp_Vectorlike}, u = {val = 19192864, type = Lisp_Vectorlike}}, handlers=
{i = -6917529027629277264, s = {val = 11804592, type = Lisp_Cons}, u = {val = 11804592, type = Lisp_Cons}}, hfun=0x46a2f9 <redisplay_window_error>) at eval.c:1529
#45 0x000000000046a2d7 in redisplay_windows (window={i = -9223372036835582944, s = {val = 19192864, type = Lisp_Vectorlike}, u = {val = 19192864, type = Lisp_Vectorlike}}) at xdisp.c:11769
#46 0x000000000046a214 in redisplay_windows (window={i = -9223372036832442528, s = {val = 22333280, type = Lisp_Vectorlike}, u = {val = 22333280, type = Lisp_Vectorlike}}) at xdisp.c:11763
#47 0x0000000000467fed in redisplay_internal (preserve_echo_area=1) at xdisp.c:11329
#48 0x000000000046986e in redisplay_preserve_echo_area (from_where=2) at xdisp.c:11576
#49 0x00000000004242a8 in Fredisplay (force={i = 2305843009225193872, s = {val = 11499920, type = Lisp_Symbol}, u = {val = 11499920, type = Lisp_Symbol}}) at dispnew.c:6605
#50 0x00000000006710bd in Ffuncall (nargs=1, args=0x7fff8263d5d0) at eval.c:2997
#51 0x00000000006c97ce in Fbyte_code (bytestr={i = 6917529027650339048, s = {val = 9257192, type = Lisp_String}, u = {val = 9257192, type = Lisp_String}}, vector=
{i = -9223372036845518440, s = {val = 9257368, type = Lisp_Vectorlike}, u = {val = 9257368, type = Lisp_Vectorlike}}, maxdepth={i = 5, s = {val = 5, type = Lisp_Int}, u = {val = 5, type = Lisp_Int}}) at bytecode.c:679
#52 0x00000000006720c4 in funcall_lambda (fun={i = -9223372036845518736, s = {val = 9257072, type = Lisp_Vectorlike}, u = {val = 9257072, type = Lisp_Vectorlike}}, nargs=1, arg_vector=0x7fff8263dd28) at eval.c:3184
#53 0x000000000067178a in Ffuncall (nargs=2, args=0x7fff8263dd20) at eval.c:3043
#54 0x00000000006c97ce in Fbyte_code (bytestr={i = 6917529027663390576, s = {val = 22308720, type = Lisp_String}, u = {val = 22308720, type = Lisp_String}}, vector=
{i = -9223372036832448000, s = {val = 22327808, type = Lisp_Vectorlike}, u = {val = 22327808, type = Lisp_Vectorlike}}, maxdepth={i = 6, s = {val = 6, type = Lisp_Int}, u = {val = 6, type = Lisp_Int}}) at bytecode.c:679
#55 0x00000000006720c4 in funcall_lambda (fun={i = -9223372036832447392, s = {val = 22328416, type = Lisp_Vectorlike}, u = {val = 22328416, type = Lisp_Vectorlike}}, nargs=3, arg_vector=0x7fff8263e478) at eval.c:3184
#56 0x000000000067178a in Ffuncall (nargs=4, args=0x7fff8263e470) at eval.c:3043
#57 0x00000000006c97ce in Fbyte_code (bytestr={i = 6917529027651556440, s = {val = 10474584, type = Lisp_String}, u = {val = 10474584, type = Lisp_String}}, vector=
---Type <return> to continue, or q <return> to quit---
{i = -9223372036844300184, s = {val = 10475624, type = Lisp_Vectorlike}, u = {val = 10475624, type = Lisp_Vectorlike}}, maxdepth={i = 12, s = {val = 12, type = Lisp_Int}, u = {val = 12, type = Lisp_Int}}) at bytecode.c:679
#58 0x00000000006720c4 in funcall_lambda (fun={i = -9223372036844301288, s = {val = 10474520, type = Lisp_Vectorlike}, u = {val = 10474520, type = Lisp_Vectorlike}}, nargs=1, arg_vector=0x7fff8263ebf8) at eval.c:3184
#59 0x000000000067178a in Ffuncall (nargs=2, args=0x7fff8263ebf0) at eval.c:3043
#60 0x00000000006c97ce in Fbyte_code (bytestr={i = 6917529027651532392, s = {val = 10450536, type = Lisp_String}, u = {val = 10450536, type = Lisp_String}}, vector=
{i = -9223372036844323480, s = {val = 10452328, type = Lisp_Vectorlike}, u = {val = 10452328, type = Lisp_Vectorlike}}, maxdepth={i = 7, s = {val = 7, type = Lisp_Int}, u = {val = 7, type = Lisp_Int}}) at bytecode.c:679
#61 0x00000000006720c4 in funcall_lambda (fun={i = -9223372036844325320, s = {val = 10450488, type = Lisp_Vectorlike}, u = {val = 10450488, type = Lisp_Vectorlike}}, nargs=0, arg_vector=0x7fff8263f358) at eval.c:3184
#62 0x000000000067178a in Ffuncall (nargs=1, args=0x7fff8263f350) at eval.c:3043
#63 0x00000000006c97ce in Fbyte_code (bytestr={i = 6917529027651524760, s = {val = 10442904, type = Lisp_String}, u = {val = 10442904, type = Lisp_String}}, vector=
{i = -9223372036844332568, s = {val = 10443240, type = Lisp_Vectorlike}, u = {val = 10443240, type = Lisp_Vectorlike}}, maxdepth={i = 6, s = {val = 6, type = Lisp_Int}, u = {val = 6, type = Lisp_Int}}) at bytecode.c:679
#64 0x00000000006720c4 in funcall_lambda (fun={i = -9223372036844332952, s = {val = 10442856, type = Lisp_Vectorlike}, u = {val = 10442856, type = Lisp_Vectorlike}}, nargs=0, arg_vector=0x7fff8263f9c0) at eval.c:3184
#65 0x0000000000671a81 in apply_lambda (fun={i = -9223372036844332952, s = {val = 10442856, type = Lisp_Vectorlike}, u = {val = 10442856, type = Lisp_Vectorlike}}, args=
{i = 2305843009225193872, s = {val = 11499920, type = Lisp_Symbol}, u = {val = 11499920, type = Lisp_Symbol}}, eval_flag=1) at eval.c:3108
#66 0x000000000066f1c8 in Feval (form={i = -6917529027625879760, s = {val = 15202096, type = Lisp_Cons}, u = {val = 15202096, type = Lisp_Cons}}) at eval.c:2370
#67 0x0000000000591421 in top_level_2 () at keyboard.c:1338
#68 0x000000000066c1da in internal_condition_case (bfun=0x59140c <top_level_2>, handlers={i = 2305843009225276320, s = {val = 11582368, type = Lisp_Symbol}, u = {val = 11582368, type = Lisp_Symbol}}, hfun=0x590e20 <cmd_error>) at eval.c:1481
#69 0x0000000000591455 in top_level_1 () at keyboard.c:1346
#70 0x000000000066ba3e in internal_catch (tag={i = 2305843009225267376, s = {val = 11573424, type = Lisp_Symbol}, u = {val = 11573424, type = Lisp_Symbol}}, func=0x591423 <top_level_1>, arg=
{i = 2305843009225193872, s = {val = 11499920, type = Lisp_Symbol}, u = {val = 11499920, type = Lisp_Symbol}}) at eval.c:1222
#71 0x000000000059138c in command_loop () at keyboard.c:1303
#72 0x00000000005906c8 in recursive_edit_1 () at keyboard.c:1006
#73 0x0000000000590b20 in Frecursive_edit () at keyboard.c:1067
#74 0x000000000058e5d9 in main (argc=2, argv=0x7fff826404d8) at emacs.c:1768
next reply other threads:[~2007-06-11 20:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-11 20:19 Stefan Monnier [this message]
2007-06-11 20:37 ` Suspicious error in GTk Chong Yidong
2007-06-11 21:16 ` Stefan Monnier
2007-06-12 6:13 ` Jan Djärv
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvhcpe45eo.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.