From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Suspicious error in GTk Date: Mon, 11 Jun 2007 16:19:56 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1181593226 18084 80.91.229.12 (11 Jun 2007 20:20:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 11 Jun 2007 20:20:26 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 11 22:20:23 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HxqN7-0006lT-14 for ged-emacs-devel@m.gmane.org; Mon, 11 Jun 2007 22:20:17 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HxqN6-00074G-EK for ged-emacs-devel@m.gmane.org; Mon, 11 Jun 2007 16:20:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HxqMw-0006xl-5q for emacs-devel@gnu.org; Mon, 11 Jun 2007 16:20:06 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HxqMs-0006tf-Mk for emacs-devel@gnu.org; Mon, 11 Jun 2007 16:20:05 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HxqMs-0006tK-HE for emacs-devel@gnu.org; Mon, 11 Jun 2007 16:20:02 -0400 Original-Received: from mercure.iro.umontreal.ca ([132.204.24.67]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HxqMs-00039O-2K for emacs-devel@gnu.org; Mon, 11 Jun 2007 16:20:02 -0400 Original-Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id 4B1D32CF075; Mon, 11 Jun 2007 16:20:01 -0400 (EDT) Original-Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id 53AEB3FE1; Mon, 11 Jun 2007 16:19:56 -0400 (EDT) Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 338A64C6D25; Mon, 11 Jun 2007 16:19:56 -0400 (EDT) User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-detected-kernel: Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:72642 Archived-At: 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 , 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 , 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 ) 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 to continue, or q 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 , handlers={i = 2305843009225276320, s = {val = 11582368, type = Lisp_Symbol}, u = {val = 11582368, type = Lisp_Symbol}}, hfun=0x590e20 ) 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 , 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