Subject: bug#10696: closed (Re: bug#10696: 24.0.93; crash by null string display property)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 04 Feb 2012 09:30:03 +0000

Your bug report

#10696: 24.0.93; crash by null string display property

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
10696: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10696
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#10696: 24.0.93; crash by null string display property
From: Eli Zaretskii <[email-masked]>
To: Kenichi Handa <[email-masked]>
Cc: [email-masked]
Date: Sat, 04 Feb 2012 11:28:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Kenichi Handa <[email-masked]>
> Date: Thu, 02 Feb 2012 22:17:58 +0900
> 
> Emacs crashes by this scenario.
> 
> Start Emacs under gdb as this
> 
> % cd .../emacs/src
> % gdb emacs
> (gdb) run -Q
> 
> Then type this in *scratch* buffer.
> 
> (put-text-property 1 3 'display "")C-j
> ESC < C-f C-b
> 
> Then Emacs abort as this.
> 
> Breakpoint 1, abort () at emacs.c:394
> (gdb) bt full
> #0  abort () at emacs.c:394
> No locals.
> #1  0x0817b0f6 in buf_charpos_to_bytepos (b=0x8486dd0, charpos=0)
>     at marker.c:130

Fixed in revision 107088 on the trunk.

Subject: 24.0.93; crash by null string display property
From: Kenichi Handa <[email-masked]>
To: [email-masked]
Date: Thu, 02 Feb 2012 22:17:58 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Emacs crashes by this scenario.

Start Emacs under gdb as this

% cd .../emacs/src
% gdb emacs
(gdb) run -Q

Then type this in *scratch* buffer.

(put-text-property 1 3 'display "")C-j
ESC < C-f C-b

Then Emacs abort as this.

Breakpoint 1, abort () at emacs.c:394
(gdb) bt full
#0  abort () at emacs.c:394
No locals.
#1  0x0817b0f6 in buf_charpos_to_bytepos (b=0x8486dd0, charpos=0)
    at marker.c:130
        tail = 0x822923a
        best_above = -1073745816
        best_above_byte = -1073744400
        best_below = 2
        best_below_byte = 2
#2  0x082286b8 in set_point (charpos=0) at intervals.c:1896
No locals.
#3  0x0814de2d in adjust_point_for_property (last_pt=3, modified=0)
    at keyboard.c:1751
        beg = 1
        end = 3
        val = 136909489
        overlay = 138944682
        tmp = 1
        check_composition = 0
        check_display = 1
        check_invisible = 1
        orig_pt = 2
#4  0x0814db44 in command_loop_1 () at keyboard.c:1692
        cmd = 138969498
        keybuf = {8, 240, -1073745576, 136124231, 139015362, 138944682, 
          139015360, 0, -1208056008, -1073807358, 1172880, 139015362, 
          138944682, 0, 0, 138944682, 139489658, 139152966, 137188261, 
          1346920704, 0, 0, 138944682, 138944682, -1073744400, -1073744684, 
          -1073745528, 136114429, 2, 139152966}
        i = 1
        prev_modiff = 179
        prev_buffer = 0x8486dd0
        already_adjusted = 0
#5  0x081cdf93 in internal_condition_case (bfun=0x814d0a6 <command_loop_1>, 
    handlers=138975690, hfun=0x814ca67 <cmd_error>) at eval.c:1500
        val = 139152966
        c = {
          tag = 138944682, 
          val = 138944682, 
          next = 0xbffff2e8, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {-1073743984, -1073744400, -1073744684, -1073745240, 
                -2117001572, 1200358899}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0, 0, 32, 7263168, 7258100, 7263168, 5906208, 0, 
                  3221222048, 3221221976, 3221221988, 134537396, 1231096, 0, 
                  3086911288, 3221159938, 134536417, 134535701, 3086919744, 
                  1228788, 5872076, 24, 3221221756, 1150886, 7757812, 
                  138898240, 3221222292, 5889536, 3086919832, 2, 4294967295, 
                  1228788}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
        h = {
          handler = 138975690, 
          var = 138944682, 
          chosen_clause = 1, 
          tag = 0xbffff1c0, 
          next = 0x0
        }
#6  0x0814cdf7 in command_loop_2 (ignore=138944682) at keyboard.c:1159
        val = -1073743984
#7  0x081cda8f in internal_catch (tag=138973666, 
    func=0x814cdd3 <command_loop_2>, arg=138944682) at eval.c:1257
        c = {
          tag = 138973666, 
          val = 138944682, 
          next = 0x0, 
          gcpro = 0x0, 
          jmp = {{
              __jmpbuf = {-1073743984, -1073744400, -1073744684, -1073744968, 
                -2116559204, 1200062451}, 
              __mask_was_saved = 0, 
              __saved_mask = {
                __val = {0 <repeats 16 times>, 6306222, 0, 0, 0, 138944682, 
                  3221222328, 136021028, 138561896, 138944682, 138964432, 
                  136450857, 142408960, 3221223312, 138561896, 138964432, 
                  138561896}
              }
            }}, 
          backlist = 0x0, 
          handlerlist = 0x0, 
          lisp_eval_depth = 0, 
          pdlcount = 2, 
          poll_suppress_count = 1, 
          interrupt_input_blocked = 0, 
          byte_stack = 0x0
        }
#8  0x0814cdb3 in command_loop () at keyboard.c:1138
No locals.
#9  0x0814c6a0 in recursive_edit_1 () at keyboard.c:758
        count = 1
        val = -1073744824
#10 0x0814c7f1 in Frecursive_edit () at keyboard.c:822
        count = 0
        buffer = 138944682
#11 0x0814acf6 in main (argc=2, argv=0xbffff834) at emacs.c:1715
        dummy = -1073743992
        stack_bottom_variable = 8 '\b'
        do_initial_setlocale = 1
        skip_args = 0
        rlim = {
          rlim_cur = 8388608, 
          rlim_max = 18446744073709551615
        }
        no_loadup = 0
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x6ebff4 "|]\025"
(gdb) xbacktrace
(gdb) 

I'll be able to work on this problem next week, but
anyone who can fix this bug earlier are welcome.

---
Kenichi Handa
[email-masked]

In GNU Emacs 24.0.93.13 (i686-pc-linux-gnu, X toolkit, Xaw scroll bars)
 of 2012-02-02 on ubuntu
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
Configured using:
 `configure 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ja_JP.utf8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
M-x r e p o r t <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message format-spec rfc822
mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader emacsbug time sendmail
regexp-opt rmail-spam-filter easymenu rmailsum rmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date
japan-util tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer loaddefs button faces cus-face
files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable
backquote make-network-process dynamic-setting
font-render-setting x-toolkit x multi-tty emacs)