emacs-devel
[Top][All Lists]
Advanced

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

Re: Crash caused by insert-file-contents, both trunk (bzr 111532) and 24


From: Dmitry Antipov
Subject: Re: Crash caused by insert-file-contents, both trunk (bzr 111532) and 24.2.92 affected
Date: Tue, 15 Jan 2013 21:37:44 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2

On 01/15/2013 09:03 PM, Eli Zaretskii wrote:

I get "Permission denied" on the block devices that I can find on
machines to which I have access.

But even if that wasn't so, there's no reason to assume that the same
data will be found on every hard disk everywhere in the world.

I agree that there isn't too much sense to read block devices with
an editor :-). But, for example, /dev/kmsg (which is a character
device on my system) contains pretty readable data:

$ cat /dev/kmsg | head -n 10

6,1598,43074022331,-;cfg80211:   (start_freq - end_freq @ bandwidth), 
(max_antenna_gain, max_eirp)
6,1599,43074022334,-;cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
6,1600,43074022335,-;cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 
mBi, 2000 mBm)
6,1601,43074022337,-;cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 
mBi, 2000 mBm)
6,1602,43074022338,-;cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
6,1603,43074022339,-;cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 
mBi, 2000 mBm)
6,1604,43074881294,-;wlan0: authenticate with 1c:7e:e5:94:6d:e0
6,1605,43074897510,-;wlan0: send auth to 1c:7e:e5:94:6d:e0 (try 1/3)
6,1606,43074902587,-;wlan0: authenticated
6,1607,43074913679,-;wlan0: associate with 1c:7e:e5:94:6d:e0 (try 1/3)

On 24.2.92, (insert-file-contents "/dev/kmsg") ==>

#0  0x000000377da0eebb in raise () from /lib64/libpthread.so.0
#1  0x0000000000546905 in terminate_due_to_signal (sig=11, backtrace_limit=40) 
at emacs.c:344
#2  0x000000000056b5f5 in handle_fatal_signal (sig=11) at sysdep.c:1638
#3  0x000000000056b5ca in deliver_thread_signal (sig=11, handler=0x56b5db 
<handle_fatal_signal>) at sysdep.c:1614
#4  0x000000000056b62b in deliver_fatal_thread_signal (sig=11) at sysdep.c:1650
#5  <signal handler called>
#6  0x0000000000650791 in remove_properties (plist=10701014, list=12882466, 
i=0x0, object=12909269) at textprop.c:439
#7  0x00000000006535ec in Fremove_text_properties (start=768, end=343928, 
properties=10701014, object=12909269) at textprop.c:1488
#8  0x00000000005e7379 in Ffuncall (nargs=4, args=0x7fff035a6478) at eval.c:2786
#9  0x000000000062e16a in exec_byte_code (bytestr=10700681, vector=10700717, 
maxdepth=20, args_template=12882466, nargs=0, args=0x0)
    at bytecode.c:900
#10 0x00000000005e7d01 in funcall_lambda (fun=10700629, nargs=0, 
arg_vector=0x7fff035a6ac8) at eval.c:3007
#11 0x00000000005e74ec in Ffuncall (nargs=1, args=0x7fff035a6ac0) at eval.c:2824
#12 0x00000000005e62cb in Fapply (nargs=2, args=0x7fff035a6ac0) at eval.c:2252
#13 0x00000000005e71cf in Ffuncall (nargs=3, args=0x7fff035a6ab8) at eval.c:2756
#14 0x000000000062e16a in exec_byte_code (bytestr=10746961, vector=10747013, 
maxdepth=16, args_template=12882466, nargs=0, args=0x0)
    at bytecode.c:900
#15 0x000000000062d537 in Fbyte_code (bytestr=10746961, vector=10747013, 
maxdepth=16) at bytecode.c:475
#16 0x00000000005e5e44 in eval_sub (form=10746934) at eval.c:2146
#17 0x00000000005e3f2e in internal_lisp_condition_case (var=12882466, 
bodyform=10746934, handlers=9519550) at eval.c:1243
#18 0x000000000062f074 in exec_byte_code (bytestr=10746673, vector=10746709, 
maxdepth=20, args_template=12882466, nargs=0, args=0x0)
    at bytecode.c:1096
