Subject: bug#2550: NS: crash when disconnecting external display

From: David Reitter <[email-masked]>
Date: Mon, 2 Mar 2009 21:01:17 -0500

Current CVS version (but my branch).

I think I put the machine to sleep at that time and disconnected the  
external display.

Another Emacs instance running at the same time did not crash, and I  
could not reproduce the problem.

Process:         Emacs [10576]
Path:            /Users/dr/Projects/Bazaar-Playground/emacs.cvs/ 
nextstep/Emacs.app/Contents/MacOS/Emacs
Identifier:      org.gnu.Emacs
Version:         Version 23.0.90 (9.0)
Code Type:       X86 (Native)
Parent Process:  launchd [227]

Date/Time:       2009-03-02 19:30:12.660 -0500
OS Version:      Mac OS X 10.5.6 (9G55)
Report Version:  6

Exception Type:  EXC_ARITHMETIC (SIGABRT)
Exception Codes: EXC_I386_DIV (divide by zero)
Crashed Thread:  0

Thread 0 Crashed:
0   libSystem.B.dylib             	0x9019ce42 __kill + 10
1   libSystem.B.dylib             	0x9020f23a raise + 26
2   libSystem.B.dylib             	0x9021b679 abort + 73
3   org.gnu.Emacs                 	0x0016ca95 ns_term_shutdown + 117  
(nsterm.m:4048)
4   org.gnu.Emacs                 	0x0009247f fatal_error_signal + 399  
(emacs.c:389)
5   libSystem.B.dylib             	0x9019b2bb _sigtramp + 43
6   ???                           	0xffffffff 0 + 4294967295
7   libSystem.B.dylib             	0x9020f23a raise + 26
8   libSystem.B.dylib             	0x9021b679 abort + 73
9   org.gnu.Emacs                 	0x0010a6f5 Fsignal + 501 (eval.c: 
1675)
10  org.gnu.Emacs                 	0x0010a818 xsignal + 24 (eval.c:1751)
11  org.gnu.Emacs                 	0x0010b414 xsignal0 + 36 (eval.c: 
1760)
12  org.gnu.Emacs                 	0x000fa25e arith_error + 158  
(data.c:3282)
13  libSystem.B.dylib             	0x9019b2bb _sigtramp + 43
14  ???                           	0xffffffff 0 + 4294967295
15  com.apple.AppKit              	0x95306d85 -[NSView  
resizeWithOldSuperviewSize:] + 414
16  com.apple.AppKit              	0x95306bc6 -[NSView  
resizeSubviewsWithOldSize:] + 177
17  com.apple.AppKit              	0x95238d31 -[NSView setFrameSize:]  
+ 658
18  com.apple.AppKit              	0x95305381 -[NSWindow  
_oldPlaceWindow:] + 1573
19  com.apple.AppKit              	0x95304a93 -[NSWindow  
_setFrameCommon:display:stashSize:] + 1569
20  com.apple.AppKit              	0x9530446a -[NSWindow  
setFrame:display:] + 78
21  com.apple.AppKit              	0x9530eb14 -[NSWindow  
_adjustWindowToScreen] + 1016
22  com.apple.AppKit              	0x95531fcf -[NSWindow  
_displayChanged] + 77
23  com.apple.AppKit              	0x9524c626 -[NSApplication  
makeWindowsPerform:inOrder:] + 418
24  com.apple.AppKit              	0x95531ac8 -[NSApplication  
_reactToDisplayChanged:resetScreens:] + 117
25  com.apple.AppKit              	0x952ead49 -[NSApplication  
sendEvent:] + 2941
26  org.gnu.Emacs                 	0x0016cc05 -[EmacsApp sendEvent:] +  
165 (nsterm.m:4134)
27  com.apple.AppKit              	0x9524869f -[NSApplication run] + 847
28  org.gnu.Emacs                 	0x0016acd3 ns_read_socket + 307  
(nsterm.m:3235)
29  org.gnu.Emacs                 	0x0009e5f1 read_avail_input + 289  
(keyboard.c:7076)
30  org.gnu.Emacs                 	0x0016b054 ns_select + 404  
(nsterm.m:3303)
31  org.gnu.Emacs                 	0x0014f1b8  
wait_reading_process_output + 1064 (process.c:4811)
32  org.gnu.Emacs                 	0x000a0389 read_char + 3593  
(keyboard.c:4095)
33  org.gnu.Emacs                 	0x000a2764 read_key_sequence + 884  
(keyboard.c:9432)
34  org.gnu.Emacs                 	0x000a4c8a command_loop_1 + 570  
(keyboard.c:1640)
35  org.gnu.Emacs                 	0x0010826d internal_condition_case  
+ 253 (eval.c:1511)
36  org.gnu.Emacs                 	0x00094728 command_loop_2 + 72  
(keyboard.c:1358)
37  org.gnu.Emacs                 	0x0010814c internal_catch + 172  
(eval.c:1247)
38  org.gnu.Emacs                 	0x0009441d command_loop + 77  
(keyboard.c:1323)
39  org.gnu.Emacs                 	0x00094542 recursive_edit_1 + 146  
(keyboard.c:951)
40  org.gnu.Emacs                 	0x000946c1 Frecursive_edit + 257  
(keyboard.c:1014)
41  org.gnu.Emacs                 	0x0010a3d4 Ffuncall + 1156 (eval.c: 
3041)
42  org.gnu.Emacs                 	0x0014552b Fbyte_code + 3835  
(bytecode.c:678)
43  org.gnu.Emacs                 	0x00109736 Feval + 1062 (eval.c:2385)
44  org.gnu.Emacs                 	0x00109acf Fprogn + 63 (eval.c:450)
45  org.gnu.Emacs                 	0x0004ca4e Fsave_window_excursion +  
78 (window.c:6552)
46  org.gnu.Emacs                 	0x00145e8b Fbyte_code + 6235  
(bytecode.c:839)
47  org.gnu.Emacs                 	0x00109bd1 funcall_lambda + 209  
(eval.c:3236)
48  org.gnu.Emacs                 	0x0010a11b Ffuncall + 459 (eval.c: 
3101)
49  org.gnu.Emacs                 	0x0010bb35 Fapply + 245 (eval.c:2533)
50  org.gnu.Emacs                 	0x0010bc8d apply1 + 45 (eval.c:2798)
51  org.gnu.Emacs                 	0x00108e95 call_debugger + 341  
(eval.c:311)
52  org.gnu.Emacs                 	0x00108fb8 maybe_call_debugger +  
216 (eval.c:1901)
53  org.gnu.Emacs                 	0x0010913e find_handler_clause +  
174 (eval.c:1965)
54  org.gnu.Emacs                 	0x0010a673 Fsignal + 371 (eval.c: 
1703)
55  org.gnu.Emacs                 	0x0010a818 xsignal + 24 (eval.c:1751)
56  org.gnu.Emacs                 	0x0010ac30 error + 0 (eval.c:2017)
57  org.gnu.Emacs                 	0x000f5897 Fsymbol_value + 71  
(data.c:1117)
58  org.gnu.Emacs                 	0x001095a1 Feval + 657 (eval.c:2448)
59  org.gnu.Emacs                 	0x0010a321 Ffuncall + 977 (eval.c: 
3050)
60  org.gnu.Emacs                 	0x0014552b Fbyte_code + 3835  
(bytecode.c:678)
61  org.gnu.Emacs                 	0x00109bd1 funcall_lambda + 209  
(eval.c:3236)
62  org.gnu.Emacs                 	0x0010a11b Ffuncall + 459 (eval.c: 
3101)
63  org.gnu.Emacs                 	0x0014552b Fbyte_code + 3835  
(bytecode.c:678)
64  org.gnu.Emacs                 	0x00109bd1 funcall_lambda + 209  
(eval.c:3236)
65  org.gnu.Emacs                 	0x0010a11b Ffuncall + 459 (eval.c: 
3101)
66  org.gnu.Emacs                 	0x001064f2 Fcall_interactively +  
3330 (callint.c:872)
67  org.gnu.Emacs                 	0x0010a321 Ffuncall + 977 (eval.c: 
3050)
68  org.gnu.Emacs                 	0x0010a4d9 call3 + 25 (eval.c:2876)
69  org.gnu.Emacs                 	0x000a4ed1 command_loop_1 + 1153  
(keyboard.c:1907)
70  org.gnu.Emacs                 	0x0010826d internal_condition_case  
+ 253 (eval.c:1511)
71  org.gnu.Emacs                 	0x00094728 command_loop_2 + 72  
(keyboard.c:1358)
72  org.gnu.Emacs                 	0x0010814c internal_catch + 172  
(eval.c:1247)
73  org.gnu.Emacs                 	0x0009447e command_loop + 174  
(keyboard.c:1337)
74  org.gnu.Emacs                 	0x00094542 recursive_edit_1 + 146  
(keyboard.c:951)
75  org.gnu.Emacs                 	0x000946c1 Frecursive_edit + 257  
(keyboard.c:1014)
76  org.gnu.Emacs                 	0x00093005 main + 2885 (emacs.c:1855)
77  org.gnu.Emacs                 	0x00002ff6 start + 54

Thread 1:
0   libSystem.B.dylib             	0x901363ae __semwait_signal + 10
1   libSystem.B.dylib             	0x90160d0d pthread_cond_wait 
$UNIX2003 + 73
2   com.apple.QuartzCore          	0x93bf9ab9 fe_fragment_thread + 54
3   libSystem.B.dylib             	0x90160095 _pthread_start + 321
4   libSystem.B.dylib             	0x9015ff52 thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
   eax: 0x00000000  ebx: 0x9021b639  ecx: 0xbfffce4c  edx: 0x9019ce42
   edi: 0x00000006  esi: 0x00000006  ebp: 0xbfffce68  esp: 0xbfffce4c
    ss: 0x0000001f  efl: 0x00000286  eip: 0x9019ce42   cs: 0x00000007
    ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
   cr2: 0x0035c660