GNU bug report logs - #11653
23.2; Segfault with csv-mode

Previous Next

Package: emacs;

Reported by: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>

Date: Fri, 8 Jun 2012 16:33:02 UTC

Severity: normal

Found in version 23.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11653 in the body.
You can then email your comments to 11653 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Fri, 08 Jun 2012 16:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jordi Gutiérrez Hermoso <jordigh <at> octave.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 08 Jun 2012 16:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2; Segfault with csv-mode
Date: Fri, 8 Jun 2012 12:29:46 -0400
(1) Load the following csv-mode.el:

    http://jordi.platinum.linux.pl/emacs-bug/csv-mode.el

(2) Open the following csv file:

    http://jordi.platinum.linux.pl/emacs-bug/foo.csv

(3) Align all fields: C-x h C-c C-a

(4) Attempt to sort them: M-x csv-sort-fields <RET>

In Emacs 23, this incurred an immediate crash. At bzr revno: 108512,
after attempting to move the point a little (C-e, C-a, C-p, C-n, maybe
C-g), I obtained the following stack trace:


Program received signal SIGSEGV, Segmentation fault.
0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
3693		= (it->current.overlay_string_index >= 0
(gdb) bt
#0  0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
#1  0x00000000004379f8 in handle_stop (it=0x7fffffffb0c0) at xdisp.c:3158
#2  0x0000000000443937 in next_element_from_string (it=0x7fffffffb0c0)
    at xdisp.c:7456
#3  0x0000000000440895 in get_next_display_element (it=0x7fffffffb0c0)
    at xdisp.c:6499
#4  0x0000000000445500 in move_it_in_display_line_to (it=0x7fffffffb0c0,
    to_charpos=1, to_x=-1, op=MOVE_TO_POS) at xdisp.c:8169
#5  0x0000000000447d57 in move_it_to (it=0x7fffffffb0c0, to_charpos=1,
    to_x=-1, to_y=-1, to_vpos=-1, op=8) at xdisp.c:8771
#6  0x0000000000448b8a in move_it_by_lines (it=0x7fffffffb0c0, dvpos=1)
    at xdisp.c:9115
#7  0x00000000005c1fb1 in Fvertical_motion (lines=4, window=17938325)
    at indent.c:2118
#8  0x0000000000607c72 in Ffuncall (nargs=2, args=0x7fffffffbf28)
    at eval.c:2807
#9  0x0000000000654173 in exec_byte_code (bytestr=10360073, vector=10360109,
    maxdepth=20, args_template=12759586, nargs=0, args=0x0) at bytecode.c:784
#10 0x0000000000608664 in funcall_lambda (fun=10359997, nargs=2,
    arg_vector=0x9e152d) at eval.c:3036
#11 0x0000000000607e5a in Ffuncall (nargs=3, args=0x7fffffffc3f8)
    at eval.c:2853
#12 0x0000000000654173 in exec_byte_code (bytestr=10359761, vector=10359797,
---Type <return> to continue, or q <return> to quit---
    maxdepth=16, args_template=12759586, nargs=0, args=0x0) at bytecode.c:784
#13 0x0000000000608664 in funcall_lambda (fun=10359653, nargs=4,
    arg_vector=0x9e13f5) at eval.c:3036
#14 0x0000000000607e5a in Ffuncall (nargs=5, args=0x7fffffffc8c8)
    at eval.c:2853
#15 0x0000000000654173 in exec_byte_code (bytestr=10358033, vector=10358085,
    maxdepth=20, args_template=12759586, nargs=0, args=0x0) at bytecode.c:784
#16 0x00000000006535ff in Fbyte_code (bytestr=10358033, vector=10358085,
    maxdepth=20) at bytecode.c:423
#17 0x000000000060665b in eval_sub (form=10358006) at eval.c:2157
#18 0x000000000060479a in internal_lisp_condition_case (var=12894274,
    bodyform=10358006, handlers=10358134) at eval.c:1271
#19 0x0000000000654f06 in exec_byte_code (bytestr=10357833, vector=10357869,
    maxdepth=24, args_template=12759586, nargs=0, args=0x0) at bytecode.c:980