#19 0x00000000005e7d01 in funcall_lambda (fun=10746621, nargs=1, 
arg_vector=0x7fff035a76c8) at eval.c:3007
#20 0x00000000005e74ec in Ffuncall (nargs=2, args=0x7fff035a76c0) at eval.c:2824
#21 0x00000000005e6c89 in call1 (fn=12922594, arg1=19502869) at eval.c:2569
#22 0x0000000000551350 in timer_check_2 (timers=12882466, idle_timers=20036214) 
at keyboard.c:4387
#23 0x00000000005514a6 in timer_check () at keyboard.c:4454
#24 0x000000000054f238 in readable_events (flags=1) at keyboard.c:3351
#25 0x0000000000555833 in get_input_pending (flags=1) at keyboard.c:6680
#26 0x000000000055cba5 in detect_input_pending_run_timers (do_display=true) at 
keyboard.c:10273
#27 0x000000000063abc5 in wait_reading_process_output (time_limit=28, nsecs=0, 
read_kbd=-1, do_display=true, wait_for_cell=12882466,
    wait_proc=0x0, just_wait_proc=0) at process.c:4743
#28 0x0000000000422a3a in sit_for (timeout=112, reading=true, display_option=1) 
at dispnew.c:5978
#29 0x000000000054d8b0 in read_char (commandflag=1, nmaps=2, 
maps=0x7fff035a8150, prev_event=12882466,
    used_mouse_menu=0x7fff035a8337, end_time=0x0) at keyboard.c:2669
#30 0x000000000055a734 in read_key_sequence (keybuf=0x7fff035a85b0, bufsize=30, 
prompt=12882466, dont_downcase_last=false,
    can_return_switch_frame=true, fix_current_buffer=true) at keyboard.c:9231
#31 0x000000000054b146 in command_loop_1 () at keyboard.c:1459
#32 0x00000000005e4098 in internal_condition_case (bfun=0x54ad5f <command_loop_1>, 
handlers=12934146, hfun=0x54a654 <cmd_error>)
    at eval.c:1289
#33 0x000000000054aa78 in command_loop_2 (ignore=12882466) at keyboard.c:1168
#34 0x00000000005e3a6c in internal_catch (tag=12999426, func=0x54aa52 
<command_loop_2>, arg=12882466) at eval.c:1060
#35 0x000000000054a9d9 in command_loop () at keyboard.c:1139
#36 0x000000000054a1a1 in recursive_edit_1 () at keyboard.c:779
#37 0x000000000054a347 in Frecursive_edit () at keyboard.c:843
#38 0x00000000005e72db in Ffuncall (nargs=1, args=0x7fff035a8b38) at eval.c:2772
#39 0x000000000062e16a in exec_byte_code (bytestr=16895857, vector=19539589, 
maxdepth=108, args_template=12882466, nargs=0, args=0x0)
    at bytecode.c:900
