emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Segmentation violation in display_string


From: Milan Zamazal
Subject: Re: Segmentation violation in display_string
Date: Tue, 24 May 2005 09:59:06 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>>>>> "KFS" == Kim F Storm <address@hidden> writes:

    KFS> Milan Zamazal <address@hidden> writes:
    >> CVS Emacs dated 2005-05-23 often crashes with segmentation violation.

    KFS> Can you provide some additional info:

    KFS> p frame_title_ptr

$1 = 0x0

    KFS> p frame_title_buf

$2 = 0x8d7d250 "-uuu:%%-F1  *w3m* [ - ] / Brailcom - Tituln\201\355 
str\201\341nka   Top L1      (w3m S Abbrev)----09:18 1.35", '-' <repeats 103 
times>...
    
    KFS> p frame_title_buf_end

$3 = 0x8d7d570 ""

    KFS> pp mode_line_string_list

nil    

    KFS> I suspect that frame_title_ptr somehow got cleared, but I don't see how
    KFS> it happened.

    KFS> Can you rerun emacs with the following patch installed, to see if it 
catches
    KFS> the error earlier.

    KFS> Thanks.

    KFS> *** xdisp.c    23 May 2005 13:55:29 +0200      1.1011
    KFS> --- xdisp.c    23 May 2005 23:46:14 +0200      
    KFS> ***************
    KFS> *** 8278,8283 ****
    KFS> --- 8278,8286 ----
    KFS>         /* Switch to the buffer of selected window of the frame.  Set 
up
    KFS>         frame_title_ptr so that display_mode_element will output into 
it;
    KFS>         then display the title.  */
    KFS> +       if (frame_title_ptr != NULL)
    KFS> +      abort();
    KFS> + 
    KFS>         obuf = current_buffer;
    KFS>         set_buffer_internal_1 (XBUFFER (XWINDOW 
(f->selected_window)->buffer));
    KFS>         fmt = FRAME_ICONIFIED_P (f) ? Vicon_title_format : 
Vframe_title_format;
    KFS> ***************
    KFS> *** 16228,16233 ****
    KFS> --- 16231,16239 ----
  
    KFS>     init_iterator (&it, w, -1, -1, NULL, face_id);
  
    KFS> +   if (frame_title_ptr != NULL)
    KFS> +     abort();
    KFS> + 
    KFS>     if (!no_props)
    KFS>       {
    KFS>         mode_line_string_face = face;

I think you actually meant

  if (frame_title_ptr == NULL)

in both the conditions?  (This is what I applied.)

Now the backtraces look as follows:

  #0  abort () at emacs.c:460
  #1  0x08079220 in Fformat_mode_line (format=137388097, face=137388049,
      window=-1073750592, buffer=140528764) at xdisp.c:16235
  #2  0x0814b269 in Ffuncall (nargs=2, args=0xbfffe080) at eval.c:2798
  #3  0x081743fe in Fbyte_code (bytestr=144002763, vector=1,
      maxdepth=-1073749776) at bytecode.c:686
  #4  0x0814b603 in funcall_lambda (fun=144013332, nargs=0,
      arg_vector=0xbfffe228) at eval.c:2976
  #5  0x0814b0ed in Ffuncall (nargs=1, args=0xbfffe224) at eval.c:2844
  #6  0x081743fe in Fbyte_code (bytestr=137645897, vector=0,
      maxdepth=-1073749468) at bytecode.c:686
  #7  0x0814b603 in funcall_lambda (fun=144020012, nargs=1,
      arg_vector=0xbfffe374) at eval.c:2976
  #8  0x0814b0ed in Ffuncall (nargs=2, args=0xbfffe370) at eval.c:2844
  #9  0x0814aea0 in call1 (fn=144020012, arg1=137437545) at eval.c:2579
  (More stack frames follow...)

  "format-mode-line"
  "speechd-speak--get-header-line"
  0x895922c PVEC_COMPILED
  "mapcar"
  "speechd-speak--current-info"
  "byte-code"
  "speechd-speak--set-command-start-info"
  "byte-code"
  "speechd-speak--pre-command-hook"
  "run-hooks"

where speechd-speak--get-header-line contains the following:

      (if (fboundp 'format-mode-line)
          (let ((line (format-mode-line t)))
            (if (string= line "") "empty" line))
        "unknown"))

And the additional info:

    KFS> p frame_title_ptr

$1 = 0x0

    KFS> p frame_title_buf

$2 = 0x8597f98 ""
    
    KFS> p frame_title_buf_end

$3 = 0x8597ffc "\251"

    KFS> pp mode_line_string_list

nil

    KFS> pp format (in frame #1)

t

Regards,

Milan Zamazal

-- 
http://www.zamazal.org




reply via email to

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