When I start up my heavily customized[1] xemacs, it starts up a shell
buffer automatically. If I do this simple operation:
C-x 2
I get two windows (as expected). The top one is still displaying the
first shell prompt. The lower window is completely empty (this
definitely seems wrong).
Now Button-1 click in the lower (empty) window. Kaboom!!
Fatal error: assertion failed, file /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c, line 6799, cur_elt >= 0
This has been reproduced in debug and optimized, mule and latin-1
xemacs. I cannot (yet) reproduce it in a -vanilla xemacs.
I might work on fixing this, but I'm afraid I won't return from an
excursion into redisplay.c for a year or so.
Footnotes:
[1] That's customized, not `custom'-ized.
P.S. Here's the C stack:
#0 0xee9f4340 in _kill ()
#1 0xabea0 in fatal_error_signal (sig=6) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/emacs.c:269
#2 <signal handler called>
#3 0xee9f4340 in _kill ()
#4 0xee9ba59c in abort ()
#5 0xafcf4 in assert_failed (file=0x3457f8 "/net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c", line=6799, expr=0x345c60 "cur_elt >= 0") at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/emacs.c:2646
#6 0x1f0ac4 in start_with_line_at_pixpos (w=0x83c600, point=52, pixpos=323) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:6799
#7 0x1ea6e0 in regenerate_window_point_center (w=0x83c600, point=52, type=1) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:4797
#8 0x1ebb10 in redisplay_window (window={...}, skip_selected=0) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:5166
#9 0x1ec918 in redisplay_frame (f=0x5f0400, preemption_check=0) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:5451
#10 0x1ecea8 in redisplay_device (d=0x650600) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:5536
#11 0x1ed818 in redisplay_without_hooks () at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:5653
#12 0x1edad8 in redisplay () at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/redisplay.c:5722
#13 0x10e4b8 in Fsit_for (seconds={...}, nodisplay={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/event-stream.c:2814
#14 0xbc244 in Ffuncall (nargs=3, args=0xefffd384) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3189
#15 0x6a8bc in execute_optimized_program (program=0xefffd560 "À\tÂ\"\003Ã \207\013Z\004ïÿÕ\200ïÿÕ ", stack_depth=3, constants_data=0x7b83d0) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/bytecode.c:754
#16 0x72d48 in Fbyte_code (instructions={...}, constants={...}, stack_depth={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/bytecode.c:2402
#17 0xbb1dc in Feval (form={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:2986
#18 0xb5988 in condition_case_1 (handlers={...}, bfun=0xba59c <Feval>, barg={...}, hfun=0xb5a04 <run_condition_case_handlers>, harg={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:1640
#19 0xb61fc in condition_case_3 (bodyform={...}, var={...}, handlers={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:1718
#20 0x6d31c in execute_rare_opcode (stack_ptr=0xefffdabc, program_ptr=0x835ae2 "\207ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ï(", opcode=Bcondition_case) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/bytecode.c:1279
#21 0x6a32c in execute_optimized_program (program=0x835ad8 "\b\b\t\005ÂÃÄ\217\207ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ïÞ¾ï(", stack_depth=3, constants_data=0x7ab650) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/bytecode.c:664
#22 0x69c64 in funcall_compiled_function (fun={...}, nargs=0, args=0xefffe044) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/bytecode.c:527
#23 0xbc7e4 in Ffuncall (nargs=1, args=0xefffe040) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3221
#24 0xbe454 in run_hook_with_args_in_buffer (buf=0x709e00, nargs=1, args=0xefffe040, cond=RUN_HOOKS_TO_COMPLETION) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3671
#25 0xbe4dc in run_hook_with_args (nargs=1, args=0xefffe040, cond=RUN_HOOKS_TO_COMPLETION) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3684
#26 0xbddc0 in Frun_hooks (nargs=1, args=0xefffe040) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3539
#27 0xbe824 in run_hook (hook={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:3785
#28 0xc0030 in catch_them_squirmers_run_hook (hook_symbol={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:4229
#29 0xb5988 in condition_case_1 (handlers={...}, bfun=0xc0004 <catch_them_squirmers_run_hook>, barg={...}, hfun=0xbfb54 <allow_quit_safe_run_hook_caught_a_squirmer>, harg={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:1640
#30 0xc04a8 in safe_run_hook_trapping_errors (warning_string=0x327190 "Error in `post-command-hook' (setting hook to nil)", hook_symbol={...}, allow_quit=1) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:4290
#31 0x11313c in post_command_hook () at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/event-stream.c:4429
#32 0x112e4c in execute_command_event (command_builder=0x696000, event={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/event-stream.c:4348
#33 0x113ad0 in Fdispatch_event (event={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/event-stream.c:4636
#34 0x7f7f8 in Fcommand_loop_1 () at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/cmdloop.c:578
#35 0x7f378 in command_loop_1 (dummy={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/cmdloop.c:493
#36 0xb5988 in condition_case_1 (handlers={...}, bfun=0x7f334 <command_loop_1>, barg={...}, hfun=0x7e568 <cmd_error>, harg={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:1640
#37 0x7e7a4 in command_loop_3 () at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/cmdloop.c:255
#38 0x7e7e8 in command_loop_2 (dummy={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/cmdloop.c:266
#39 0xb526c in internal_catch (tag={...}, func=0x7e7d4 <command_loop_2>, arg={...}, threw=0x0) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/eval.c:1315
#40 0x7ec08 in initial_command_loop (load_me={...}) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/cmdloop.c:304
#41 0xadb30 in xemacs_21_2_b12_sparc_sun_solaris2_5_1 (argc=1, argv=0xefffea34, envp=0xefffea3c, restart=0) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/emacs.c:1728
#42 0xaecb0 in main (argc=1, argv=0xefffea34, envp=0xefffea3c) at /net/wanchai/export1/xemacs/home/martin/x/ws/dev/src/emacs.c:2162