#40 0x00000000005e7d01 in funcall_lambda (fun=19503437, nargs=2, 
arg_vector=0x7fff035a90d8) at eval.c:3007
#41 0x00000000005e74ec in Ffuncall (nargs=3, args=0x7fff035a90d0) at eval.c:2824
#42 0x00000000005e66d2 in Fapply (nargs=2, args=0x7fff035a91b0) at eval.c:2309
#43 0x00000000005e6c1f in apply1 (fn=12999714, arg=20028742) at eval.c:2543
#44 0x00000000005e2466 in call_debugger (arg=20028742) at eval.c:223
#45 0x00000000005e4da2 in maybe_call_debugger (conditions=9400166, 
sig=12934146, data=20028822) at eval.c:1707
#46 0x00000000005e486e in Fsignal (error_symbol=12934146, data=20028822) at 
eval.c:1527
#47 0x00000000005e4986 in xsignal (error_symbol=12934146, data=20028822) at 
eval.c:1562
#48 0x00000000005e49db in xsignal1 (error_symbol=12934146, arg=41969025) at 
eval.c:1577
#49 0x00000000005e4fbc in verror (m=0x6ad708 "IO error reading %s: %s", 
ap=0x7fff035aa348) at eval.c:1776
#50 0x00000000005e505b in error (m=0x6ad708 "IO error reading %s: %s") at 
eval.c:1788
#51 0x0000000000591898 in Finsert_file_contents (filename=41974721, 
visit=12882466, beg=12882466, end=12882466, replace=12882466)
    at fileio.c:4188
#52 0x00000000005e5eb1 in eval_sub (form=20031830) at eval.c:2154
#53 0x00000000005e57e6 in Feval (form=20031830, lexical=12882466) at eval.c:2005
#54 0x00000000005e731f in Ffuncall (nargs=3, args=0x7fff035bed48) at eval.c:2778
#55 0x000000000062e16a in exec_byte_code (bytestr=10296817, vector=10296853, 
maxdepth=20, args_template=12882466, nargs=0, args=0x0)
    at bytecode.c:900
#56 0x00000000005e7d01 in funcall_lambda (fun=10296709, nargs=2, 
arg_vector=0x7fff035bf238) at eval.c:3007
#57 0x00000000005e74ec in Ffuncall (nargs=3, args=0x7fff035bf230) at eval.c:2824
#58 0x00000000005e66d2 in Fapply (nargs=2, args=0x7fff035bf310) at eval.c:2309
#59 0x00000000005e6c1f in apply1 (fn=16425202, arg=20029078) at eval.c:2543
#60 0x00000000005e0061 in Fcall_interactively (function=16425202, 
record_flag=12882466, keys=12917685) at callint.c:377
#61 0x00000000005e734a in Ffuncall (nargs=4, args=0x7fff035bf660) at eval.c:2782
#62 0x00000000005e6d33 in call3 (fn=13018882, arg1=16425202, arg2=12882466, 
arg3=12882466) at eval.c:2600
#63 0x000000000055cb09 in Fcommand_execute (cmd=16425202, record_flag=12882466, 
keys=12882466, special=12882466) at keyboard.c:10241
#64 0x000000000054b5b2 in command_loop_1 () at keyboard.c:1587
#65 0x00000000005e4098 in internal_condition_case (bfun=0x54ad5f <command_loop_1>, 
handlers=12934146, hfun=0x54a654 <cmd_error>)
    at eval.c:1289
#66 0x000000000054aa78 in command_loop_2 (ignore=12882466) at keyboard.c:1168
#67 0x00000000005e3a6c in internal_catch (tag=12929986, func=0x54aa52 
<command_loop_2>, arg=12882466) at eval.c:1060
#68 0x000000000054aa28 in command_loop () at keyboard.c:1147
#69 0x000000000054a1a1 in recursive_edit_1 () at keyboard.c:779
#70 0x000000000054a347 in Frecursive_edit () at keyboard.c:843
#71 0x00000000005481ca in main (argc=2, argv=0x7fff035bfe08) at emacs.c:1547

(but ./src/emacs -Q /dev/kmsg ==> empty buffer and "File exists, but cannot be 
read" message).

For trunk with --enable-checking, (insert-file-contents "/dev/kmsg") ==>

/home/dima/work/stuff/emacs/trunk/src/intervals.c:675: Emacs fatal error: 
assertion failed: relative_position <= TOTAL_LENGTH (tree)
Fatal error 6: Aborted

#0  0x000000377da0eebb in raise () from /lib64/libpthread.so.0
#1  0x0000000000525d38 in terminate_due_to_signal (address@hidden, 
address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/emacs.c:342
#2  0x0000000000594cb4 in die (msg=<optimized out>, file=<optimized out>, 
line=<optimized out>)
    at /home/dima/work/stuff/emacs/trunk/src/alloc.c:6558