#20 0x0000000000608664 in funcall_lambda (fun=10357725, nargs=2,
    arg_vector=0x9e0c6d) at eval.c:3036
#21 0x0000000000607e5a in Ffuncall (nargs=3, args=0x7fffffffd510)
    at eval.c:2853
#22 0x00000000006025b9 in Fcall_interactively (function=13572082,
    record_flag=12759586, keys=12805973) at callint.c:853
#23 0x0000000000607ca1 in Ffuncall (nargs=4, args=0x7fffffffd840)
    at eval.c:2811
#24 0x00000000006074c5 in call3 (fn=12899682, arg1=13572082, arg2=12759586,
---Type <return> to continue, or q <return> to quit---
    arg3=12759586) at eval.c:2604
#25 0x000000000057b880 in Fcommand_execute (cmd=13572082,
    record_flag=12759586, keys=12759586, special=12759586) at keyboard.c:10350
#26 0x00000000005692ff in command_loop_1 () at keyboard.c:1573
#27 0x0000000000604904 in internal_condition_case (
    bfun=0x568ac9 <command_loop_1>, handlers=12811842,
    hfun=0x568392 <cmd_error>) at eval.c:1317
#28 0x0000000000568792 in command_loop_2 (ignore=12759586) at keyboard.c:1155
#29 0x0000000000604284 in internal_catch (tag=12807634,
    func=0x56876c <command_loop_2>, arg=12759586) at eval.c:1074
#30 0x0000000000568745 in command_loop () at keyboard.c:1134
#31 0x0000000000567ed0 in recursive_edit_1 () at keyboard.c:754
#32 0x0000000000568077 in Frecursive_edit () at keyboard.c:818
#33 0x00000000005661a7 in main (argc=2, argv=0x7fffffffe268) at emacs.c:1699

Lisp Backtrace:
"vertical-motion" (0xffffbf30)
"line-move-visual" (0xffffc400)
"line-move" (0xffffc8d0)
"byte-code" (0xffffcce0)
"next-line" (0xffffd518)
"call-interactively" (0xffffd848)
(gdb)


