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: `raise' display property Date: Wed, 11 Jun 2008 16:23:23 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1213215846 1192 80.91.229.12 (11 Jun 2008 20:24:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Jun 2008 20:24:06 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 11 22:24:48 2008 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 1K6Wrz-0004du-2Y for ged-emacs-devel@m.gmane.org; Wed, 11 Jun 2008 22:24:35 +0200 Original-Received: from localhost ([127.0.0.1]:45349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K6WrB-0006eO-3P for ged-emacs-devel@m.gmane.org; Wed, 11 Jun 2008 16:23:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K6Wr4-0006bE-N2 for emacs-devel@gnu.org; Wed, 11 Jun 2008 16:23:38 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K6Wr3-0006YB-NO for emacs-devel@gnu.org; Wed, 11 Jun 2008 16:23:37 -0400 Original-Received: from [199.232.76.173] (port=33114 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K6Wr2-0006Xb-UJ for emacs-devel@gnu.org; Wed, 11 Jun 2008 16:23:36 -0400 Original-Received: from mercure.iro.umontreal.ca ([132.204.24.67]:43888) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1K6Wr3-0000Gh-1x for emacs-devel@gnu.org; Wed, 11 Jun 2008 16:23:37 -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 D4A2F2CFE70; Wed, 11 Jun 2008 16:23:35 -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 9C1DF3FE0; Wed, 11 Jun 2008 16:23:23 -0400 (EDT) Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 80ABA41BEC; Wed, 11 Jun 2008 16:23:23 -0400 (EDT) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (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.6, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_REPONSE 0.11, MC_TRANSFR 0.11) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-detected-kernel: by monty-python.gnu.org: 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:98979 Archived-At: Let's say I have a LaTeX file foo.tex which just contains: $to^to$ Emacs crashes if I open it with "emacs -Q ~/tmp/foo.tex". The crash happens when handling the `raise' display property added by font-lock in response to the ^. The segfault is in xdisp.c around line 4173: #ifdef HAVE_WINDOW_SYSTEM value = XCAR (XCDR (spec)); if (NUMBERP (value)) { struct face *face = FACE_FROM_ID (it->f, it->face_id); it->voffset = - (XFLOATINT (value) * (FONT_HEIGHT (face->font))); } #endif /* HAVE_WINDOW_SYSTEM */ where face->font is NULL. Stefan Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912504671680 (LWP 6707)] 0x0000000000457f0f in handle_single_display_spec (it=0x7fff7bcc07c0, spec= {i = 13835058055304536464, s = {val = 22372752, type = Lisp_Cons}, u = {val = 22372752, type = Lisp_Cons}}, object= {i = 11529215046090744496, s = {val = 22274736, type = Lisp_Vectorlike}, u = {val = 22274736, type = Lisp_Vectorlike}}, overlay= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, position=0x7fff7bcc08c8, display_replaced_before_p=0) at xdisp.c:4183 (gdb) p face $1 = (struct face *) 0x256f9d0 (gdb) p face->font $2 = (struct font *) 0x0 (gdb) bt #0 0x0000000000457f0f in handle_single_display_spec (it=0x7fff7bcc07c0, spec= {i = 13835058055304536464, s = {val = 22372752, type = Lisp_Cons}, u = {val = 22372752, type = Lisp_Cons}}, object= {i = 11529215046090744496, s = {val = 22274736, type = Lisp_Vectorlike}, u = {val = 22274736, type = Lisp_Vectorlike}}, overlay= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, position=0x7fff7bcc08c8, display_replaced_before_p=0) at xdisp.c:4183 #1 0x00000000004568eb in handle_display_prop (it=0x7fff7bcc07c0) at xdisp.c:3958 #2 0x00000000004537a6 in handle_stop (it=0x7fff7bcc07c0) at xdisp.c:3088 #3 0x00000000004635ec in next_element_from_buffer (it=0x7fff7bcc07c0) at xdisp.c:6489 #4 0x000000000045ff40 in get_next_display_element (it=0x7fff7bcc07c0) at xdisp.c:5744 #5 0x0000000000493ae0 in display_line (it=0x7fff7bcc07c0) at xdisp.c:16316 #6 0x0000000000487fc4 in try_window (window= {i = 11529215046090889296, s = {val = 22419536, type = Lisp_Vectorlike}, u = {val = 22419536, type = Lisp_Vectorlike}}, pos= {charpos = 12345678, bytepos = 12345678}, check_margins=1) at xdisp.c:13896 #7 0x0000000000485a44 in redisplay_window (window= {i = 11529215046090889296, s = {val = 22419536, type = Lisp_Vectorlike}, u = {val = 22419536, type = Lisp_Vectorlike}}, just_this_one_p=0) at xdisp.c:13514 #8 0x000000000047d11c in redisplay_window_0 (window= {i = 11529215046090889296, s = {val = 22419536, type = Lisp_Vectorlike}, u = {val = 22419536, type = Lisp_Vectorlike}}) at xdisp.c:12095 #9 0x0000000000874341 in internal_condition_case_1 ( bfun=0x47d0e0 , arg= {i = 11529215046090889296, s = {val = 22419536, type = Lisp_Vectorlike}, u = {val = 22419536, type = Lisp_Vectorlike}}, handlers= {i = 13835058055301768608, s = {val = 19604896, type = Lisp_Cons}, u = {val = 19604896, type = Lisp_Cons}}, hfun=0x47d0b5 ) at eval.c:1590 #10 0x000000000047d093 in redisplay_windows (window= {i = 11529215046090889296, s = {val = 22419536, type = Lisp_Vectorlike}, u = {val = 22419536, type = Lisp_Vectorlike}}) at xdisp.c:12074 #11 0x000000000047a5c5 in redisplay_internal (preserve_echo_area=1) at xdisp.c:11640 #12 0x000000000047bf50 in redisplay_preserve_echo_area (from_where=13) at xdisp.c:11889 #13 0x000000000095ccbb in status_notify (deleting_process=0x1ec9a60) at process.c:6777 #14 0x0000000000947142 in Fdelete_process (process= {i = 11529215046100752992, s = {val = 32283232, type = Lisp_Vectorlike}, u = {val = 32283232, type = Lisp_Vectorlike}}) at process.c:791 #15 0x000000000087950f in Ffuncall (nargs=2, args=0x7fff7bcc2630) at eval.c:3101 #16 0x0000000000940cfb in Fbyte_code (bytestr= {i = 9223372036894176656, s = {val = 39400848, type = Lisp_String}, u = {val = 39400848, type = Lisp_String}}, vector= {i = 11529215046105294192, s = {val = 36824432, type = Lisp_Vectorlike}, u = {val = 36824432, type = Lisp_Vectorlike}}, maxdepth= {i = 5, s = {val = 5, type = Lisp_Int0}, u = {val = 5, type = Lisp_Int0}}) at bytecode.c:694 #17 0x000000000087a830 in funcall_lambda (fun= {i = 11529215046105143872, s = {val = 36674112, type = Lisp_Vectorlike}, u = {val = 36674112, type = Lisp_Vectorlike}}, nargs=1, arg_vector=0x7fff7bcc2d98) at eval.c:3294 #18 0x0000000000879bdc in Ffuncall (nargs=2, args=0x7fff7bcc2d90) at eval.c:3147 #19 0x0000000000940cfb in Fbyte_code (bytestr= {i = 9223372036874988304, s = {val = 20212496, type = Lisp_String}, u = {val = 20212496, type = Lisp_String}}, vector= {i = 11529215046099655200, s = {val = 31185440, type = Lisp_Vectorlike}, u = {val = 31185440, type = Lisp_Vectorlike}}, maxdepth= {i = 4, s = {val = 4, type = Lisp_Int0}, u = {val = 4, type = Lisp_Int0}}) at bytecode.c:694 #20 0x0000000000876f0f in Feval (form= {i = 13835058055306951168, s = {val = 24787456, type = Lisp_Cons}, u = {val = 24787456, type = Lisp_Cons}}) at eval.c:2430 #21 0x0000000000873fe1 in internal_lisp_condition_case (var= {i = 4611686018447430192, s = {val = 20042288, type = Lisp_Symbol}, u = {val = 20042288, type = Lisp_Symbol}}, bodyform= {i = 13835058055306951168, s = {val = 24787456, type = Lisp_Cons}, u = {val = 24787456, type = Lisp_Cons}}, handlers= {i = 13835058055306948672, s = {val = 24784960, type = Lisp_Cons}, u = {val = 24784960, type = Lisp_Cons}}) at eval.c:1486 #22 0x00000000009417f2 in Fbyte_code (bytestr= {i = 9223372036874988496, s = {val = 20212688, type = Lisp_String}, u = {val = 20212688, type = Lisp_String}}, vector= {i = 11529215046094429536, s = {val = 25959776, type = Lisp_Vectorlike}, u = {val = 25959776, type = Lisp_Vectorlike}}, maxdepth= {i = 3, s = {val = 3, type = Lisp_Int0}, u = {val = 3, type = Lisp_Int0}}) at bytecode.c:884 #23 0x000000000087a830 in funcall_lambda (fun= {i = 11529215046102593632, s = {val = 34123872, type = Lisp_Vectorlike}, u = {val = 34123872, type = Lisp_Vectorlike}}, nargs=7, arg_vector=0x7fff7bcc3de8) at eval.c:3294 #24 0x0000000000879bdc in Ffuncall (nargs=8, args=0x7fff7bcc3de0) at eval.c:3147 #25 0x0000000000940cfb in Fbyte_code (bytestr= {i = 9223372036874545616, s = {val = 19769808, type = Lisp_String}, u = {val = 19769808, type = Lisp_String}}, vector= {i = 11529215046094429088, s = {val = 25959328, type = Lisp_Vectorlike}, u = {val = 25959328, type = Lisp_Vectorlike}}, maxdepth= {i = 8, s = {val = 8, type = Lisp_Int0}, u = {val = 8, type = Lisp_Int0}}) at bytecode.c:694 #26 0x000000000087a830 in funcall_lambda (fun= {i = 11529215046094429408, s = {val = 25959648, type = Lisp_Vectorlike}, u = {val = 25959648, type = Lisp_Vectorlike}}, nargs=8, arg_vector=0x7fff7bcc4608) at eval.c:3294 #27 0x0000000000879bdc in Ffuncall (nargs=9, args=0x7fff7bcc4600) at eval.c:3147 #28 0x000000000087761e in Fapply (nargs=10, args=0x7fff7bcc4600) at eval.c:2522 #29 0x0000000000876aef in Feval (form= {i = 13835058055309564176, s = {val = 27400464, type = Lisp_Cons}, u = {val = 27400464, type = Lisp_Cons}}) at eval.c:2397 #30 0x00000000008711f6 in Fprogn (args= {i = 13835058055309564160, s = {val = 27400448, type = Lisp_Cons}, u = {val = 27400448, type = Lisp_Cons}}) at eval.c:448 #31 0x000000000087a4eb in funcall_lambda (fun= {i = 13835058055309564128, s = {val = 27400416, type = Lisp_Cons}, u = {val = 27400416, type = Lisp_Cons}}, nargs=0, arg_vector=0x7fff7bcc49c8) at eval.c:3287 #32 0x0000000000879c95 in Ffuncall (nargs=1, args=0x7fff7bcc49c0) at eval.c:3155 #33 0x0000000000876aef in Feval (form= {i = 13835058055306951504, s = {val = 24787792, type = Lisp_Cons}, u = {val = 24787792, type = Lisp_Cons}}) at eval.c:2397 #34 0x0000000000873fe1 in internal_lisp_condition_case (var= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, bodyform= {i = 13835058055306951504, s = {val = 24787792, type = Lisp_Cons}, u = {val = 24787792, type = Lisp_Cons}}, handlers= {i = 13835058055306951440, s = {val = 24787728, type = Lisp_Cons}, u = {val = 24787728, type = Lisp_Cons}}) at eval.c:1486 #35 0x00000000009417f2 in Fbyte_code (bytestr= {i = 9223372036874167504, s = {val = 19391696, type = Lisp_String}, u = {val = 19391696, type = Lisp_String}}, vector= {i = 11529215046098640672, s = {val = 30170912, type = Lisp_Vectorlike}, u = {val = 30170912, type = Lisp_Vectorlike}}, maxdepth= {i = 4, s = {val = 4, type = Lisp_Int0}, u = {val = 4, type = Lisp_Int0}}) at bytecode.c:884 #36 0x000000000087a830 in funcall_lambda (fun= {i = 11529215046098640944, s = {val = 30171184, type = Lisp_Vectorlike}, u = {val = 30171184, type = Lisp_Vectorlike}}, nargs=1, arg_vector=0x7fff7bcc5458) at eval.c:3294 #37 0x0000000000879bdc in Ffuncall (nargs=2, args=0x7fff7bcc5450) at eval.c:3147 #38 0x0000000000940cfb in Fbyte_code (bytestr= {i = 9223372036874844592, s = {val = 20068784, type = Lisp_String}, u = {val = 20068784, type = Lisp_String}}, vector= {i = 11529215046096755984, s = {val = 28286224, type = Lisp_Vectorlike}, u = {val = 28286224, type = Lisp_Vectorlike}}, maxdepth= {i = 17, s = {val = 17, type = Lisp_Int0}, u = {val = 17, type = Lisp_Int0}}) at bytecode.c:694 #39 0x0000000000876f0f in Feval (form= {i = 13835058055306950816, s = {val = 24787104, type = Lisp_Cons}, u = {val = 24787104, type = Lisp_Cons}}) at eval.c:2430 #40 0x0000000000873fe1 in internal_lisp_condition_case (var= {i = 4611686018447430192, s = {val = 20042288, type = Lisp_Symbol}, u = {val = 20042288, type = Lisp_Symbol}}, bodyform= {i = 13835058055306950816, s = {val = 24787104, type = Lisp_Cons}, u = {val = 24787104, type = Lisp_Cons}}, handlers= {i = 13835058055306948112, s = {val = 24784400, type = Lisp_Cons}, u = {val = 24784400, type = Lisp_Cons}}) at eval.c:1486 #41 0x00000000009417f2 in Fbyte_code (bytestr= {i = 9223372036874777216, s = {val = 20001408, type = Lisp_String}, u = {val = 20001408, type = Lisp_String}}, vector= {i = 11529215046097478496, s = {val = 29008736, type = Lisp_Vectorlike}, u = {val = 29008736, type = Lisp_Vectorlike}}, maxdepth= {i = 6, s = {val = 6, type = Lisp_Int0}, u = {val = 6, type = Lisp_Int0}}) at bytecode.c:884 #42 0x0000000000876f0f in Feval (form= {i = 13835058055306951296, s = {val = 24787584, type = Lisp_Cons}, u = {val = 24787584, type = Lisp_Cons}}) at eval.c:2430 #43 0x0000000000873924 in internal_catch (tag= {i = 4611686018455709824, s = {val = 28321920, type = Lisp_Symbol}, u = {val = 28321920, type = Lisp_Symbol}}, func=0x8761ba , arg= {i = 13835058055306951296, s = {val = 24787584, type = Lisp_Cons}, u = {val = 24787584, type = Lisp_Cons}}) at eval.c:1272 #44 0x0000000000941785 in Fbyte_code (bytestr= {i = 9223372036874777344, s = {val = 20001536, type = Lisp_String}, u = {val = 20001536, type = Lisp_String}}, vector= {i = 11529215046093052928, s = {val = 24583168, type = Lisp_Vectorlike}, u = {val = 24583168, type = Lisp_Vectorlike}}, maxdepth= {i = 2, s = {val = 2, type = Lisp_Int0}, u = {val = 2, type = Lisp_Int0}}) at bytecode.c:869 #45 0x000000000087a830 in funcall_lambda (fun= {i = 11529215046099655072, s = {val = 31185312, type = Lisp_Vectorlike}, u = {val = 31185312, type = Lisp_Vectorlike}}, nargs=2, arg_vector=0x7fff7bcc6dc8) at eval.c:3294 #46 0x0000000000879bdc in Ffuncall (nargs=3, args=0x7fff7bcc6dc0) at eval.c:3147 #47 0x0000000000877d9c in Fapply (nargs=2, args=0x7fff7bcc6ec0) at eval.c:2581 #48 0x0000000000878721 in apply1 (fn= {i = 4611686018453314464, s = {val = 25926560, type = Lisp_Symbol}, u = {val = 25926560, type = Lisp_Symbol}}, arg= {i = 13835058055309567712, s = {val = 27404000, type = Lisp_Cons}, u = {val = 27404000, type = Lisp_Cons}}) at eval.c:2848 #49 0x0000000000955038 in read_process_output_call (fun_and_args= {i = 13835058055309567696, s = {val = 27403984, type = Lisp_Cons}, u = {val = 27403984, type = Lisp_Cons}}) at process.c:4954 #50 0x0000000000874341 in internal_condition_case_1 ( bfun=0x954f9d , arg= {i = 13835058055309567696, s = {val = 27403984, type = Lisp_Cons}, u = {val = 27403984, type = Lisp_Cons}}, handlers= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, hfun=0x95503a ) at eval.c:1590 #51 0x0000000000955bc4 in read_process_output (proc= {i = 11529215046100752992, s = {val = 32283232, type = Lisp_Vectorlike}, u = {val = 32283232, type = Lisp_Vectorlike}}, channel=10) at process.c:5175 #52 0x0000000000954663 in wait_reading_process_output (time_limit=0, microsecs=0, read_kbd=-1, do_display=1, wait_for_cell= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, wait_proc=0x0, just_wait_proc=0) at process.c:4788 #53 0x000000000075156a in kbd_buffer_get_event (kbp=0x7fff7bcc8928, used_mouse_menu=0x7fff7bcc90ec, end_time=0x0) at keyboard.c:3946 #54 0x000000000074cb40 in read_char (commandflag=1, nmaps=4, maps=0x7fff7bcc8c80, prev_event= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, used_mouse_menu=0x7fff7bcc90ec, end_time=0x0) at keyboard.c:2897 #55 0x00000000007651b0 in read_key_sequence (keybuf=0x7fff7bcc92f0, bufsize=30, prompt= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9220 #56 0x0000000000747eb1 in command_loop_1 () at keyboard.c:1649 #57 0x000000000087419e in internal_condition_case ( bfun=0x7474a4 , handlers= {i = 4611686018446829440, s = {val = 19441536, type = Lisp_Symbol}, u = {val = 19441536, type = Lisp_Symbol}}, hfun=0x746a95 ) at eval.c:1542 #58 0x0000000000747026 in command_loop_2 () at keyboard.c:1367 #59 0x0000000000873924 in internal_catch (tag= {i = 4611686018446825424, s = {val = 19437520, type = Lisp_Symbol}, u = {val = 19437520, type = Lisp_Symbol}}, func=0x74700c , arg= {i = 4611686018446777952, s = {val = 19390048, type = Lisp_Symbol}, u = {val = 19390048, type = Lisp_Symbol}}) at eval.c:1272 #60 0x0000000000746fe0 in command_loop () at keyboard.c:1346 #61 0x0000000000745ff4 in recursive_edit_1 () at keyboard.c:955 #62 0x00000000007465f3 in Frecursive_edit () at keyboard.c:1017 #63 0x0000000000743974 in main (argc=3, argv=0x7fff7bcc9cc8) at emacs.c:1781 Lisp Backtrace: "delete-process" (0x7bcc2638) {115 's', 101 'e', 114 'r', 118 'v', 101 'e', 114 'r', 45 '-', 100 'd', 101 'e', 108 'l', 101 'e', 116 't', 101 'e', 45 '-', 99 'c', 108 'l', 105 'i', 101 'e', 110 'n', 116 't'} (0x7bcc2d98) "byte-code" (0x7bcc33a0) {115 's', 101 'e', 114 'r', 118 'v', 101 'e', 114 'r', 45 '-', 101 'e', 120 'x', 101 'e', 99 'c', 117 'u', 116 't', 101 'e'} (0x7bcc3de8) Value can't be converted to integer. (gdb)