#3  0x0000000000616e66 in find_interval (tree=0x0, position=252) at 
/home/dima/work/stuff/emacs/trunk/src/intervals.c:675
#4  0x000000000061d6a1 in Ftext_properties_at (position=..., object=...) at 
/home/dima/work/stuff/emacs/trunk/src/textprop.c:555
#5  0x000000000061d7ac in Fget_text_property (position=..., address@hidden, 
prop=..., address@hidden, object=...,
    address@hidden) at /home/dima/work/stuff/emacs/trunk/src/textprop.c:575
#6  0x000000000061da78 in get_char_property_and_overlay (position=..., 
prop=..., object=..., address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/textprop.c:641
#7  0x000000000061de8b in Fget_char_property (position=..., address@hidden, 
prop=..., object=..., address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/textprop.c:655
#8  0x0000000000443b79 in compute_display_string_pos (address@hidden, 
address@hidden,
    address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/xdisp.c:3533
#9  0x00000000004d1e57 in bidi_fetch_char (address@hidden, address@hidden,
    address@hidden, address@hidden, address@hidden,
    address@hidden, address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/bidi.c:943
#10 0x00000000004d4343 in bidi_level_of_next_char (address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/bidi.c:2192
#11 0x00000000004d536b in bidi_move_to_visually_next (address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/bidi.c:2354
#12 0x0000000000448743 in set_iterator_to_next (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/xdisp.c:7120
#13 0x0000000000451ba7 in display_line (address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:19825
#14 0x0000000000459f82 in try_window (window=..., address@hidden, pos=..., 
address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/xdisp.c:16301
#15 0x00000000004712a3 in redisplay_window (window=..., address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/xdisp.c:15827
#16 0x0000000000474873 in redisplay_window_0 (window=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:13881
#17 0x00000000005b38bb in internal_condition_case_1 (address@hidden 
<redisplay_window_0>, arg=..., handlers=...,
    address@hidden <redisplay_window_error>) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1231
#18 0x0000000000437f5e in redisplay_windows (window=...) at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:13861
#19 0x0000000000437eea in redisplay_windows (window=...) at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:13855
#20 0x000000000045b195 in redisplay_internal () at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:13453
#21 0x000000000045d945 in redisplay () at 
/home/dima/work/stuff/emacs/trunk/src/xdisp.c:12731
#22 0x0000000000534134 in read_char (commandflag=1, address@hidden, 
address@hidden, prev_event=...,
    address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/keyboard.c:2428
#23 0x0000000000536cb9 in read_key_sequence (address@hidden, prompt=...,
    address@hidden, address@hidden,
    address@hidden, bufsize=30) at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:9241
#24 0x0000000000539900 in command_loop_1 () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1460
#25 0x00000000005b3773 in internal_condition_case (address@hidden 
<command_loop_1>, handlers=...,
    address@hidden <cmd_error>) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1193
#26 0x000000000052997e in command_loop_2 (ignore=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1175
#27 0x00000000005b3650 in internal_catch (tag=..., address@hidden 
<command_loop_2>, arg=...)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:964
#28 0x000000000052afb3 in command_loop () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1146
#29 recursive_edit_1 () at /home/dima/work/stuff/emacs/trunk/src/keyboard.c:787
#30 0x000000000052b3cc in Frecursive_edit () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:851
#31 0x00000000005b59aa in Ffuncall (nargs=<optimized out>, args=<optimized 
out>) at /home/dima/work/stuff/emacs/trunk/src/eval.c:2672
#32 0x00000000005fc753 in exec_byte_code (bytestr=..., vector=..., 
maxdepth=..., args_template=..., nargs=4611686018645491712,
    args=0x16, address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/bytecode.c:898
