Project: SWT
Bug 36192 Native crash when closing tree nodes
Reported: 2003-04-08 05:13:09 | Status: resolved fixed

2.1 I frequently crash when closing tree nodes in the top left pane of the Sync view. I cannot reproduce it, but the typical scenario is: - Synchronize with HEAD on SWT project - reviewing all incoming changes by opening the nodes in the resource pane either manually or with a Expand All - after reviewing the changes I close some of expanded TreeNodes There is no entry in .log, however the console shows this: Date/Time: 2003-04-08 10:56:12 +0200 OS Version: 10.2.4 (Build 6I32) Host: lipari.zrh.oti.com Command: java PID: 1916 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000004 Thread 0: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x03475000 in 0x3475000 #3 0x90180fe4 in CFRunLoopRunSpecific #4 0x000048d4 in 0x48d4 #5 0x0000237c in 0x237c #6 0x000021fc in 0x21fc Thread 1 Crashed: #0 0x96a25b24 in TContainer::ListItemRef::ItemSelected() const #1 0x96a0d66c in TListData::RowIsSelected(unsigned long) const #2 0x96bf68fc in ITableData::NextSelection(Cell32&, bool, bool) const #3 0x96a2a7f4 in TTableView::GetData(unsigned long, unsigned long, long, char*, long*) const #4 0x96a3d480 in TListView::GetData(unsigned long, unsigned long, long, char*, long* ) const #5 0x96a18744 in TBrowser::GetData(unsigned long, unsigned long, long, char*, long* ) const #6 0x969d3cb0 in HLTB_CDEF::EntryPoint(short, OpaqueControlRef*, short, long) #7 0x969fd138 in DataBrowserCDEF(short, OpaqueControlRef*, short, long) #8 0x969af3e8 in DispatchMessage(HIView*, short, long, unsigned char, unsigned char) #9 0x969ddc9c in GetData(HIView*, OpaqueEventRef*) #10 0x969b6760 in ClassicCDEFAdapter::EventHandler(OpaqueEventHandlerCallRef* , OpaqueEventRef*, void*) #11 0x969a2244 in DispatchEventToHandlers #12 0x969a25ac in SendEventToEventTargetInternal #13 0x969a59c0 in SendEventToEventTargetWithOptions #14 0x969bbde4 in SendControlDefGetData(HIView*, unsigned long, short, void*, long, long*) #15 0x969ead6c in GetControlData #16 0x96af0010 in GetDataBrowserSelectionAnchor #17 0x04987fcc in Java_org_eclipse_swt_internal_carbon_OS_GetDataBrowserSelectionAnchor #18 0x0134a580 in 0x134a580 #19 0x01781b18 in 0x1781b18 #20 0x01343ef0 in 0x1343ef0 #21 0x0134116c in 0x134116c #22 0x966a8208 in JVM_Read #23 0x966cde94 in JVM_FillInStackTrace #24 0x966b8c80 in JVM_GetCPMethodClassNameUTF #25 0x9676d788 in JVM_EnableCompiler #26 0x049ce274 in callback #27 0x049a89ec in fn7_3 #28 0x96c929a4 in CacheSelectionNotifications::ItemNotificationBottleneck(OpaqueControlRef*, unsigned long, unsigned long, void*) #29 0x96a0fa20 in TBrowser::NotifyItemEvent(unsigned long, unsigned long, TItemData*) const #30 0x96a44f9c in TContainer::ListItemRef::ItemSelected(BinaryState, IClientProxy const&, bool) #31 0x96a20534 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #32 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #33 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #34 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #35 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #36 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #37 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #38 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #39 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #40 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #41 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #42 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #43 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #44 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #45 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #46 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #47 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #48 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #49 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #50 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #51 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #52 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #53 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #54 0x96a32a58 in TContainer::ListItemRef::PreflightRemoval(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #55 0x96a20548 in TContainer::RemoveItems(IClientProxy const&, TContainerTree*, TContainer::ItemRefArray*) #56 0x96ab3c04 in TContainerTree::CloseContainerTree(unsigned long, IClientProxy const&, TContainer::ItemRefArray*) #57 0x96baa394 in TContainerTree::CloseChildContainer(TContainer::ListItemRef&, IClientProxy const&, TContainer::ItemRefArray*) #58 0x96bf0530 in TListData::CloseContainer(TContainer::ListItemRef&, bool) #59 0x96bf010c in TListData::DiscloseRow(unsigned long, BinaryState, bool) #60 0x96aba77c in TListView::TrackCell(TTableCell const&, Point, long, unsigned short) #61 0x96a78438 in TTableView::TrackItem(Point, long, unsigned short) #62 0x96aa40a0 in TBrowserView::TrackMouse(short&, Point, long, unsigned short) #63 0x96aba490 in TListView::TrackMouse(short&, Point, long, unsigned short) #64 0x96a77c8c in TBrowserView::Track(Point, long, unsigned short) #65 0x96aa1224 in TBrowser::Track(Point, long, unsigned short) #66 0x969d3d8c in HLTB_CDEF::EntryPoint(short, OpaqueControlRef*, short, long) #67 0x969fd138 in DataBrowserCDEF(short, OpaqueControlRef*, short, long) #68 0x969af3e8 in DispatchMessage(HIView*, short, long, unsigned char, unsigned char) #69 0x96a72880 in Track(HIView*, OpaqueEventRef*) #70 0x969b66e0 in ClassicCDEFAdapter::EventHandler(OpaqueEventHandlerCallRef* , OpaqueEventRef*, void*) #71 0x969a2244 in DispatchEventToHandlers #72 0x969a25ac in SendEventToEventTargetInternal #73 0x969a59c0 in SendEventToEventTargetWithOptions #74 0x96a29144 in SendControlDefTrack(HIView*, CGPoint const&, unsigned long*, void (*)(OpaqueControlRef*, short), short*) #75 0x96bdc4b4 in HIView::ClickInternal(CGPoint const&, unsigned long, void (* )(OpaqueControlRef*, short), bool) #76 0x96a70fec in HandleControlClick #77 0x96a608f8 in DoControlClick #78 0x96aa0ffc in HandleControlEvent #79 0x969ed820 in StandardWindowEventHandler #80 0x969a2244 in DispatchEventToHandlers #81 0x969a25ac in SendEventToEventTargetInternal #82 0x969b4aac in SendEventToEventTarget #83 0x96a6079c in HIView::Click(OpaqueEventRef*) #84 0x96aa0fb4 in HIViewClick #85 0x96aa0f60 in HandleClickAsHIView #86 0x96a777fc in HandleClickInContent #87 0x969dc830 in HandleWindowEvent #88 0x969ed814 in StandardWindowEventHandler #89 0x969a2244 in DispatchEventToHandlers #90 0x969a25ac in SendEventToEventTargetInternal #91 0x969b4aac in SendEventToEventTarget #92 0x96a77680 in SendEventFromMouseDown #93 0x96a51198 in HandleWindowClick #94 0x96b008d0 in HandleMouseEvent #95 0x969ed808 in StandardWindowEventHandler #96 0x969a2244 in DispatchEventToHandlers #97 0x969a25ac in SendEventToEventTargetInternal #98 0x96a0d8cc in CallNextEventHandler #99 0x04982340 in Java_org_eclipse_swt_internal_carbon_OS_CallNextEventHandler #100 0x0134a580 in 0x134a580 #101 0x01343ef0 in 0x1343ef0 #102 0x0182b448 in 0x182b448 #103 0x01662584 in 0x1662584 #104 0x0134116c in 0x134116c #105 0x966a8208 in JVM_Read #106 0x966cde94 in JVM_FillInStackTrace #107 0x966b8c80 in JVM_GetCPMethodClassNameUTF #108 0x9676d788 in JVM_EnableCompiler #109 0x049ce274 in callback #110 0x049a8bcc in fn13_3 #111 0x969a2244 in DispatchEventToHandlers #112 0x969a25ac in SendEventToEventTargetInternal #113 0x969b4aac in SendEventToEventTarget #114 0x969bfe04 in HandleMouseEventForWindow(OpaqueWindowPtr*, OpaqueEventRef*, unsigned short) #115 0x969b8f40 in HandleMouseEvent(OpaqueEventRef*) #116 0x969b1e94 in ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) #117 0x969a22fc in DispatchEventToHandlers #118 0x969a25ac in SendEventToEventTargetInternal #119 0x969b4aac in SendEventToEventTarget #120 0x0498f998 in Java_org_eclipse_swt_internal_carbon_OS_SendEventToEventTarget #121 0x016796e0 in 0x16796e0 #122 0x01661798 in 0x1661798 #123 0x01343e30 in 0x1343e30 #124 0x01343fb0 in 0x1343fb0 #125 0x01344220 in 0x1344220 #126 0x01343ec0 in 0x1343ec0 #127 0x0134116c in 0x134116c #128 0x966a8208 in JVM_Read #129 0x966cde94 in JVM_FillInStackTrace #130 0x967338bc in JVM_GetClassCPTypes #131 0x9673cce8 in JVM_Write #132 0x96744f00 in JVM_InvokeMethod #133 0x0134a580 in 0x134a580 #134 0x01343ec0 in 0x1343ec0 #135 0x01343ec0 in 0x1343ec0 #136 0x01344220 in 0x1344220 #137 0x01343ec0 in 0x1343ec0 #138 0x01343ec0 in 0x1343ec0 #139 0x01343ec0 in 0x1343ec0 #140 0x0134116c in 0x134116c #141 0x966a8208 in JVM_Read #142 0x966cde94 in JVM_FillInStackTrace #143 0x966c1f94 in JVM_GetCPFieldClassNameUTF #144 0x966c36f0 in JVM_GetMethodIxLocalsCount #145 0x00002c9c in 0x2c9c #146 0x000047b8 in 0x47b8 #147 0x90020d48 in _pthread_body Thread 2: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x9676b04c in JNI_CreateJavaVM_Impl #3 0x9676b1d0 in JNI_CreateJavaVM_Impl #4 0x967641fc in JVM_IsSupportedJNIVersion #5 0x90020d48 in _pthread_body Thread 3: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697dd0 in __cmpdi2 #3 0x966d072c in JVM_FillInStackTrace #4 0x966e173c in JVM_RawMonitorEnter #5 0x9685d46c in JVM_UnloadLibrary #6 0x967641fc in JVM_IsSupportedJNIVersion #7 0x90020d48 in _pthread_body Thread 4: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697d34 in __cmpdi2 #3 0x966d9264 in JVM_GetCPFieldSignatureUTF #4 0x966fc7ac in JVM_GetMethodIxModifiers #5 0x966f9a48 in JVM_MonitorWait #6 0x0134a580 in 0x134a580 #7 0x01343fb0 in 0x1343fb0 #8 0x01343fb0 in 0x1343fb0 #9 0x0134116c in 0x134116c #10 0x966a8208 in JVM_Read #11 0x96750af4 in JVM_StartThread #12 0x96755bd0 in JVM_GC #13 0x96755b64 in JVM_GC #14 0x96744174 in JVM_GetClassInterfaces #15 0x967641fc in JVM_IsSupportedJNIVersion #16 0x90020d48 in _pthread_body Thread 5: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697d34 in __cmpdi2 #3 0x966d9264 in JVM_GetCPFieldSignatureUTF #4 0x966fc7ac in JVM_GetMethodIxModifiers #5 0x966f9a48 in JVM_MonitorWait #6 0x016b61a4 in 0x16b61a4 #7 0x017061cc in 0x17061cc #8 0x01705f28 in 0x1705f28 #9 0x01343ec0 in 0x1343ec0 #10 0x0134116c in 0x134116c #11 0x966a8208 in JVM_Read #12 0x96750af4 in JVM_StartThread #13 0x96755bd0 in JVM_GC #14 0x96755b64 in JVM_GC #15 0x96744174 in JVM_GetClassInterfaces #16 0x967641fc in JVM_IsSupportedJNIVersion #17 0x90020d48 in _pthread_body Thread 6: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697dd0 in __cmpdi2 #3 0x966a29c4 in JVM_CurrentTimeMillis #4 0x966a2a60 in JVM_CurrentTimeMillis #5 0x967641fc in JVM_IsSupportedJNIVersion #6 0x90020d48 in _pthread_body Thread 7: #0 0x90034848 in semaphore_wait_trap #1 0x96764bfc in JVM_IsSupportedJNIVersion #2 0x967649e4 in JVM_IsSupportedJNIVersion #3 0x96744174 in JVM_GetClassInterfaces #4 0x967641fc in JVM_IsSupportedJNIVersion #5 0x90020d48 in _pthread_body Thread 8: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697d34 in __cmpdi2 #3 0x966d078c in JVM_FillInStackTrace #4 0x9670b5bc in JVM_IsConstructorIx #5 0x966ec7f0 in JVM_RawMonitorEnter #6 0x96744174 in JVM_GetClassInterfaces #7 0x967641fc in JVM_IsSupportedJNIVersion #8 0x90020d48 in _pthread_body Thread 9: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697dd0 in __cmpdi2 #3 0x966a28d4 in JVM_CurrentTimeMillis #4 0x96729c10 in JVM_Sleep #5 0x0134a580 in 0x134a580 #6 0x01343fb0 in 0x1343fb0 #7 0x01344310 in 0x1344310 #8 0x0134116c in 0x134116c #9 0x966a8208 in JVM_Read #10 0x96750af4 in JVM_StartThread #11 0x96755bd0 in JVM_GC #12 0x96755b64 in JVM_GC #13 0x96744174 in JVM_GetClassInterfaces #14 0x967641fc in JVM_IsSupportedJNIVersion #15 0x90020d48 in _pthread_body Thread 10: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697d34 in __cmpdi2 #3 0x966d9264 in JVM_GetCPFieldSignatureUTF #4 0x966fc7ac in JVM_GetMethodIxModifiers #5 0x966f9a48 in JVM_MonitorWait #6 0x0134a580 in 0x134a580 #7 0x01343fb0 in 0x1343fb0 #8 0x01343fb0 in 0x1343fb0 #9 0x01343ec0 in 0x1343ec0 #10 0x01344310 in 0x1344310 #11 0x0134116c in 0x134116c #12 0x966a8208 in JVM_Read #13 0x96750af4 in JVM_StartThread #14 0x96755bd0 in JVM_GC #15 0x96755b64 in JVM_GC #16 0x96744174 in JVM_GetClassInterfaces #17 0x967641fc in JVM_IsSupportedJNIVersion #18 0x90020d48 in _pthread_body Thread 11: #0 0x90073c48 in mach_msg_trap #1 0x90005f90 in mach_msg #2 0x96697dd0 in __cmpdi2 #3 0x966d9264 in JVM_GetCPFieldSignatureUTF #4 0x966fc7ac in JVM_GetMethodIxModifiers #5 0x966f9a48 in JVM_MonitorWait #6 0x0134a580 in 0x134a580 #7 0x01343fb0 in 0x1343fb0 #8 0x01344310 in 0x1344310 #9 0x0134116c in 0x134116c #10 0x966a8208 in JVM_Read #11 0x96750af4 in JVM_StartThread #12 0x96755bd0 in JVM_GC #13 0x96755b64 in JVM_GC #14 0x96744174 in JVM_GetClassInterfaces #15 0x967641fc in JVM_IsSupportedJNIVersion #16 0x90020d48 in _pthread_body PPC Thread State: srr0: 0x96a25b24 srr1: 0x0200f030 vrsave: 0x00000000 xer: 0x20000000 lr: 0x96a25b20 ctr: 0x96a546ec mq: 0x00000000 r0: 0x00020000 r1: 0xf007b4e0 r2: 0x00000000 r3: 0x00000000 r4: 0x00000000 r5: 0x00000000 r6: 0x00000001 r7: 0x00000000 r8: 0x00000000 r9: 0x080eedf8 r10: 0x00000000 r11: 0xf007b580 r12: 0x96a546ec r13: 0x00088f00 r14: 0x06176110 r15: 0x04987f14 r16: 0xf007be50 r17: 0x6b2c04c8 r18: 0x00000000 r19: 0x00000000 r20: 0x00000003 r21: 0x00000000 r22: 0x00000000 r23: 0x0755f3b0 r24: 0xf007bc50 r25: 0xf007ba60 r26: 0x00000000 r27: 0x00000001 r28: 0xf007b640 r29: 0x00000000 r30: 0x00000000 r31: 0x96a2a588

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT/carbon2/org/eclipse/swt/widgets/Tree.java