emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

`raise' display property


From: Stefan Monnier
Subject: `raise' display property
Date: Wed, 11 Jun 2008 16:23:23 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

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 <redisplay_window_0>, 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 <redisplay_window_error>)
    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 <Feval>, 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 <read_process_output_call>, 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 <read_process_output_error_handler>) 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 <command_loop_1>, handlers=
        {i = 4611686018446829440, s = {val = 19441536, type = Lisp_Symbol}, u = 
{val = 19441536, type = Lisp_Symbol}}, hfun=0x746a95 <cmd_error>)
    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 <command_loop_2>, 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) 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]