#33 0x00000000005b5305 in funcall_lambda (fun=..., address@hidden, 
address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2841
#34 0x00000000005b57ab in Ffuncall (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2736
#35 0x00000000005b687e in Fapply (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2209
#36 0x00000000005b5c9e in apply1 (fn=..., arg=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:2443
#37 0x00000000005b5e46 in call_debugger (arg=...) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:222
#38 0x00000000005b63e6 in maybe_call_debugger (data=..., sig=..., 
conditions=...)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:1611
#39 Fsignal (error_symbol=..., data=...) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1431
#40 0x00000000005b64a9 in xsignal (error_symbol=..., address@hidden, data=...)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:1466
#41 0x00000000005b6dc7 in xsignal1 (error_symbol=..., arg=..., address@hidden) 
at /home/dima/work/stuff/emacs/trunk/src/eval.c:1481
#42 0x00000000005b6e39 in verror (m=<optimized out>, address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1680
#43 0x00000000005b6ecc in error (address@hidden "IO error reading %s: %s") at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1692
#44 0x00000000005684c3 in Finsert_file_contents (filename=..., visit=..., 
beg=..., end=..., replace=...)
    at /home/dima/work/stuff/emacs/trunk/src/fileio.c:4329
#45 0x00000000005b4994 in eval_sub (form=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:2054
#46 0x00000000005b73ae in Feval (form=..., lexical=...) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1902
#47 0x00000000005b598e in Ffuncall (nargs=<optimized out>, args=<optimized 
out>) at /home/dima/work/stuff/emacs/trunk/src/eval.c:2678
#48 0x00000000005fc753 in exec_byte_code (bytestr=..., vector=..., 
maxdepth=..., args_template=..., nargs=4611686018645491712,
    args=0x16, address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/bytecode.c:898
#49 0x00000000005b5305 in funcall_lambda (fun=..., address@hidden, 
address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2841
#50 0x00000000005b57ab in Ffuncall (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2736
#51 0x00000000005b687e in Fapply (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2209
#52 0x00000000005b5c9e in apply1 (fn=..., arg=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:2443
#53 0x00000000005b13b4 in Fcall_interactively (function=..., record_flag=..., 
keys=...)
    at /home/dima/work/stuff/emacs/trunk/src/callint.c:377
#54 0x00000000005b597c in Ffuncall (address@hidden, address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2682
#55 0x00000000005b5b64 in call3 (fn=..., arg1=..., address@hidden, arg2=..., 
address@hidden, arg3=..., address@hidden)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:2500
#56 0x0000000000528ab5 in Fcommand_execute (cmd=..., record_flag=..., keys=..., 
special=...)
    at /home/dima/work/stuff/emacs/trunk/src/keyboard.c:10251
#57 0x0000000000539bbd in command_loop_1 () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1588
#58 0x00000000005b3773 in internal_condition_case (address@hidden 
<command_loop_1>, handlers=...,
    address@hidden <cmd_error>) at 
/home/dima/work/stuff/emacs/trunk/src/eval.c:1193
#59 0x000000000052997e in command_loop_2 (ignore=..., address@hidden) at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1175
#60 0x00000000005b3650 in internal_catch (tag=..., address@hidden 
<command_loop_2>, arg=...)
    at /home/dima/work/stuff/emacs/trunk/src/eval.c:964
#61 0x000000000052b02e in command_loop () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:1154
#62 recursive_edit_1 () at /home/dima/work/stuff/emacs/trunk/src/keyboard.c:787
#63 0x000000000052b3cc in Frecursive_edit () at 
/home/dima/work/stuff/emacs/trunk/src/keyboard.c:851
#64 0x0000000000417f85 in main (argc=2, argv=<optimized out>) at 
/home/dima/work/stuff/emacs/trunk/src/emacs.c:1554

I also saw crashes with heap corruption messages from glibc malloc.

I can save /dev/kmsg to a file and then do insert-file-contents from that file -
it works just fine, both with trunk and 24.2.92.

Dmitry



reply via email to

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