Have I broken Poser (before I commit to re-installation)?

  • Before I commit to reinstalling Poser Pro on macOS Sierra 10.12.6, or even report a bug (since I've probably made enough changes to the bundled Python to cause a problem), I thought I'd ask if others have seen similar problems.

    I was adapting a prop (ParrotDolphin's Wide Belt) to fit a new figure shape, using a deformer, as I've been doing for years. At the point of saving the belt, with spawned morph and attached deformer to the library, Poser hung. It seemed to be using 60% of one of my 8 CPU cores, and there was an associated kernel task using 40% of another (or equivalent, distributed over multiple cores - the numbers are just what my top processes display was showing, however that's calculated). There was no was to restore Poser's responsiveness (perpetually spinning beach ball), short of force quitting, so I killed it.

    Unfortunately, as usual, I'd been working in the default scene, which doesn't auto-save (another feature which isn't quite what it's advertised to be, since the save will only happen (as far as I can tell) when the system's been idle for a threshold time as it virtually never is when I've been working on a project). I was at the point of trying to save the state of the deformer which spawned the morph, so all that work was lost, requiring me to start again.

    After the third hang of Poser at the same point, I'm starting to get suspicious. Was the fact that I had a comma in the name I was saving to the library the problem? No. Poser still hung without a comma in the name. A fresh scene with a single primitive prop loaded from and saved back to the library without a problem. It seemed to be just the deformer attached to the prop.

    After a reboot (and half a day detour to update my BootCamp Windows 10 to the 1803 feature pack), I came back to macOS Poser to find that Poser would crash instead of hang at the same circumstance of saving a prop with deformer to the library. At least now I have a crash log to report on, but I don't remember ever having Poser hang or crash in this circumstance before, I've done it so many times. I wonder what's changed.

    Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
    Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000560
    Exception Note:        EXC_CORPSE_NOTIFY
    Termination Signal:    Segmentation fault: 11
    Termination Reason:    Namespace SIGNAL, Code 0xb
    Terminating Process:   exc handler [0]
    VM Regions Near 0x560:
        __TEXT                 000000010ca5b000-000000010f607000 [ 43.7M] r-x/rwx SM=COW  /Applications/Poser 11/Poser.app/Contents/MacOS/Poser
    Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
    0   com.SmithMicro.Poser          	0x000000010cb341f7 PEActor3D::IncludeInSelection(unsigned char) + 7
    1   com.SmithMicro.Poser          	0x000000010cc0c69c IncludeAttachedDeformers(PEActor3D*, unsigned char) + 140
    2   com.SmithMicro.Poser          	0x000000010cc0cc04 PEProp::WritePropSet(char const*, char const*, char const*, unsigned int, unsigned char, unsigned char, unsigned char) + 1140
    3   com.SmithMicro.Poser          	0x000000010cee8129 CLibraries::LibraryAddCmd(int, PELibraryCmdOptions*, BPath const&, bool, BPath*) + 7305
    4   com.SmithMicro.Poser          	0x000000010cfaa9ec wxPoserApp::OnSaveLibraryItem(wxCommandEvent&) + 188
    5   com.SmithMicro.Poser          	0x000000010cfa1db4 wxPoserApp::OnLibraryAction(wxCommandEvent&) + 164
    6   libwx_osx_cocoa-	0x00000001125b7f3f wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 399
    7   libwx_osx_cocoa-	0x00000001125b9349 wxEvtHandler::ProcessEventLocally(wxEvent&) + 89
    8   libwx_osx_cocoa-	0x00000001125b9266 wxEvtHandler::ProcessEvent(wxEvent&) + 150
    9   libwx_osx_cocoa-	0x00000001125b8f98 wxEvtHandler::ProcessPendingEvents() + 904
    10  libwx_osx_cocoa-	0x000000011249e4a5 wxAppConsoleBase::ProcessPendingEvents() + 245
    11  libwx_osx_cocoa-	0x000000011258895a 0x112494000 + 1001818
    12  com.apple.CoreFoundation      	0x00007fff850c2de7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    13  com.apple.CoreFoundation      	0x00007fff850c2d57 __CFRunLoopDoObservers + 391
    14  com.apple.CoreFoundation      	0x00007fff850a3b09 __CFRunLoopRun + 873
    15  com.apple.CoreFoundation      	0x00007fff850a3544 CFRunLoopRunSpecific + 420

    I was struck by the reference to "AN_OBSERVER_CALLBACK", since I'd been playing with callbacks recently, but not at all during these particular crashes.

    Anyone else seen anything similar to this? I think I'll just report it anyway, but it's looking awfully like a re-install of Poser is required. D-X