Subject: bug#15364: closed (Re: bug#15364: 24.3; git emacs segfault on loading local wubi phrases)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 28 Aug 2019 15:49:03 +0000

Your bug report

#15364: 24.3; git emacs segfault on loading local wubi phrases

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].

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

Subject: Re: bug#15364: 24.3; git emacs segfault on loading local wubi phrases
From: Eli Zaretskii <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 28 Aug 2019 18:48:27 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: Eric Abrahamsen <[email-masked]>,  [email-masked]
> Date: Wed, 28 Aug 2019 17:17:18 +0200
> 
> I downloaded wubi and tried the test code in Emacs 27, but was unable to
> reproduce the bug.

Neither could I, now.

> Has this been fixed in the five years that passed since this was
> reported?

Seems so; closing.

Subject: 24.3; git emacs segfault on loading local wubi phrases
From: Eric Abrahamsen <[email-masked]>
To: [email-masked]
Date: Fri, 13 Sep 2013 15:35:58 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm sending this report from emacs as it exists in archlinux's package
system, but it's actually for the git version of emacs (updated "Fri Sep
13 15:21:28 2013")

I find that git emacs segfaults when loading a local phrase file for the
wubi input method, which is an alternate Chinese-language input method
you can find here: http://daiyuwen.freeshell.org/gb/wubi/wubi.html

I am using the most recent version of the library found at that link.

Loading the library works fine, but wubi provides for keeping your own
file of input phrases, so as to customize input. In my case the file
looks like this:

;;;; Generated by Wubi input method. Please don't modify it.

(wubi-batch-add nil
"派出所"
"外国人"
"工期"
...
"心里有数"
"纠结"
"拍摄"

)

The file is 12,934 lines long, all of those lines contained within the
one sexp.

I'm not very familiar with the gdb debugger, but what I did was:

