Steps to reproduce the crash: just create a skin placeholder under a bone, then try to delete it. (Or you can open the attachment project, and try to delete the head-skin node).
Spine Launcher 3.0.13
Mac OS X x86_64 10.11.4
Java 1.7.0_51 Esoteric Software
64-bit Server VM
Up to date: Spine 3.1.06
Spine 3.1.06 Professional, JGLFW
Licensed to: *****, *****
ATI Technologies Inc.
AMD Radeon HD 6490M OpenGL Engine
2.1 ATI-1.42.6
Using customized hotkeys.
Started.
java.nio.file.AccessDeniedException: /.DocumentRevisions-V100
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:406)
at java.nio.file.Files.newDirectoryStream(Files.java:411)
at sun.nio.fs.PollingWatchService$PollingWatchKey.<init>(PollingWatchService.java:258)
at sun.nio.fs.PollingWatchService.doPrivilegedRegister(PollingWatchService.java:167)
at sun.nio.fs.PollingWatchService.access$000(PollingWatchService.java:45)
at sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:130)
at sun.nio.fs.PollingWatchService$2.run(PollingWatchService.java:127)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.fs.PollingWatchService.register(PollingWatchService.java:126)
at sun.nio.fs.UnixPath.register(UnixPath.java:897)
at sun.nio.fs.AbstractPath.register(AbstractPath.java:104)
at DE.a(SourceFile:163)
at DE.a(SourceFile:179)
at Dy.run(SourceFile:111)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Sorry, an unexpected error has occurred:
java.lang.NullPointerException
at zR.a(SourceFile:699)
at zR.a(SourceFile:699)
at Hu.a(SourceFile:142)
at eS.a(SourceFile:91)
at fZ.a(SourceFile:28)
at ek.a(SourceFile:181)
at ek.a(SourceFile:152)
at com.badlogic.gdx.scenes.scene2d.ui.Button.b(SourceFile:123)
at eM.b(SourceFile:91)
at gb.b(SourceFile:89)
at eq.a(SourceFile:58)
at es.b(SourceFile:353)
at p.b(SourceFile:96)
at aq.b(SourceFile:91)
at o.a(SourceFile:81)
at ap.e(SourceFile:137)
at ac.e(SourceFile:213)
at mK.e(SourceFile:92)
at ah.run(SourceFile:189)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)