unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11653: 23.2; Segfault with csv-mode
@ 2012-06-08 16:29 Jordi Gutiérrez Hermoso
  2012-06-08 17:49 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Jordi Gutiérrez Hermoso @ 2012-06-08 16:29 UTC (permalink / raw)
  To: 11653

(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)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-08 16:29 bug#11653: 23.2; Segfault with csv-mode Jordi Gutiérrez Hermoso
@ 2012-06-08 17:49 ` Eli Zaretskii
  2012-06-13 14:32   ` Jordi Gutiérrez Hermoso
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-08 17:49 UTC (permalink / raw)
  To: Jordi Gutiérrez Hermoso; +Cc: 11653

> Date: Fri, 8 Jun 2012 12:29:46 -0400
> From: Jordi Gutiérrez Hermoso <jordigh@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






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-08 17:49 ` Eli Zaretskii
@ 2012-06-13 14:32   ` Jordi Gutiérrez Hermoso
  2012-06-13 15:45     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Jordi Gutiérrez Hermoso @ 2012-06-13 14:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 11653

On 8 June 2012 13:49, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Fri, 8 Jun 2012 12:29:46 -0400
>> From: Jordi Gutiérrez Hermoso <jordigh@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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-13 14:32   ` Jordi Gutiérrez Hermoso
@ 2012-06-13 15:45     ` Eli Zaretskii
  2012-06-13 16:12       ` Jordi Gutiérrez Hermoso
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-13 15:45 UTC (permalink / raw)
  To: Jordi Gutiérrez Hermoso; +Cc: 11653

> Date: Wed, 13 Jun 2012 10:32:00 -0400
> From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> Cc: 11653@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?






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-13 15:45     ` Eli Zaretskii
@ 2012-06-13 16:12       ` Jordi Gutiérrez Hermoso
  2012-06-13 16:28         ` Eli Zaretskii
  2012-06-15 18:13         ` Eli Zaretskii
  0 siblings, 2 replies; 9+ messages in thread
From: Jordi Gutiérrez Hermoso @ 2012-06-13 16:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 11653

On 13 June 2012 11:45, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Wed, 13 Jun 2012 10:32:00 -0400
>> From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
>> Cc: 11653@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.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-13 16:12       ` Jordi Gutiérrez Hermoso
@ 2012-06-13 16:28         ` Eli Zaretskii
  2012-06-15 18:13         ` Eli Zaretskii
  1 sibling, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-13 16:28 UTC (permalink / raw)
  To: Jordi Gutiérrez Hermoso; +Cc: 11653

> Date: Wed, 13 Jun 2012 12:12:33 -0400
> From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> Cc: 11653@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.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-13 16:12       ` Jordi Gutiérrez Hermoso
  2012-06-13 16:28         ` Eli Zaretskii
@ 2012-06-15 18:13         ` Eli Zaretskii
  2012-06-15 18:30           ` Eli Zaretskii
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-15 18:13 UTC (permalink / raw)
  To: Jordi Gutiérrez Hermoso; +Cc: 11653

> Date: Wed, 13 Jun 2012 12:12:33 -0400
> From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> Cc: 11653@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.







^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-15 18:13         ` Eli Zaretskii
@ 2012-06-15 18:30           ` Eli Zaretskii
  2012-06-16 10:28             ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-15 18:30 UTC (permalink / raw)
  To: jordigh, 11653

> Date: Fri, 15 Jun 2012 21:13:16 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 11653@debbugs.gnu.org
> 
> > Date: Wed, 13 Jun 2012 12:12:33 -0400
> > From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> > Cc: 11653@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).






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#11653: 23.2; Segfault with csv-mode
  2012-06-15 18:30           ` Eli Zaretskii
@ 2012-06-16 10:28             ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2012-06-16 10:28 UTC (permalink / raw)
  To: jordigh; +Cc: 11653-done

> Date: Fri, 15 Jun 2012 21:30:56 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > Date: Fri, 15 Jun 2012 21:13:16 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: 11653@debbugs.gnu.org
> > 
> > > Date: Wed, 13 Jun 2012 12:12:33 -0400
> > > From: Jordi Gutiérrez Hermoso <jordigh@octave.org>
> > > Cc: 11653@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.






^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-06-16 10:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-08 16:29 bug#11653: 23.2; Segfault with csv-mode Jordi Gutiérrez Hermoso
2012-06-08 17:49 ` Eli Zaretskii
2012-06-13 14:32   ` Jordi Gutiérrez Hermoso
2012-06-13 15:45     ` Eli Zaretskii
2012-06-13 16:12       ` Jordi Gutiérrez Hermoso
2012-06-13 16:28         ` Eli Zaretskii
2012-06-15 18:13         ` Eli Zaretskii
2012-06-15 18:30           ` Eli Zaretskii
2012-06-16 10:28             ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).