[Openmcl-devel] Re: [Bug-openmcl] NSViewHierarchyLock Assertion failure

Raffael Cavallaro raffaelcavallaro at mac.com
Thu May 20 06:56:13 PDT 2004


On May 20, 2004, at 7:11 AM, Gary Byers wrote:

> If anyone can trigger the assertion failure after changing :DEFER to
> T in TINY-SETUP, it would shoot a hole in an otherwise very nice 
> theory.
> I haven't been able to do so so far ...

Good news and bad news.

Good news:

I can confirm that after changing :defer to t, the IDE doesn't crash, 
even after many hundreds of iterations of:

(loop do (let* ((w (ccl::tiny-setup))) (sleep 1) (ccl::send w 'close)))

Menus in the IDE continue to be usable  - I can use the File menu to 
get a new listener, to get a choose-file dialog and open files, etc. I 
can create other tiny windows from a second listener, or other 
creation/destuction loops from a second listener. I even have three of 
these  tiny window creation/destruction loops running at the same time 
with no ill effects.

In short, changing :defer to t makes these cocoa examples that much 
more bullet proof.

Bad news:

If I click the close box of one of these windows, I can get the 
following hang where I'm dropped into the kernel debugger very 
consistently:

Welcome to OpenMCL Version (Beta: Darwin) 0.14.2!
? (require 'cocoa)
COCOA
("FAKE-CFBUNDLE-PATH" "SPLAY-TREE" "NAME-TRANSLATION" 
"PROCESS-OBJC-MODULES" "OBJC-CLOS" "OBJC-RUNTIME" "BRIDGE" 
"OBJC-SUPPORT" "COCOA-WINDOW" "COCOA-EDITOR" "PTY" "COCOA-LISTENER" 
"COCOA")
? (require 'tiny)
TINY
("TINY")
? (loop do (let* ((w (ccl::tiny-setup))) (sleep 1) (ccl::send w 
'close)))

      [ Everything runs smoothly - windows created and destroyed ]
      [ But if I click the close bubble on a window just created…]

2004-05-20 09:40:03.886 [5447] *** Assertion failure in -[NSView 
lockFocus], AppKit.subproj/NSView.m:2740
2004-05-20 09:40:03.893 [5447] Error in event loop: Objective-C runtime 
exception:
lockFocus sent to a view whose window is deferred and does not yet have 
a corresponding platform window
Unhandled exception 11 at 0x908311f4, context->regs at #xf0135698
Read operation to unmapped address 0x00000000
  In foreign code at address 0x908311f4
? for help
[5447] OpenMCL kernel debugger: D
Read operation to unmapped address 0x00000000
[5447] OpenMCL kernel debugger: R
r00 = 0x00000000  r08 = 0x00000000  r16 = 0x06E0E9F6  r24 = 0x00000000
r01 = 0xF0135B80  r09 = 0x000B32B5  r17 = 0x06393F3E  r25 = 0x00000000
r02 = 0x00000000  r10 = 0x1DC9E172  r18 = 0x06393EE6  r26 = 0x00000000
r03 = 0x001AECA0  r11 = 0x00000000  r19 = 0x00002015  r27 = 0x00000000
r04 = 0x9086D5EC  r12 = 0x00000000  r20 = 0x06393DFE  r28 = 0x00104050
r05 = 0x43300000  r13 = 0x00427E1C  r21 = 0x004B887E  r29 = 0xF0135BC0
r06 = 0x80000000  r14 = 0x06DE26D4  r22 = 0x0638CF86  r30 = 0xF0135BD0
r07 = 0x00000000  r15 = 0x06DE273E  r23 = 0x908311E0  r31 = 0x00103F50

  PC = 0x908311F4   LR = 0x000053A8  CTR = 0x908311E0  CCR = 0x48222428
XER = 0x00000000  MSR = 0x0000F930  DAR = 0x00000000  DSISR = 0x40000000
[5447] OpenMCL kernel debugger: L
rcontext = 0x00000000 (INVALID)
[5447] OpenMCL kernel debugger: F
f00 : 0xFFF80000000080D0 (nan)
f01 : 0x3FF0000000000000 (1.000000)
f02 : 0x8000000000000000 (-0.000000)
f03 : 0x0000000000000000 (0.000000)
f04 : 0x4330000000000304 (4503599627371268.000000)
f05 : 0x4008000000000000 (3.000000)
f06 : 0x4030000000000000 (16.000000)
f07 : 0x402C000000000000 (14.000000)
f08 : 0x4030000000000000 (16.000000)
f09 : 0x4030000000000000 (16.000000)
f10 : 0x402C000000000000 (14.000000)
f11 : 0x0000000000000000 (0.000000)
f12 : 0x4045000000000000 (42.000000)
f13 : 0x0000000000000000 (0.000000)
f14 : 0xC24BC19587859393 (-238423838475.152924)
f15 : 0xC24BC19587859393 (-238423838475.152924)
f16 : 0xC24BC19587859393 (-238423838475.152924)
f17 : 0xC24BC19587859393 (-238423838475.152924)
f18 : 0xC24BC19587859393 (-238423838475.152924)
f19 : 0xC24BC19587859393 (-238423838475.152924)
f20 : 0xC24BC19587859393 (-238423838475.152924)
f21 : 0xC24BC19587859393 (-238423838475.152924)
f22 : 0xC24BC19587859393 (-238423838475.152924)
f23 : 0xC24BC19587859393 (-238423838475.152924)
f24 : 0xC24BC19587859393 (-238423838475.152924)
f25 : 0xC24BC19587859393 (-238423838475.152924)
f26 : 0xC24BC19587859393 (-238423838475.152924)
f27 : 0xC24BC19587859393 (-238423838475.152924)
f28 : 0xC24BC19587859393 (-238423838475.152924)
f29 : 0xC24BC19587859393 (-238423838475.152924)
f30 : 0x4330000080000000 (4503601774854144.000000)
f31 : 0x0000000000000000 (0.000000)
FPSCR = 00000000
[5447] OpenMCL kernel debugger: B


(#xf0135b80) #x00000000 : (null) + 0
(#xF0135BC0) #x06DE26D4 : #<Anonymous Function #x06de273e> + 352
(#xf0135bd0) #x00000000 : (null) + 0
(#xF0135C20) #x06DE26E4 : #<Anonymous Function #x06de273e> + 368
(#xF0135C30) #x06DE25BC : #<Anonymous Function #x06de273e> + 72
(#xF0135C40) #x00004D7C : (subprimitive _ret1valn)
(#xF0135C50) #x0210E554 : #<Function TOPLEVEL-EVAL #x06116246> + 152
(#xF0135C60) #x0210EB10 : #<Function READ-LOOP #x06116846> + 844
(#xF0135C70) #x0210EB48 : #<Function READ-LOOP #x06116846> + 900
(#xF0135C80) #x0210EB74 : #<Function READ-LOOP #x06116846> + 944
(#xF0135C90) #x0210EBA0 : #<Function READ-LOOP #x06116846> + 988
(#xF0135CA0) #x0210F8E0 : #<Function TOPLEVEL-LOOP #x06117bde> + 44
(#xF0135CB0) #x0210F8E8 : #<Function TOPLEVEL-LOOP #x06117bde> + 52
(#xF0135CC0) #x020F8720 : #<Anonymous Function #x060f8b36> + 68
(#xF0135CD0) #x00004D7C : (subprimitive _ret1valn)
(#xF0135CE0) #x021223EC : #<Anonymous Function #x0613f64e> + 592
(#xF0135CF0) #x021221EC : #<Anonymous Function #x0613f64e> + 80
(#xF0135D00) #x020FD044 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 400
(#xF0135D10) #x020FD080 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 460
(#xF0135D20) #x020FD194 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 736
(#xF0135D30) #x00004D7C : (subprimitive _ret1valn)
(#xF0135D40) #x020FD314 : #<Anonymous Function #x06101d3e> + 152
(#xF0135D50) #x020FD2FC : #<Anonymous Function #x06101d3e> + 128
(#xF0135D60) #x020F5450 : #<Anonymous Function #x060f491e> + 172
(#xF0135D70) #x0000881C : (subprimitive toplevel_loop)
(#xF0135D80) #x00008828 : (subprimitive toplevel_loop)
(#xf0135d90) #x000088F4 : _start_lisp + 180
(#xf0135e50) #x00012CAC : _lisp_thread_entry + 152
(#xf0135eb0) #x900247E8 : __pthread_body + 40
(#xf0135f00) #x00000000 : (null) + 0


cstack area #x0017f290


(#xF03FBB20) #x020E1B4C : #<Function FD-INPUT-AVAILABLE-P #x060df146> + 
344
(#xF03FBB30) #x020E2004 : #<Function PROCESS-INPUT-WAIT #x060df676> + 
240
(#xF03FBB40) #x020E1370 : #<Function FD-STREAM-ADVANCE #x060dc5a6> + 460
(#xF03FBB50) #x020D94DC : #<Function %IOBLOCK-TYI #x060c6e0e> + 384
(#xF03FBB60) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBB70) #x020DFB60 : #<Method-Function STREAM-READ-CHAR 
(BUFFERED-CHARACTER-INPUT-STREAM-MIXIN) #x060d7a26> + 204
(#xF03FBB80) #x020DFAF4 : #<Method-Function STREAM-READ-CHAR 
(BUFFERED-CHARACTER-INPUT-STREAM-MIXIN) #x060d7a26> + 96
(#xF03FBB90) #x0210B1C4 : #<Function %NEXT-CHAR-AND-ATTR #x061105b6> + 
88
(#xF03FBBA0) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBBB0) #x0210B108 : #<Function %NEXT-NON-WHITESPACE-CHAR-AND-ATTR 
#x06110516> + 52
(#xF03FBBC0) #x02108724 : #<Function %READ-FORM #x0610e026> + 192
(#xF03FBBD0) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBBE0) #x02108DD8 : #<Function READ #x0610e52e> + 212
(#xF03FBBF0) #x020E5C4C : #<Method-Function READ-TOPLEVEL-FORM 
(INPUT-STREAM T) #x060e2f96> + 64
(#xF03FBC00) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBC10) #x020BBC64 : #<Function 
%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE #x0608e21e> + 616
(#xF03FBC20) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBC30) #x020BC408 : #<Function %%STANDARD-COMBINED-METHOD-DCODE 
#x0608e88e> + 148
(#xF03FBC40) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBC50) #x00004CE0 : (subprimitive _nvalret)
(#xF03FBC60) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBC70) #x0210EA70 : #<Function READ-LOOP #x06116846> + 684
(#xF03FBC80) #x0210EB48 : #<Function READ-LOOP #x06116846> + 900
(#xF03FBC90) #x0210EB74 : #<Function READ-LOOP #x06116846> + 944
(#xF03FBCA0) #x0210EBA0 : #<Function READ-LOOP #x06116846> + 988
(#xF03FBCB0) #x0210F8E0 : #<Function TOPLEVEL-LOOP #x06117bde> + 44
(#xF03FBCC0) #x0210F8E8 : #<Function TOPLEVEL-LOOP #x06117bde> + 52
(#xF03FBCD0) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBCE0) #x021223EC : #<Anonymous Function #x0613f64e> + 592
(#xF03FBCF0) #x021221EC : #<Anonymous Function #x0613f64e> + 80
(#xF03FBD00) #x020FD044 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 400
(#xF03FBD10) #x020FD080 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 460
(#xF03FBD20) #x020FD194 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 736
(#xF03FBD30) #x00004D7C : (subprimitive _ret1valn)
(#xF03FBD40) #x020FD314 : #<Anonymous Function #x06101d3e> + 152
(#xF03FBD50) #x020FD2FC : #<Anonymous Function #x06101d3e> + 128
(#xF03FBD60) #x020F5450 : #<Anonymous Function #x060f491e> + 172
(#xF03FBD70) #x0000881C : (subprimitive toplevel_loop)
(#xF03FBD80) #x00008828 : (subprimitive toplevel_loop)
(#xf03fbd90) #x000088F4 : _start_lisp + 180
(#xf03fbe50) #x00012CAC : _lisp_thread_entry + 152
(#xf03fbeb0) #x900247E8 : __pthread_body + 40
(#xf03fbf00) #x00000000 : (null) + 0


cstack area #x00139e50


(#xF0298CE0) #x020F6248 : #<Function %NANOSLEEP #x060f5946> + 268
(#xF0298CF0) #x06CB1970 : #<Anonymous Function #x06cb198e> + 52
(#xF0298D00) #x020FD044 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 400
(#xF0298D10) #x020FD080 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 460
(#xF0298D20) #x020FD194 : #<Function RUN-PROCESS-INITIAL-FORM 
#x06101c0e> + 736
(#xF0298D30) #x00004D7C : (subprimitive _ret1valn)
(#xF0298D40) #x020FD314 : #<Anonymous Function #x06101d3e> + 152
(#xF0298D50) #x020FD2FC : #<Anonymous Function #x06101d3e> + 128
(#xF0298D60) #x020F5450 : #<Anonymous Function #x060f491e> + 172
(#xF0298D70) #x0000881C : (subprimitive toplevel_loop)
(#xF0298D80) #x00008828 : (subprimitive toplevel_loop)
(#xf0298d90) #x000088F4 : _start_lisp + 180
(#xf0298e50) #x00012CAC : _lisp_thread_entry + 152
(#xf0298eb0) #x900247E8 : __pthread_body + 40
(#xf0298f00) #x00000000 : (null) + 0


cstack area #x00100610


(#xBFFFF8D0) #x06CB0B18 : #<Function RUN-EVENT-LOOP #x06cb0d76> + 452
(#xbffff8e0) #x00000000 : (null) + 0
(#xBFFFF930) #x06CB0B28 : #<Function RUN-EVENT-LOOP #x06cb0d76> + 468
(#xBFFFF940) #x06CB0A04 : #<Function RUN-EVENT-LOOP #x06cb0d76> + 176
(#xBFFFF950) #x06CB0B58 : #<Function RUN-EVENT-LOOP #x06cb0d76> + 516
(#xBFFFF960) #x0000881C : (subprimitive toplevel_loop)
(#xBFFFF970) #x00008828 : (subprimitive toplevel_loop)
(#xbffff980) #x000088F4 : _start_lisp + 180
[5447] OpenMCL kernel debugger: K

Sorry to be the bearer of somewhat disappointing news.
Once again, many thanks,

Raf



Raffael Cavallaro, Ph.D.
raffaelcavallaro at mac.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 10979 bytes
Desc: not available
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20040520/8095394b/attachment.bin>


More information about the Openmcl-devel mailing list