* Mac OSX running Carbon crash with today's CVS @ 2003-04-21 22:21 Gabriel Foster 2003-04-22 8:05 ` Eli Zaretskii 0 siblings, 1 reply; 5+ messages in thread From: Gabriel Foster @ 2003-04-21 22:21 UTC (permalink / raw) Greetings, I'm gettting a random but fairly consistent crash on Mac OSX, built from today's CVS. I'm using the Carbon UI. Any ideas on a fix would be appreciated. Here is the stack trace: Program received signal EXC_BAD_ACCESS, Could not access memory. 0x000c48b4 in Fgarbage_collect () at alloc.c:4304 4304 XUNMARK (tail->var[i]); (gdb) where #0 0x000c48b4 in Fgarbage_collect () at alloc.c:4304 #1 0x00076540 in read_char (commandflag=1, nmaps=2, maps=0xbfffebd0, prev_event=275715796, used_mouse_menu=0xbfffecd4) at keyboard.c:2712 #2 0x0007e45c in read_key_sequence (keybuf=0xbfffeda0, bufsize=2373924, prompt=275715796, dont_downcase_last=2384204, can_return_switch_frame=1, fix_current_buffer=2371724) at keyboard.c:8583 #3 0x00073d5c in command_loop_1 () at keyboard.c:1502 #4 0x000d9cd4 in internal_condition_case (bfun=0x73918 <command_loop_1>, handlers=275762388, hfun=0x732c8 <cmd_error>) at eval.c:1333 #5 0x000736f8 in command_loop_2 () at keyboard.c:1290 #6 0x000d9744 in internal_catch (tag=6348816, func=0x736b8 <command_loop_2>, arg=275715796) at eval.c:1094 #7 0x00073650 in command_loop () at keyboard.c:1269 #8 0x00073064 in recursive_edit_1 () at keyboard.c:985 #9 0x000731ec in Frecursive_edit () at keyboard.c:1041 #10 0x00071cc0 in main (argc=0, argv=0xbffffa44) at emacs.c:1659 #11 0x00003ae8 in _start (argc=50, argv=0x0, envp=0x2405b4) at /SourceCache/Csu/Csu-45/crt.c:267 #12 0x00003968 in start () (gdb) list 4299 4300 #if (GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE \ 4301 || GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES) 4302 for (tail = gcprolist; tail; tail = tail->next) 4303 for (i = 0; i < tail->nvars; i++) 4304 XUNMARK (tail->var[i]); 4305 #endif 4306 4307 unmark_byte_stack (); 4308 for (backlist = backtrace_list; backlist; backlist = backlist->next) (gdb) print tail $1 = (struct gcpro *) 0xbfffde90 (gdb) print tail->nvars $2 = 1168308 (gdb) print i $3 = 7289 (gdb) Mac OS 10.2.5 emacs --version GNU Emacs 21.3.50.2 Copyright (C) 2002 Free Software Foundation, Inc. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Mac OSX running Carbon crash with today's CVS 2003-04-21 22:21 Mac OSX running Carbon crash with today's CVS Gabriel Foster @ 2003-04-22 8:05 ` Eli Zaretskii 2003-04-22 14:39 ` Gabriel Foster 0 siblings, 1 reply; 5+ messages in thread From: Eli Zaretskii @ 2003-04-22 8:05 UTC (permalink / raw) Cc: emacs-devel > Date: Mon, 21 Apr 2003 15:21:40 -0700 > From: Gabriel Foster <gabriel@apple.com> > > I'm gettting a random but fairly consistent crash on Mac OSX, built > from today's CVS. Are all of them in the same place in the code, i.e. during garbage collection? > (gdb) list > 4299 > 4300 #if (GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE \ > 4301 || GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES) > 4302 for (tail = gcprolist; tail; tail = tail->next) > 4303 for (i = 0; i < tail->nvars; i++) > 4304 XUNMARK (tail->var[i]); > 4305 #endif > 4306 > 4307 unmark_byte_stack (); > 4308 for (backlist = backtrace_list; backlist; backlist = > backlist->next) > (gdb) print tail > $1 = (struct gcpro *) 0xbfffde90 > (gdb) print tail->nvars > $2 = 1168308 > (gdb) print i > $3 = 7289 > (gdb) How about (gdb) print tail->var[i] Also, please try to describe what are you doing in Emacs when these crashes happen. Thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Mac OSX running Carbon crash with today's CVS 2003-04-22 8:05 ` Eli Zaretskii @ 2003-04-22 14:39 ` Gabriel Foster 2003-04-23 9:54 ` Eli Zaretskii 0 siblings, 1 reply; 5+ messages in thread From: Gabriel Foster @ 2003-04-22 14:39 UTC (permalink / raw) Cc: emacs-devel On Tuesday, April 22, 2003, at 01:05 AM, Eli Zaretskii wrote: >> Date: Mon, 21 Apr 2003 15:21:40 -0700 >> From: Gabriel Foster <gabriel@apple.com> >> >> I'm gettting a random but fairly consistent crash on Mac OSX, built >> from today's CVS. > > Are all of them in the same place in the code, i.e. during garbage > collection? > >> (gdb) list >> 4299 >> 4300 #if (GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE \ >> 4301 || GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES) >> 4302 for (tail = gcprolist; tail; tail = tail->next) >> 4303 for (i = 0; i < tail->nvars; i++) >> 4304 XUNMARK (tail->var[i]); >> 4305 #endif >> 4306 >> 4307 unmark_byte_stack (); >> 4308 for (backlist = backtrace_list; backlist; backlist = >> backlist->next) >> (gdb) print tail >> $1 = (struct gcpro *) 0xbfffde90 >> (gdb) print tail->nvars >> $2 = 1168308 >> (gdb) print i >> $3 = 7289 >> (gdb) > > How about > > (gdb) print tail->var[i] > > Also, please try to describe what are you doing in Emacs when these > crashes happen. > In the most recent case, I had just hit the enter key. Program received signal EXC_BAD_ACCESS, Could not access memory. 0x000c4630 in Fgarbage_collect () at alloc.c:4197 4197 if (!XMARKBIT (tail->var[i])) (gdb) print i $1 = 0 (gdb) print tail $2 = (struct gcpro *) 0xbfffde20 (gdb) print *tail->var[i] Cannot access memory at address 0x1 (gdb) print tail->var[i] Cannot access memory at address 0x1 (gdb) print tail->var $3 = (volatile int *) 0x1 (gdb) where #0 0x000c4630 in Fgarbage_collect () at alloc.c:4197 #1 0x0010c60c in Fbyte_code (bytestr=275966772, vector=130, maxdepth=-1073757728) at bytecode.c:744 #2 0x000dca34 in funcall_lambda (fun=1108651152, nargs=3, arg_vector=0xbfffc404) at eval.c:2910 #3 0x000dc4f8 in Ffuncall (nargs=1381796708, args=0xbfffc400) at eval.c:2780 #4 0x0010c558 in Fbyte_code (bytestr=274992596, vector=3, maxdepth=-1073757184) at bytecode.c:709 #5 0x000dca34 in funcall_lambda (fun=1108648928, nargs=3, arg_vector=0xbfffc624) at eval.c:2910 #6 0x000dc4f8 in Ffuncall (nargs=1381796708, args=0xbfffc620) at eval.c:2780 #7 0x0010c558 in Fbyte_code (bytestr=274992596, vector=3, maxdepth=-1073756640) at bytecode.c:709 #8 0x000dca34 in funcall_lambda (fun=1080299968, nargs=2, arg_vector=0xbfffc978) at eval.c:2910 #9 0x000dc4f8 in Ffuncall (nargs=1381796708, args=0xbfffc974) at eval.c:2780 #10 0x000dbac8 in run_hook_with_args (nargs=3, args=0xbfffc974, cond=to_completion) at eval.c:2393 #11 0x000dc3a8 in Ffuncall (nargs=1381796708, args=0xbfffc970) at eval.c:2726 #12 0x0010c558 in Fbyte_code (bytestr=276103540, vector=3, maxdepth=-1073755792) at bytecode.c:709 #13 0x000dca34 in funcall_lambda (fun=1101781200, nargs=2, arg_vector=0xbfffcb94) at eval.c:2910 #14 0x000dc4f8 in Ffuncall (nargs=1381796708, args=0xbfffcb90) at eval.c:2780 #15 0x0010c558 in Fbyte_code (bytestr=303377588, vector=2, maxdepth=-1073755248) at bytecode.c:709 #16 0x000dca34 in funcall_lambda (fun=1101780992, nargs=1, arg_vector=0xbfffd2a4) at eval.c:2910 #17 0x000dc4f8 in Ffuncall (nargs=1381796708, args=0xbfffd2a0) at eval.c:2780 #18 0x000d9fb4 in internal_condition_case_2 (bfun=0xdc0d8 <Ffuncall>, nargs=2, args=0xbfffd2a0, handlers=275715844, hfun=0x16bf8 <safe_eval_handler>) at eval.c:1418 #19 0x00016de4 in safe_call (nargs=2, args=0xbfffd2a0) at xdisp.c:1789 #20 0x00016e34 in safe_call1 (fn=1381796708, arg=275715796) at xdisp.c:1809 #21 0x000184f8 in handle_fontified_prop (it=0x525c8b64) at xdisp.c:2711 #22 0x00017f24 in handle_stop (it=0xbfffd560) at xdisp.c:2472 #23 0x0001c4ec in next_element_from_buffer (it=0x157608) at xdisp.c:5274 #24 0x0001b82c in get_next_display_element (it=0xbfffd560) at xdisp.c:4626 #25 0x0002cd50 in display_line (it=0xbfffd560) at xdisp.c:14242 #26 0x000291e4 in try_window (window=1381796708, pos={charpos = 2710, bytepos = 2710}) at xdisp.c:11981 #27 0x00028408 in redisplay_window (window=1101750720, just_this_one_p=1) at xdisp.c:11639 #28 0x000253cc in redisplay_window_1 (window=1381796708) at xdisp.c:10409 #29 0x000d9e40 in internal_condition_case_1 (bfun=0x25390 <redisplay_window_1>, arg=1101750720, handlers=1349614436, hfun=0x25300 <redisplay_window_error>) at eval.c:1374 #30 0x00024a14 in redisplay_internal (preserve_echo_area=1381796708) at xdisp.c:10035 #31 0x00075f00 in read_char (commandflag=1, nmaps=2, maps=0xbfffebd0, prev_event=275715796, used_mouse_menu=0xbfffecd4) at keyboard.c:2473 #32 0x0007e45c in read_key_sequence (keybuf=0xbfffeda0, bufsize=2373924, prompt=275715796, dont_downcase_last=2384204, can_return_switch_frame=1, fix_current_buffer=2371724) at keyboard.c:8583 #33 0x00073d5c in command_loop_1 () at keyboard.c:1502 #34 0x000d9cd4 in internal_condition_case (bfun=0x73918 <command_loop_1>, handlers=275762388, hfun=0x732c8 <cmd_error>) at eval.c:1333 #35 0x000736f8 in command_loop_2 () at keyboard.c:1290 #36 0x000d9744 in internal_catch (tag=1381796708, func=0x736b8 <command_loop_2>, arg=275715796) at eval.c:1094 #37 0x00073650 in command_loop () at keyboard.c:1269 #38 0x00073064 in recursive_edit_1 () at keyboard.c:985 #39 0x000731ec in Frecursive_edit () at keyboard.c:1041 #40 0x00071cc0 in main (argc=0, argv=0xbffffa44) at emacs.c:1659 #41 0x00003ae8 in _start (argc=50, argv=0x0, envp=0x2405b4) at /SourceCache/Csu/Csu-45/crt.c:267 #42 0x00003968 in start () > Thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Mac OSX running Carbon crash with today's CVS 2003-04-22 14:39 ` Gabriel Foster @ 2003-04-23 9:54 ` Eli Zaretskii 2003-04-23 12:56 ` Andrew Choi 0 siblings, 1 reply; 5+ messages in thread From: Eli Zaretskii @ 2003-04-23 9:54 UTC (permalink / raw) Cc: emacs-devel > Date: Tue, 22 Apr 2003 07:39:25 -0700 > From: Gabriel Foster <gabriel@apple.com> > > In the most recent case, I had just hit the enter key. Can you cause the same crash if you type "M-x garbage-collect RET" right after starting Emacs? > (gdb) print tail > $2 = (struct gcpro *) 0xbfffde20 > (gdb) print *tail->var[i] > Cannot access memory at address 0x1 > (gdb) print tail->var[i] > Cannot access memory at address 0x1 > (gdb) print tail->var > $3 = (volatile int *) 0x1 This is the problem, then: either tail->var or tail->nvars is garbled (I'm guessing it's the latter). Does anyone have a clue why this could happen on a Mac? If no one comes up with a better idea, one way of attacking this bug would be to put a hardware-assisted watchpoint on the nvars member, like this: (gdb) watch ((struct gcpro *)0xbfffde20)->nvars and when the watchpoint fires, look for the code that puts the preposterously large value into nvars. (If nvars changes its value to something reasonable, like zero or 1, just type "cont" to let the program resume its run.) Before you do the above, it is highly recommended to find a simple procedure that would predictably cause such a crash, and with the same value of `tail', the GCPRO structure that is garbled. Then use that address instead of 0xbfffde20 above. (I'm assuming that GDB on Mac OSX supports hardware-assisted watchpoints, btw.) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Mac OSX running Carbon crash with today's CVS 2003-04-23 9:54 ` Eli Zaretskii @ 2003-04-23 12:56 ` Andrew Choi 0 siblings, 0 replies; 5+ messages in thread From: Andrew Choi @ 2003-04-23 12:56 UTC (permalink / raw) Cc: emacs-devel Eli Zaretskii <eliz@elta.co.il> writes: > > Date: Tue, 22 Apr 2003 07:39:25 -0700 > > From: Gabriel Foster <gabriel@apple.com> > > > > In the most recent case, I had just hit the enter key. It may help to know what you were doing /before/ you hit the enter key. > Can you cause the same crash if you type "M-x garbage-collect RET" > right after starting Emacs? > > > (gdb) print tail > > $2 = (struct gcpro *) 0xbfffde20 > > (gdb) print *tail->var[i] > > Cannot access memory at address 0x1 > > (gdb) print tail->var[i] > > Cannot access memory at address 0x1 > > (gdb) print tail->var > > $3 = (volatile int *) 0x1 > > This is the problem, then: either tail->var or tail->nvars is garbled > (I'm guessing it's the latter). > > Does anyone have a clue why this could happen on a Mac? [...] No, except that I've been running the CVS version on April 21 for two days now without any problems. I also haven't got any crashes from previous versions. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-04-23 12:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-04-21 22:21 Mac OSX running Carbon crash with today's CVS Gabriel Foster 2003-04-22 8:05 ` Eli Zaretskii 2003-04-22 14:39 ` Gabriel Foster 2003-04-23 9:54 ` Eli Zaretskii 2003-04-23 12:56 ` Andrew Choi
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).