• Bugs
  • Spine requests reactivation

Hello.

We have some activation issues with new launcher. We have got many skeletons in out project that must be exported automatically via Spine command line in our content pipeline (Python/doit). We have running multiple instances of Spine in parallel mode, and that works for few years until latest launcher update.
After update we activated Spine as usual. But now after exporting part of our skeletons launcher requests activation code again and stops our export pipeline.

Related Discussions
...
  • 編集済み

Running multiple instances of Spine should not cause it to forget your activation code. Can you explain more about how you are running Spine?

I have this log. There you can see spine launching command

17:18:02  Spine Launcher 4.0.41
17:18:02  Esoteric Software LLC (C) 2013-2021 | http://esotericsoftware.com/
17:18:02  Windows Server 2012 R2 Standard amd64 6.3
17:18:02  Enter activation code: TaskFailed - taskid:export_ui_animations:crystal\crystal.spine
17:18:02  Command failed: '['Spine.com', '-i', '....\resources\art\animations\ui\crystal\crystal.spine', '-o', '....#ignore#\build\art\animations\ui\crystal', '-e', 'settings/spine_art_animations_ui_to_binary.json']' returned

Maybe it's not because of multithreading. Looks like sometimes it happens in one thread.

UPD: Our working version is 3.8.99 now

Running multiple instances of Spine should not cause Spine to prompt for the activation code. It also shouldn't do so spuriously.

When Spine starts it reads settings/launcher-1.json in the Spine user folder. That file stores the activation code for the computer's Spine installation. If that file is missing or invalid, then Spine will prompt to enter the activation code. Could it be that something is removing or modifying that file?

Looks like running Spine causes attempt of writing to that file. Here's what we've got when marked file as "read only".

12:37:42  Spine Launcher 4.0.41
12:37:42  Esoteric Software LLC (C) 2013-2021 | http://esotericsoftware.com/
12:37:42  Windows Server 2012 R2 Standard amd64 6.3
12:37:42  WARNING: Unable to write launcher settings file: C:\Users\jenkins\Spine\settings\launcher-1.json
12:37:42  [filenotfound] C:\Users\jenkins\Spine\settings\launcher-1.json (Access is denied)

12:37:42     at java.io.FileOutputStream.open0(Native Method)
12:37:42     at java.io.FileOutputStream.open(Unknown Source)
12:37:42     at java.io.FileOutputStream.<init>(Unknown Source)
12:37:42     at java.io.FileOutputStream.<init>(Unknown Source)
12:37:42     at s.EYV.(:250)
12:37:42     at s.EYV.(:189)
12:37:42     at s.gTG.(:224)
12:37:42     at s.DlC.(:57)
12:37:42     at s.Nct.F(:342)
12:37:42     at s.Nct.I(:348)
12:37:42     at s.Nct.I(:213)
12:37:42     at s.FaV.I(:269)
12:37:42     at s.Ifx.(:277)
12:37:42     at s.Ifx.(:162)
12:37:42     at s.Ecp.I(:60)
12:37:42     at s.Ecp.B(:29)
12:37:42     at java.lang.Thread.run(Unknown Source)
12:37:42  Launching: Spine 3.8.99 Enterprise

Running multiple instances may cause trouble, I think.
Maybe multiple attempts of reading this file could solve the problem.

11日 後

It's expected that Spine writes to that file, but that should not invalidate your stored activation code. We'll see about using a lock/wait so multiple Spine processes don't conflict reading/writing the file.


This is fixed in editor 4.0.19! You'll also need to download and reinstall Spine to get the latest launcher (4.0.47).

2年 後
  • 編集済み

I've still have a problem while running multiple instances of spine exporter simultanously.
Here is some testing stand that can demonstrate a problem:

It's not 100% perfect, but if I'm running it for about 100-200 of exports with 10-16 processes at once at 8 core , I'm getting one of the following errors:

java.util.prefs.BackingStoreException: flush(): Backing store not available.
        at java.prefs/java.util.prefs.WindowsPreferences.flush(Unknown Source)
        at java.prefs/java.util.prefs.WindowsPreferences.sync(Unknown Source)
        at OI.D(SourceFile:121)
        at OI.D(SourceFile:85)
        at jp.D(SourceFile:35)
        at com.esotericsoftware.spine.editor.Editor.D(SourceFile:1815)
        at com.esotericsoftware.spine.editor.Editor.main(SourceFile:1776)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at com.esotericsoftware.spine.editor.launcher.Launcher._(_:523)
        at com.esotericsoftware.spine.editor.launcher.Launcher.L(_:383)
        at com.esotericsoftware.spine.editor.launcher.Launcher.<init>(_:173)
        at s.Oml.run(_:880)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
[error] Unable to lock file for reading: C:\Users\<user>\Spine\settings\launcher-1.json
   at s.jHj._(_:50)
   at s.jHj._(_:26)
   at s.pRG._(_:155)
   at s.pRG._(_:80)
   at com.esotericsoftware.spine.launcher.Launcher._(_:111)
   at com.esotericsoftware.spine.launcher.Launcher.S(_:64)
   at com.esotericsoftware.spine.launcher.Launcher.<init>(_:49)
   at s.umY._(_:197)
   <events>

or just
Enter activation code:

After the last one I need to enter activation code again in graphical interface either.

Presented code is not part of my export pipeline, but running Spine export from python through subproces is common part.
This bug appeared in 4.0 version of launcher, and prevents me from update.It's still here in 4.1.10 launcher.

I can confirm the problem actually exists 🙁

We have been waiting for someone to provide a way to reproduce the problem:
EsotericSoftware/spine-editor668

I'll take a look at the files you shared, thanks!

1ヶ月 後

Hi. Wanted to ask if there are some updates by this issue?