In GNU Emacs 23.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2010-12-11 on brahms, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11004000
configured using `configure  '--build' 'x86_64-linux-gnu' '--build'
'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib'
'--libexecdir=/usr/lib' '--localstatedir=/var/lib'
'--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim'
'--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
'build_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g'
'CPPFLAGS=''

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: en_CA.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tabbar-mwheel-mode: t
  tabbar-mode: t
  show-paren-mode: t
  savehist-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent input:
M-x e m a c s - r e p <tab> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> r e p o r t <tab> <return>

Recent messages:
Loading /etc/emacs/site-start.d/53cogre.el (source)...done
Loading /etc/emacs/site-start.d/54jde.el (source)...
Package jde removed but not purged.  Skipping setup.
Loading /etc/emacs/site-start.d/54jde.el (source)...done
Loading /etc/emacs/site-start.d/55ecb.el (source)...done
Loading savehist...done
Loading paren...done
Loading tabbar...done
Ido mode enabled
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/usr/share/emacs23/site-lisp/nethack/nethack-keys-dvorak hides
/usr/share/emacs/site-lisp/nethack/nethack-keys-dvorak
/usr/share/emacs23/site-lisp/nethack/nethack-compat hides
/usr/share/emacs/site-lisp/nethack/nethack-compat
/usr/share/emacs23/site-lisp/nethack/nethack-api hides
/usr/share/emacs/site-lisp/nethack/nethack-api
/usr/share/emacs23/site-lisp/nethack/nethack-cmd hides
/usr/share/emacs/site-lisp/nethack/nethack-cmd
/usr/share/emacs23/site-lisp/nethack/slashem-tiles hides
/usr/share/emacs/site-lisp/nethack/slashem-tiles
/usr/share/emacs23/site-lisp/nethack/nethack-keys hides
/usr/share/emacs/site-lisp/nethack/nethack-keys
/usr/share/emacs23/site-lisp/nethack/nethack hides
/usr/share/emacs/site-lisp/nethack/nethack
/usr/share/emacs23/site-lisp/nethack/nethack-tiles hides
/usr/share/emacs/site-lisp/nethack/nethack-tiles
/usr/share/emacs23/site-lisp/gcl/smart-complete hides
/usr/share/emacs23/site-lisp/maxima/smart-complete
/usr/share/emacs23/site-lisp/gcl/sshell hides
/usr/share/emacs23/site-lisp/maxima/sshell
/usr/share/emacs23/site-lisp/auctex/font-latex hides
/usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs23/site-lisp/auctex/bib-cite hides
/usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs23/site-lisp/auctex/prv-emacs hides
/usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs23/site-lisp/auctex/context hides
/usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs23/site-lisp/auctex/tex-mik hides
/usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs23/site-lisp/auctex/multi-prompt hides
/usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs23/site-lisp/auctex/tex-style hides
/usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs23/site-lisp/auctex/tex-jp hides
/usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs23/site-lisp/auctex/latex hides
/usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs23/site-lisp/auctex/tex hides
/usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs23/site-lisp/auctex/tex-info hides
/usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs23/site-lisp/auctex/tex-bar hides
/usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs23/site-lisp/auctex/toolbar-x hides
/usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs23/site-lisp/auctex/texmathp hides
/usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs23/site-lisp/auctex/tex-buf hides
/usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs23/site-lisp/auctex/tex-font hides
/usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs23/site-lisp/auctex/context-nl hides
/usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs23/site-lisp/auctex/tex-fptex hides
/usr/share/emacs/site-lisp/auctex/tex-fptex
/usr/share/emacs23/site-lisp/auctex/preview hides
/usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs23/site-lisp/auctex/context-en hides
/usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs23/site-lisp/auctex/tex-fold hides
/usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs/23.2/site-lisp/cmake-data/cmake-mode hides
/usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/23.2/site-lisp/debian-startup hides
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs23/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4
/usr/share/emacs23/site-lisp/flim/hex-util hides
/usr/share/emacs/23.2/lisp/hex-util
/usr/share/emacs23/site-lisp/flim/sha1 hides /usr/share/emacs/23.2/lisp/sha1
/usr/share/emacs23/site-lisp/dictionaries-common/flyspell hides
/usr/share/emacs/23.2/lisp/textmodes/flyspell
/usr/share/emacs23/site-lisp/dictionaries-common/ispell hides
/usr/share/emacs/23.2/lisp/textmodes/ispell
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/23.2/lisp/textmodes/rst
/usr/share/emacs23/site-lisp/ruby1.8-elisp/ruby-mode hides
/usr/share/emacs/23.2/lisp/progmodes/ruby-mode
/usr/share/emacs23/site-lisp/org-mode/org-install hides
/usr/share/emacs/23.2/lisp/org/org-install
/usr/share/emacs23/site-lisp/org-mode/org-rmail hides
/usr/share/emacs/23.2/lisp/org/org-rmail
/usr/share/emacs23/site-lisp/org-mode/org-plot hides
/usr/share/emacs/23.2/lisp/org/org-plot
/usr/share/emacs23/site-lisp/org-mode/org-remember hides
/usr/share/emacs/23.2/lisp/org/org-remember
/usr/share/emacs23/site-lisp/org-mode/org hides
/usr/share/emacs/23.2/lisp/org/org
/usr/share/emacs23/site-lisp/org-mode/org-agenda hides
/usr/share/emacs/23.2/lisp/org/org-agenda
/usr/share/emacs23/site-lisp/org-mode/org-id hides
/usr/share/emacs/23.2/lisp/org/org-id
/usr/share/emacs23/site-lisp/org-mode/org-archive hides
/usr/share/emacs/23.2/lisp/org/org-archive
/usr/share/emacs23/site-lisp/org-mode/org-indent hides
/usr/share/emacs/23.2/lisp/org/org-indent
/usr/share/emacs23/site-lisp/org-mode/org-footnote hides
/usr/share/emacs/23.2/lisp/org/org-footnote
/usr/share/emacs23/site-lisp/org-mode/org-inlinetask hides
/usr/share/emacs/23.2/lisp/org/org-inlinetask
/usr/share/emacs23/site-lisp/org-mode/org-publish hides
/usr/share/emacs/23.2/lisp/org/org-publish
/usr/share/emacs23/site-lisp/org-mode/org-exp hides
/usr/share/emacs/23.2/lisp/org/org-exp
/usr/share/emacs23/site-lisp/org-mode/org-mac-message hides
/usr/share/emacs/23.2/lisp/org/org-mac-message
/usr/share/emacs23/site-lisp/org-mode/org-bibtex hides
/usr/share/emacs/23.2/lisp/org/org-bibtex
/usr/share/emacs23/site-lisp/org-mode/org-w3m hides
/usr/share/emacs/23.2/lisp/org/org-w3m
/usr/share/emacs23/site-lisp/org-mode/org-attach hides
/usr/share/emacs/23.2/lisp/org/org-attach
/usr/share/emacs23/site-lisp/org-mode/org-latex hides
/usr/share/emacs/23.2/lisp/org/org-latex
/usr/share/emacs23/site-lisp/org-mode/org-src hides
/usr/share/emacs/23.2/lisp/org/org-src
/usr/share/emacs23/site-lisp/org-mode/org-jsinfo hides
/usr/share/emacs/23.2/lisp/org/org-jsinfo
/usr/share/emacs23/site-lisp/org-mode/org-mouse hides
/usr/share/emacs/23.2/lisp/org/org-mouse
/usr/share/emacs23/site-lisp/org-mode/org-feed hides
/usr/share/emacs/23.2/lisp/org/org-feed
/usr/share/emacs23/site-lisp/org-mode/org-gnus hides
/usr/share/emacs/23.2/lisp/org/org-gnus
/usr/share/emacs23/site-lisp/org-mode/org-mew hides
/usr/share/emacs/23.2/lisp/org/org-mew
/usr/share/emacs23/site-lisp/org-mode/org-bbdb hides
/usr/share/emacs/23.2/lisp/org/org-bbdb
/usr/share/emacs23/site-lisp/org-mode/org-macs hides
/usr/share/emacs/23.2/lisp/org/org-macs
/usr/share/emacs23/site-lisp/org-mode/org-list hides
/usr/share/emacs/23.2/lisp/org/org-list
/usr/share/emacs23/site-lisp/org-mode/org-irc hides
/usr/share/emacs/23.2/lisp/org/org-irc
/usr/share/emacs23/site-lisp/org-mode/org-table hides
/usr/share/emacs/23.2/lisp/org/org-table
/usr/share/emacs23/site-lisp/org-mode/org-docbook hides
/usr/share/emacs/23.2/lisp/org/org-docbook
/usr/share/emacs23/site-lisp/org-mode/org-habit hides
/usr/share/emacs/23.2/lisp/org/org-habit
/usr/share/emacs23/site-lisp/org-mode/org-freemind hides
/usr/share/emacs/23.2/lisp/org/org-freemind
/usr/share/emacs23/site-lisp/org-mode/org-crypt hides
/usr/share/emacs/23.2/lisp/org/org-crypt
/usr/share/emacs23/site-lisp/org-mode/org-colview hides
/usr/share/emacs/23.2/lisp/org/org-colview
/usr/share/emacs23/site-lisp/org-mode/org-datetree hides
/usr/share/emacs/23.2/lisp/org/org-datetree
/usr/share/emacs23/site-lisp/org-mode/org-html hides
/usr/share/emacs/23.2/lisp/org/org-html
/usr/share/emacs23/site-lisp/org-mode/org-exp-blocks hides
/usr/share/emacs/23.2/lisp/org/org-exp-blocks
/usr/share/emacs23/site-lisp/org-mode/org-wl hides
/usr/share/emacs/23.2/lisp/org/org-wl
/usr/share/emacs23/site-lisp/org-mode/org-icalendar hides
/usr/share/emacs/23.2/lisp/org/org-icalendar
/usr/share/emacs23/site-lisp/org-mode/org-xoxo hides
/usr/share/emacs/23.2/lisp/org/org-xoxo
/usr/share/emacs23/site-lisp/org-mode/org-faces hides
/usr/share/emacs/23.2/lisp/org/org-faces
/usr/share/emacs23/site-lisp/org-mode/org-timer hides
/usr/share/emacs/23.2/lisp/org/org-timer
/usr/share/emacs23/site-lisp/org-mode/org-clock hides
/usr/share/emacs/23.2/lisp/org/org-clock
/usr/share/emacs23/site-lisp/org-mode/org-mhe hides
/usr/share/emacs/23.2/lisp/org/org-mhe
/usr/share/emacs23/site-lisp/org-mode/org-compat hides
/usr/share/emacs/23.2/lisp/org/org-compat
/usr/share/emacs23/site-lisp/org-mode/org-protocol hides
/usr/share/emacs/23.2/lisp/org/org-protocol
/usr/share/emacs23/site-lisp/org-mode/org-vm hides
/usr/share/emacs/23.2/lisp/org/org-vm
/usr/share/emacs23/site-lisp/org-mode/org-mobile hides
/usr/share/emacs/23.2/lisp/org/org-mobile
/usr/share/emacs23/site-lisp/org-mode/org-info hides
/usr/share/emacs/23.2/lisp/org/org-info
/usr/share/emacs23/site-lisp/org-mode/org-ascii hides
/usr/share/emacs/23.2/lisp/org/org-ascii
/usr/share/emacs23/site-lisp/flim/hmac-md5 hides
/usr/share/emacs/23.2/lisp/net/hmac-md5
/usr/share/emacs23/site-lisp/flim/sasl-ntlm hides
/usr/share/emacs/23.2/lisp/net/sasl-ntlm
/usr/share/emacs23/site-lisp/flim/sasl-digest hides
/usr/share/emacs/23.2/lisp/net/sasl-digest
/usr/share/emacs23/site-lisp/flim/sasl hides /usr/share/emacs/23.2/lisp/net/sasl
/usr/share/emacs23/site-lisp/flim/hmac-def hides
/usr/share/emacs/23.2/lisp/net/hmac-def
/usr/share/emacs23/site-lisp/flim/ntlm hides /usr/share/emacs/23.2/lisp/net/ntlm
/usr/share/emacs23/site-lisp/flim/sasl-cram hides
/usr/share/emacs/23.2/lisp/net/sasl-cram
/usr/share/emacs23/site-lisp/emms/tq hides
/usr/share/emacs/23.2/lisp/emacs-lisp/tq

Features:
(shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailabbrev nnheader
gnus-util netrc gmm-utils wid-edit mailheader canlock sha1 sha1-el
hex-util hashcash mail-utils warnings emacsbug disp-table whitespace ido
server saveplace org2blog metaweblog xml-rpc url-http tls url url-proxy
url-privacy url-expand url-methods url-history mailcap url-auth
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums url-cookie timezone
url-util url-parse url-gw url-vars mm-util mail-prsvr xml org byte-opt
bytecomp byte-compile ob-emacs-lisp ob-keys ob-comint ob-tangle ob-ref
ob-lob ob-table ob org-footnote org-src org-list org-faces org-compat
org-entities org-macs time-date noutline outline cal-menu calendar
cal-loaddefs smart-tabs stripes stripes-mode rainbow-mode regexp-opt
django-mode sgml-mode legalese ipython edmacro kmacro python-mode
info-look info easymenu ansi-color executable shell cl cl-19 jka-compr
uniquify tabbar paren savehist cus-start cus-load w3m-load
slime-autoloads compile comint ring org-install emms-auto
emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode
dpkg-dev-el dpkg-dev-el-loaddefs devhelp develock advice help-fns
advice-preload preview-latex tex-site auto-loads tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mldrag 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 loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind system-font-setting font-render-setting
gtk x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Fri, 08 Jun 2012 17:53:01 GMT) Full text and rfc822 format available.

Message #8 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Fri, 08 Jun 2012 20:49:46 +0300
> Date: Fri, 8 Jun 2012 12:29:46 -0400
> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> 
> (1) Load the following csv-mode.el:
> 
>     http://jordi.platinum.linux.pl/emacs-bug/csv-mode.el
> 
> (2) Open the following csv file:
> 
>     http://jordi.platinum.linux.pl/emacs-bug/foo.csv
> 
> (3) Align all fields: C-x h C-c C-a
> 
> (4) Attempt to sort them: M-x csv-sort-fields <RET>
> 
> In Emacs 23, this incurred an immediate crash. At bzr revno: 108512,
> after attempting to move the point a little (C-e, C-a, C-p, C-n, maybe
> C-g), I obtained the following stack trace:
> 
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
> 3693		= (it->current.overlay_string_index >= 0

I cannot reproduce this with today's trunk (revision 108257).

> (gdb) bt
> #0  0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693

In frame 0, can you show what does the following GDB command print?

 (gdb) p it->current





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Wed, 13 Jun 2012 14:35:02 GMT) Full text and rfc822 format available.

Message #11 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Wed, 13 Jun 2012 10:32:00 -0400
On 8 June 2012 13:49, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> Date: Fri, 8 Jun 2012 12:29:46 -0400
>> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
>>
>> (1) Load the following csv-mode.el:
>>
>>     http://jordi.platinum.linux.pl/emacs-bug/csv-mode.el
>>
>> (2) Open the following csv file:
>>
>>     http://jordi.platinum.linux.pl/emacs-bug/foo.csv
>>
>> (3) Align all fields: C-x h C-c C-a
>>
>> (4) Attempt to sort them: M-x csv-sort-fields <RET>
>>
>> In Emacs 23, this incurred an immediate crash. At bzr revno: 108512,
>> after attempting to move the point a little (C-e, C-a, C-p, C-n, maybe
>> C-g), I obtained the following stack trace:
>>
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
>> 3693          = (it->current.overlay_string_index >= 0
>
> I cannot reproduce this with today's trunk (revision 108257).

I can reproduce it quite reliably. I'm not sure I'm at the correct
revision, but I just tried this again at revno 108581 with the same
results.

I tried 108257 (which seems to be from May 17? Not "today"?), and also
got the same result. It seems to take a little while for the segfault
to occur. Trying a few motion keys (C-n, C-e, C-a) seems to trigger it
for me.

>> (gdb) bt
>> #0  0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
>
> In frame 0, can you show what does the following GDB command print?

Sure thing:

    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000438649 in handle_face_prop (it=0x7fffffffb180) at xdisp.c:3689
    3689		= (it->current.overlay_string_index >= 0
    (gdb) p it->current
    $1 = {
      pos = {
        charpos = 1,
        bytepos = 1
      },
      overlay_string_index = 1935,
      string_pos = {
        charpos = 0,
        bytepos = 0
      },
      dpvec_index = -1
    }

Thank you for your interest,
- Jordi G. H.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Wed, 13 Jun 2012 15:49:02 GMT) Full text and rfc822 format available.

Message #14 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Wed, 13 Jun 2012 18:45:43 +0300
> Date: Wed, 13 Jun 2012 10:32:00 -0400
> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> Cc: 11653 <at> debbugs.gnu.org
> 
> >> (gdb) bt
> >> #0  0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
> >
> > In frame 0, can you show what does the following GDB command print?
> 
> Sure thing:
> 
>     Program received signal SIGSEGV, Segmentation fault.
>     0x0000000000438649 in handle_face_prop (it=0x7fffffffb180) at xdisp.c:3689
>     3689		= (it->current.overlay_string_index >= 0
>     (gdb) p it->current
>     $1 = {
>       pos = {
>         charpos = 1,
>         bytepos = 1
>       },
>       overlay_string_index = 1935,   <<<<<<<<<<<<<<<<<<<<<<<
>       string_pos = {
>         charpos = 0,
>         bytepos = 0

Are there this many overlay strings in the buffer at character
position 1?  If not, this huge number is probably garbage, and is the
cause for the segfault.

Btw, when I tried your recipe, Emacs asked me about the column to sort
by, which was not in your recipe.  Can you double-check if your recipe
is 100% correct and does not omit any important details?





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Wed, 13 Jun 2012 16:16:01 GMT) Full text and rfc822 format available.

Message #17 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Wed, 13 Jun 2012 12:12:33 -0400
On 13 June 2012 11:45, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> Date: Wed, 13 Jun 2012 10:32:00 -0400
>> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
>> Cc: 11653 <at> debbugs.gnu.org
>>
>> >> (gdb) bt
>> >> #0  0x0000000000438b03 in handle_face_prop (it=0x7fffffffb0c0) at xdisp.c:3693
>> >
>> > In frame 0, can you show what does the following GDB command print?
>>
>> Sure thing:
>>
>>     Program received signal SIGSEGV, Segmentation fault.
>>     0x0000000000438649 in handle_face_prop (it=0x7fffffffb180) at xdisp.c:3689
>>     3689              = (it->current.overlay_string_index >= 0
>>     (gdb) p it->current
>>     $1 = {
>>       pos = {
>>         charpos = 1,
>>         bytepos = 1
>>       },
>>       overlay_string_index = 1935,   <<<<<<<<<<<<<<<<<<<<<<<
>>       string_pos = {
>>         charpos = 0,
>>         bytepos = 0
>
> Are there this many overlay strings in the buffer at character
> position 1?  If not, this huge number is probably garbage, and is the
> cause for the segfault.

I don't understand Emacs internals. What's an overlay string, and how
do I count it?

> Btw, when I tried your recipe, Emacs asked me about the column to sort
> by, which was not in your recipe.  Can you double-check if your recipe
> is 100% correct and does not omit any important details?

I thought the <RET> handled it for me, because the function
csv-sort-fields queries you for a value. Yes, the default of 1 is
what's necessary.

Thanks again,
- Jordi G. H.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Wed, 13 Jun 2012 16:32:01 GMT) Full text and rfc822 format available.

Message #20 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Wed, 13 Jun 2012 19:28:48 +0300
> Date: Wed, 13 Jun 2012 12:12:33 -0400
> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> Cc: 11653 <at> debbugs.gnu.org
> 
> >>       overlay_string_index = 1935,   <<<<<<<<<<<<<<<<<<<<<<<
> >>       string_pos = {
> >>         charpos = 0,
> >>         bytepos = 0
> >
> > Are there this many overlay strings in the buffer at character
> > position 1?  If not, this huge number is probably garbage, and is the
> > cause for the segfault.
> 
> I don't understand Emacs internals. What's an overlay string, and how
> do I count it?

It's an overlay with a before-string or an after-string property.  You
should be able to see that with "M-x describe-text-properties RET", I
think, as well as in the code of the mode you are using.

> > Btw, when I tried your recipe, Emacs asked me about the column to sort
> > by, which was not in your recipe.  Can you double-check if your recipe
> > is 100% correct and does not omit any important details?
> 
> I thought the <RET> handled it for me, because the function
> csv-sort-fields queries you for a value. Yes, the default of 1 is
> what's necessary.

OK, I will try the recipe again when I have time.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Fri, 15 Jun 2012 18:17:02 GMT) Full text and rfc822 format available.

Message #23 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
Cc: 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Fri, 15 Jun 2012 21:13:16 +0300
> Date: Wed, 13 Jun 2012 12:12:33 -0400
> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> Cc: 11653 <at> debbugs.gnu.org
> 
> I thought the <RET> handled it for me, because the function
> csv-sort-fields queries you for a value. Yes, the default of 1 is
> what's necessary.

Sorry, I cannot reproduce this no matter how hard I try.  The worst
problem I see is some issue with cursor positioning on the long first
line in the buffer.  I will try fixing that, in the hope that doing so
will solve whatever reasons for your crashes.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#11653; Package emacs. (Fri, 15 Jun 2012 18:35:01 GMT) Full text and rfc822 format available.

Message #26 received at 11653 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: jordigh <at> octave.org, 11653 <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Fri, 15 Jun 2012 21:30:56 +0300
> Date: Fri, 15 Jun 2012 21:13:16 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 11653 <at> debbugs.gnu.org
> 
> > Date: Wed, 13 Jun 2012 12:12:33 -0400
> > From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> > Cc: 11653 <at> debbugs.gnu.org
> > 
> > I thought the <RET> handled it for me, because the function
> > csv-sort-fields queries you for a value. Yes, the default of 1 is
> > what's necessary.
> 
> Sorry, I cannot reproduce this no matter how hard I try.

Correction: I succeeded in reproducing this (on GNU/Linux TTY
session).





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 16 Jun 2012 10:32:01 GMT) Full text and rfc822 format available.

Notification sent to Jordi Gutiérrez Hermoso <jordigh <at> octave.org>:
bug acknowledged by developer. (Sat, 16 Jun 2012 10:32:01 GMT) Full text and rfc822 format available.

Message #31 received at 11653-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: jordigh <at> octave.org
Cc: 11653-done <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Sat, 16 Jun 2012 13:28:21 +0300
> Date: Fri, 15 Jun 2012 21:30:56 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > Date: Fri, 15 Jun 2012 21:13:16 +0300
> > From: Eli Zaretskii <eliz <at> gnu.org>
> > Cc: 11653 <at> debbugs.gnu.org
> > 
> > > Date: Wed, 13 Jun 2012 12:12:33 -0400
> > > From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> > > Cc: 11653 <at> debbugs.gnu.org
> > > 
> > > I thought the <RET> handled it for me, because the function
> > > csv-sort-fields queries you for a value. Yes, the default of 1 is
> > > what's necessary.
> > 
> > Sorry, I cannot reproduce this no matter how hard I try.
> 
> Correction: I succeeded in reproducing this (on GNU/Linux TTY
> session).

Heh, it looks like we never had more than 16 overlay strings loaded at
the same time in the last 4.5 years since the offending code was
introduced (in Emacs 22.2)...  csv-mode has some bug whereby no less
than 2479 overlay strings are present at buffer position 1, which
triggers the bug.

Fixed in revision 108625 on the trunk.





Message #32 received at 11653-done <at> debbugs.gnu.org (full text, mbox):

From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 11653-done <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Thu, 21 Jun 2012 12:35:24 -0400
On 16 June 2012 06:28, Eli Zaretskii <eliz <at> gnu.org> wrote:
> Heh, it looks like we never had more than 16 overlay strings loaded at
> the same time in the last 4.5 years since the offending code was
> introduced (in Emacs 22.2)...  csv-mode has some bug whereby no less
> than 2479 overlay strings are present at buffer position 1, which
> triggers the bug.
>
> Fixed in revision 108625 on the trunk.

Thanks, I confirm this fixes the crash.

Now I can go and fix csv-mode.el...

Can I buy you lunch somehow? Thanks for fixing this bug...

- Jordi G. H.




Message #33 received at 11653-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
Cc: 11653-done <at> debbugs.gnu.org
Subject: Re: bug#11653: 23.2; Segfault with csv-mode
Date: Thu, 21 Jun 2012 19:44:56 +0300
> Date: Thu, 21 Jun 2012 12:35:24 -0400
> From: Jordi Gutiérrez Hermoso <jordigh <at> octave.org>
> Cc: 11653-done <at> debbugs.gnu.org
> 
> On 16 June 2012 06:28, Eli Zaretskii <eliz <at> gnu.org> wrote:
> > Heh, it looks like we never had more than 16 overlay strings loaded at
> > the same time in the last 4.5 years since the offending code was
> > introduced (in Emacs 22.2)...  csv-mode has some bug whereby no less
> > than 2479 overlay strings are present at buffer position 1, which
> > triggers the bug.
> >
> > Fixed in revision 108625 on the trunk.
> 
> Thanks, I confirm this fixes the crash.

Thanks for testing, and for reporting this blunder in the first place.

> Can I buy you lunch somehow?

Some day, perhaps.  I'll hold you to it ;-)





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 20 Jul 2012 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 292 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.