This is a mystery meat problem that I cannot reproduce. However, it has happened frequently enough that I document it.
I do an intersection on two planar surfaces (that should result in a line). Instead, the active window becomes barely responsive. I can move the view but slowly. I can select from the menu but saving does not save the file. I can save other open files. If I open file settings, I get the dialog box set to the last view. If I click on any of the setting type buttons at the top, nothing happens. I see Rhino using about 25% of CPU.
This only happens sometimes but it has happened several times. I have only seen it happen intersecting planar surfaces.
Hi JIm - by āsimilarā I take you no not mean ānearly coincidentā, right? In any case, send some surfaces that have shown the problem, even if it is not a reliably reproducible.
Hi Jim - can you please post the inputs to these two extrusions, with the CPlane as it was when you made them? They intersect fine, but the points arrangement is just a little weird, and Iād like to see exactly how they were made - that may or may not be relevant to the problem you posted aboutā¦
Thanks, I guess that is normal, I just never noticed before - it wants to put the extrusion handles ortho to the plane . Iām somewhat at a loss to explain the problem you report - the next time you encounter this, you might try, just to see if it makes a difference, exploding the extrusions to be just planar surfaces and try intersecting them.
This problem has existed for a long time and is presented randomly with any surface and polysurface.
As the intersection is a command that I use often I adopted the following strategy: 1) copy and paste on a new part files that need to be intersected (I always keep an open file empty for this). 2) in case of cut surfaces, use the command āUntrimAllā.
3) place normally do not show blocks or slowdowns with this strategy, so once obtained intersecting curves, copy and paste in the original file.
Sometimes I forget to use this strategy to save the file before you use the command and Rhino crashes ⦠This happens at least 2-3 times a week and often results in the loss of the last 5 minutes of work.
The problem appeared already two years ago: Intersect freezes rhino
Reported but no luck (Rhino seems to have its own life in my Mac? )
I am still seeing this with great frequency. Intersection must trigger a problem that is created by something else. I can intersect two object and hang. Restart. Intersect the same objects and no problem.
We still canāt seem to reproduce this one on our end, but I donāt doubt there is a bug here somewhere. I will be curious to if this crops up in Rhino 6 for Mac when it is public.
I donāt know if this is any use but this is the output from sampling the process when it is in the middle of this hang.
Sampling process 4839 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbolsā¦
Analysis of sampling Rhinoceros (pid 4839) every 1 millisecond
Process: Rhinoceros [4839]
Path: /Applications/Rhinoceros.app/Contents/MacOS/Rhinoceros
Load Address: 0x1071a8000
Identifier: com.mcneel.rhinoceros
Version: 5.4 (5E407)
Code Type: X86-64
Parent Process: ??? [1]
Date/Time: 2018-03-14 17:25:35.872 -0400
OS Version: Mac OS X 10.10.5 (14F2511)
Report Version: 7
Analysis Tool: /usr/bin/sample
Call graph:
2699 Thread_448818 DispatchQueue_1: com.apple.main-thread (serial)
+ 2699 start (in libdyld.dylib) + 1 [0x7fff8d8e85c9]
+ 2699 NSApplicationMain (in AppKit) + 1832 [0x7fff8b8f4244]
+ 2699 -[NSApplication run] (in AppKit) + 594 [0x7fff8b977af3]
+ 2699 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 346 [0x7fff8b981e58]
+ 2699 _DPSNextEvent (in AppKit) + 978 [0x7fff8b9828ab]
+ 2699 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 71 [0x7fff9113612b]
+ 2699 ReceiveNextEventCommon (in HIToolbox) + 431 [0x7fff911362ea]
+ 2699 RunCurrentEventLoopInMode (in HIToolbox) + 235 [0x7fff9113656f]
+ 2699 CFRunLoopRunSpecific (in CoreFoundation) + 296 [0x7fff90ac19f8]
+ 2699 __CFRunLoopRun (in CoreFoundation) + 2024 [0x7fff90ac2428]
+ 2699 __CFRunLoopDoTimers (in CoreFoundation) + 301 [0x7fff90b7a53d]
+ 2699 __CFRunLoopDoTimer (in CoreFoundation) + 1059 [0x7fff90b06e93]
+ 2699 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION (in CoreFoundation) + 20 [0x7fff90b07204]
+ 2699 __NSFireDelayedPerform (in Foundation) + 364 [0x7fff852254bb]
+ 2699 CRhinoWorkSession::ModelAliases(unsigned int, ON_ClassArray<ON_wString>&) (in Rhinoceros) + 64026 [0x1071e8fda]
+ 2699 CRhEventManager::ExecuteOneScript() (in Rhinoceros) + 218 [0x107256e60]
+ 2699 CRhEventManager::ParseScriptCommandName() (in Rhinoceros) + 179 [0x107256fa7]
+ 2699 CRhinoDoc::ExecuteCommand(wchar_t const*) (in Rhinoceros) + 2578 [0x107351158]
+ 2699 CCommandIntersect::RunCommand(CRhinoCommandContext const&) (in Rhinoceros) + 1498 [0x1075f1a72]
+ 2699 CThreadManager::Run(CRhinoWorkerThread*, wchar_t const*) (in Rhinoceros) + 1248 [0x10780dec0]
+ 2699 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 346 [0x7fff8b981e58]
+ 2699 _DPSNextEvent (in AppKit) + 978 [0x7fff8b9828ab]
+ 2699 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 71 [0x7fff9113612b]
+ 2699 ReceiveNextEventCommon (in HIToolbox) + 431 [0x7fff911362ea]
+ 2699 RunCurrentEventLoopInMode (in HIToolbox) + 235 [0x7fff9113656f]
+ 2699 CFRunLoopRunSpecific (in CoreFoundation) + 296 [0x7fff90ac19f8]
+ 2699 __CFRunLoopRun (in CoreFoundation) + 1371 [0x7fff90ac219b]
+ 2699 __CFRunLoopServiceMachPort (in CoreFoundation) + 212 [0x7fff90ac2cd4]
+ 2699 mach_msg (in libsystem_kernel.dylib) + 55 [0x7fff8438364f]
+ 2699 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff843844de]
2699 Thread_448828 DispatchQueue_2: com.apple.libdispatch-manager (serial)
+ 2698 _dispatch_mgr_thread (in libdispatch.dylib) + 52 [0x7fff8e43f26e]
+ ! 2697 kevent64 (in libsystem_kernel.dylib) + 10 [0x7fff8438a232]
+ ! 1 _dispatch_mgr_invoke (in libdispatch.dylib) + 247 [0x7fff8e43f615]
+ 1 __commpage_gettimeofday (in libsystem_kernel.dylib) + 31 [0x7fff8438468f]
2699 Thread_448972
+ 2699 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
+ 2699 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
+ 2699 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
+ 2699 inner_start_thread (in libmonosgen-2.0.dylib) + 222 [0x11351cd5e]
+ 2699 start_wrapper (in libmonosgen-2.0.dylib) + 616 [0x113471fc8]
+ 2699 finalizer_thread (in libmonosgen-2.0.dylib) + 130 [0x113493532]
+ 2699 mono_sem_wait (in libmonosgen-2.0.dylib) + 24 [0x113516b88]
+ 2699 semaphore_wait_trap (in libsystem_kernel.dylib) + 10 [0x7fff8438451a]
2699 Thread_449046
+ 2699 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
+ 2699 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
+ 2699 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
+ 2699 _NSEventThread (in AppKit) + 137 [0x7fff8ba4a56b]
+ 2699 CFRunLoopRunSpecific (in CoreFoundation) + 296 [0x7fff90ac19f8]
+ 2699 __CFRunLoopRun (in CoreFoundation) + 1371 [0x7fff90ac219b]
+ 2699 __CFRunLoopServiceMachPort (in CoreFoundation) + 212 [0x7fff90ac2cd4]
+ 2699 mach_msg (in libsystem_kernel.dylib) + 55 [0x7fff8438364f]
+ 2699 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff843844de]
2699 Thread_449073: com.apple.NSURLConnectionLoader
+ 2699 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
+ 2699 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
+ 2699 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
+ 2699 NSThread__main (in Foundation) + 1345 [0x7fff85218e62]
+ 2699 +[NSURLConnection(Loader) _resourceLoadLoop:] (in CFNetwork) + 434 [0x7fff8e7a2420]
+ 2699 CFRunLoopRunSpecific (in CoreFoundation) + 296 [0x7fff90ac19f8]
+ 2699 __CFRunLoopRun (in CoreFoundation) + 1371 [0x7fff90ac219b]
+ 2699 __CFRunLoopServiceMachPort (in CoreFoundation) + 212 [0x7fff90ac2cd4]
+ 2699 mach_msg (in libsystem_kernel.dylib) + 55 [0x7fff8438364f]
+ 2699 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff843844de]
2699 Thread_449078: com.apple.CFSocket.private
+ 2699 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
+ 2699 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
+ 2699 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
+ 2699 __select (in libsystem_kernel.dylib) + 10 [0x7fff843893fa]
2699 Thread_510733
+ 2699 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
+ 2699 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
+ 2699 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
+ 2699 CThreadManager::RunWorkerHelper(void*) (in Rhinoceros) + 62 [0x10780d758]
+ 2699 CIntersectWorker::Worker() (in Rhinoceros) + 2807 [0x1075f28b3]
+ 2699 CCommandIntersect::AddObjectsWithHistory(CRhinoObjRef&, CRhinoObjRef&, ON_SimpleArray<ON_Curve*>&, ON_3dPointArray&, CRhinoCommandContext const&) (in Rhinoceros) + 254 [0x1075f2c3e]
+ 2699 CRhinoDoc::AddPointObject(ON_3dPoint const&, ON_3dmObjectAttributes const*, CRhinoHistory*, signed char) (in Rhinoceros) + 199 [0x1072a3f71]
+ 2699 CRhinoDoc::AddObject(CRhinoObject*, bool, bool) (in Rhinoceros) + 303 [0x107225fa9]
+ 2699 CRhinoDoc::LockModel() const (in Rhinoceros) + 35 [0x107bde321]
+ 2699 CRhinoWorkSession::ModelAliases(unsigned int, ON_ClassArray<ON_wString>&) (in Rhinoceros) + 102020 [0x1071f2444]
+ 2699 __psynch_mutexwait (in libsystem_kernel.dylib) + 10 [0x7fff84389166]
2699 Thread_513387
2699 start_wqthread (in libsystem_pthread.dylib) + 13 [0x7fff83fe53dd]
2699 __workq_kernreturn (in libsystem_kernel.dylib) + 10 [0x7fff8438994a]
Total number in stack (recursive counted multiple, when >=5):
5 _pthread_body (in libsystem_pthread.dylib) + 131 [0x7fff83fe805a]
5 _pthread_start (in libsystem_pthread.dylib) + 176 [0x7fff83fe7fd7]
5 thread_start (in libsystem_pthread.dylib) + 13 [0x7fff83fe53ed]
Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap (in libsystem_kernel.dylib) 8097
__psynch_mutexwait (in libsystem_kernel.dylib) 2699
__select (in libsystem_kernel.dylib) 2699
__workq_kernreturn (in libsystem_kernel.dylib) 2699
semaphore_wait_trap (in libsystem_kernel.dylib) 2699
kevent64 (in libsystem_kernel.dylib) 2697
This has been an ongoing problem for several years. We have never been able to reproduce this, and we have to be able to reproduce the problem to find it and fix it.
Here is what we know:
The problem is intermittent. If Rhino hangs, then repeating the same intersection again will work correctly.
The hang is very model dependent. The problem is not with the intersecting surfaces, but something about the entire model. It has been nearly impossible to get anyone to submit a complete model to us when they have a problem.
From your reports, I can see that Rhino somehow gets deadlocked, but the deadlock doesnāt make sense to me, and I cannot see what causes the deadlock. An intermittent deadlock also means that two competing processes just happened to interfere with each other, but this does not happen every time. Weāll need to reproduce this in our debugging environment to see what is happening.
We need a somewhat reliable failure to be able to find this. We need a model that we can run Intersect on, undo it, and keep redoing it, and that the model has at least a 10% chance of hanging. If anyone has such a model, send it to us and tell us how to reproduce the hang. We also need your Rhino info so we can try matching the hardware you are running on. CPU speed may play a factor in this.
@bigjimslade I see a couple of things in your reports that complicate this request. You are running 10.10.5, a three year old version of macOS. Our development and debugging software requires 10.13, and thatās where we must be testing this. Youāll need to upgrade to 10.13 to confirm that this problem still exists on 10.13. Second, you are running Avast on your eight year old Mac. Macworld says that Avast slows down your computer considerably. This may be contributing to your Intersect problem. We wonāt be installing Avast on our computers, so youāll need to disable Avast and confirm that you are still getting hangs in the Intersect command.
Avast has never found anything so maybe I will get rid of it.
Iād like to upgrade that computer but Apple no longer makes 17" notebooks. Itās worth more now than when I bought it.
I suspect it is a timing issue. I thought I had a reproducible example a few days ago. I got it to lock up 3 times in a row doing the same thing right after loading BUT then it started working.