1. use my installed arch emacs as a "controlling" emacs
2. open a dired buffer on the src/ directory of the git emacs repository
3. run M-x gud-gdb
4. elect to run bootstrap-emacs with the -Q option
5. get the new emacs instance
6. load wubi, then load my local wubi files (by setting
`wubi-phrases-file-el' and then calling (wubi-load-local-phrases))
7. bootstrap-emacs hangs, segfault notice in the controlling emacs
8. call "backtrace" in the controlling emacs, get backtrace
9. post backtrace here: http://paste.lisp.org/+2Z7O

I'll also post the full backtrace below, in case that's easier.

Anyway, I hope that's enough. Feel free to contact me if more info is
necessary.

Thanks,
Eric

#0  0xb6788fa6 in free () from /usr/lib/libc.so.6
#1  0x081682db in xfree (block=<optimized out>) at alloc.c:694
#2  free_save_value (save=156799600) at alloc.c:3449
#3  0x08181847 in unbind_to (count=45, value=138824258) at eval.c:3350
#4  0x08181b34 in apply_lambda (fun=<optimized out>, args=<optimized out>) at eval.c:2974
#5  0x08181e04 in eval_sub (form=form@entry=148591934) at eval.c:2301
#6  0x081a2ffd in readevalloop (readcharfun=readcharfun@entry=151547637, stream=stream@entry=0x0, sourcename=150342985, sourcename@entry=150345625, 
    printflag=false, unibyte=unibyte@entry=138824258, readfun=138824258, start=138824258, end=138824258) at lread.c:1876
#7  0x081a40ab in Feval_buffer (buffer=151547637, printflag=138824258, filename=150345625, unibyte=138824258, do_allow_print=138824282) at lread.c:1937
#8  0x08182a66 in Ffuncall (nargs=6, args=0xbfffeba4) at eval.c:2872
#9  0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=24, args_template=138824258, nargs=nargs@entry=0, args=0xbfffebac)
    at bytecode.c:905
#10 0x0818257d in funcall_lambda (fun=136815701, nargs=nargs@entry=4, arg_vector=arg_vector@entry=0xbfffece0) at eval.c:3090
#11 0x081828ab in Ffuncall (nargs=nargs@entry=5, args=args@entry=0xbfffecdc) at eval.c:2917
#12 0x0818441f in call4 (fn=140650794, arg1=arg1@entry=150345625, arg2=arg2@entry=150345625, arg3=138824258, arg4=138824258) at eval.c:2704
#13 0x081a3ddd in Fload (file=148537361, noerror=138824258, nomessage=138824258, nosuffix=138824258, must_suffix=138824258) at lread.c:1294
#14 0x08182a66 in Ffuncall (nargs=2, args=0xbfffeeb8) at eval.c:2872
#15 0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=12, args_template=args_template@entry=1028, nargs=nargs@entry=1, args=0x1)
    at bytecode.c:905
#16 0x081825fe in funcall_lambda (fun=136911261, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbfffefd8) at eval.c:3024
#17 0x081828ab in Ffuncall (nargs=2, args=0xbfffefd4) at eval.c:2917
#18 0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=12, args_template=138824258, nargs=nargs@entry=0, args=0xbfffefd0)
    at bytecode.c:905
#19 0x0818257d in funcall_lambda (fun=fun@entry=138856861, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0xbffff0a0) at eval.c:3090
#20 0x08181b04 in apply_lambda (fun=<optimized out>, args=<optimized out>) at eval.c:2965
#21 0x08181e04 in eval_sub (form=form@entry=142694910) at eval.c:2301
#22 0x08185184 in Feval (form=142694910, lexical=138824258) at eval.c:2044
#23 0x08182ac0 in Ffuncall (nargs=3, args=0xbffff1f8) at eval.c:2859
#24 0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=16, args_template=138824258, nargs=nargs@entry=0, args=0xbffff1f0)
    at bytecode.c:905
#25 0x0818257d in funcall_lambda (fun=137482253, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbffff328) at eval.c:3090
#26 0x081828ab in Ffuncall (nargs=2, args=0xbffff324) at eval.c:2917
#27 0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=12, args_template=138824258, nargs=nargs@entry=0, args=0xbffff320)
    at bytecode.c:905
#28 0x0818257d in funcall_lambda (fun=137482693, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbffff494) at eval.c:3090
#29 0x081828ab in Ffuncall (nargs=nargs@entry=2, args=args@entry=0xbffff490) at eval.c:2917
#30 0x0817f0d1 in Fcall_interactively (function=140622058, record_flag=138824258, keys=138855333) at callint.c:836
#31 0x08182aa9 in Ffuncall (nargs=4, args=0xbffff5bc) at eval.c:2863
#32 0x081b4c63 in exec_byte_code (bytestr=0, vector=-1459075518, maxdepth=52, args_template=args_template@entry=4100, nargs=nargs@entry=1, 
    args=0xbffff5b8) at bytecode.c:905
#33 0x081825fe in funcall_lambda (fun=137173413, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0xbffff6fc) at eval.c:3024
#34 0x081828ab in Ffuncall (nargs=nargs@entry=2, args=args@entry=0xbffff6f8) at eval.c:2917
#35 0x08182c27 in call1 (fn=138855074, arg1=140622058) at eval.c:2655
#36 0x08120fdf in command_loop_1 () at keyboard.c:1562
#37 0x08181082 in internal_condition_case (bfun=bfun@entry=0x8120cc0 <command_loop_1>, handlers=138861698, hfun=hfun@entry=0x81186c0 <cmd_error>)
    at eval.c:1339
#38 0x08114245 in command_loop_2 (ignore=138824258) at keyboard.c:1163
#39 0x08180fa7 in internal_catch (tag=138859722, func=func@entry=0x8114220 <command_loop_2>, arg=138824258) at eval.c:1113
#40 0x08118222 in command_loop () at keyboard.c:1142
#41 recursive_edit_1 () at keyboard.c:781
#42 0x081184e3 in Frecursive_edit () at keyboard.c:845
#43 0x08059418 in main (argc=<optimized out>, argv=0xbffffb54) at emacs.c:1570