Bug in latest (Mac-) build: Class not found

dripple

  • Posts: 748
Happens after opening a game (and closing it later) or when I try to open a scene (but doesn't open any window)
Code: [Select]
Unexpected problem on thread AWT-EventQueue-0: stencyl/sw/editors/snippet/designer/dropdown/JavaConverter
java.lang.NoClassDefFoundError: stencyl/sw/editors/snippet/designer/dropdown/JavaConverter
at ext.Main.onGameClosed(Main.java:256)
at stencyl.sw.actions.Actions.gameClosed(Actions.java:692)
at stencyl.sw.app.App.closeGame(App.java:2852)
at stencyl.sw.app.callbacks.GameClosedCallback.callWhenDone(GameClosedCallback.java:15)
at stencyl.sw.app.App$2.choseNo(App.java:540)
at stencyl.sw.util.UI$YesNoCancelDialog.<init>(UI.java:179)
at stencyl.sw.app.App$2.<init>(App.java:530)
at stencyl.sw.app.App.actionPerformed(App.java:524)
at stencyl.sw.actions.ActionManager.actionPerformed(ActionManager.java:65)
at stencyl.sw.actions.SAction.actionPerformed(SAction.java:121)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
at com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:95)
at java.awt.MenuItem.processActionEvent(MenuItem.java:650)
at java.awt.MenuItem.processEvent(MenuItem.java:609)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:343)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:331)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:720)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:690)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: stencyl.sw.editors.snippet.designer.dropdown.JavaConverter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 38 more
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

captaincomic

  • *
  • Posts: 6108
Oh, that's again a toolset extension tripping over a change I made. The change was purely costmetical, so I'll revert it for now (reverted in b8044).

« Last Edit: December 28, 2014, 09:17:32 am by captaincomic »

dripple

  • Posts: 748
Was this bug special to my current setup? I think, I will deactivate any extension now and purely rely on the main toolset.
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

captaincomic

  • *
  • Posts: 6108
It would have affected anybody with the dialog extension (and possibly other toolset extensions). But it's reverted already, so there's no need to disable them.

dripple

  • Posts: 748
Thanks for fixing it, Captain

I got another random Exception with the build, but I haven't copied it as it happened only twice. Will create a new post if it happens again. In the meantime, I will throw away all extensions to make sure that at least Stencyl runs stable.
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

Justin

  • *
  • Posts: 4357
It looks like you're using an old version of the extension, too. It's a good idea to keep extensions up to date along with Stencyl if you wish to keep using them.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 8am and midnight Japan time. (GMT+9)

dripple

  • Posts: 748
It's a good idea to keep extensions up to date along with Stencyl if you wish to keep using them.
You're right, Justin. But on the other hand, I don't want to search the forum for updates for every single extension after I downloaded a new version of Stencyl. I am really tired to get my toolbox fixed with every update of Stencyl.

I do not use Stencyl for production, but for now I keep it like this: if something is not supported by Stencyl, it simply doesn't exist. Simple as that.

Don't get me wrong: I really appreciate your (brillant!) work! But this silly stupid bugs like this are in summary really annoying.
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

Justin

  • *
  • Posts: 4357
No problem. I totally understand that. And it reinforces something I've been thinking for a while now. Extension really need to be able to update from within Stencyl at no expense to the user.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 8am and midnight Japan time. (GMT+9)

dripple

  • Posts: 748
Grails (a Java/Groovy based web framework) does a pretty good job with a centralized repository for plugins, maintained by framework provider. With every start of my web application in dev mode, I get a warning that an updated plugin does exist. I choose to upgrade or not.

But this only helps with existing updates.  The problem with the user contributed content is that a lot of them solve a problem halfway, a 0.8 version is released and then the developer stops maintaining them because they run out of time, change school, start their exams or simply do not need the functioniality any longer. It's a pitty that so much stuff isn't completed - just think about the Spline-extension!

Another topic then is the quality / responsibility. Who is responsible for a change? The toolbox developer changes something, a extension breaks and the whole application stops working. The user usually can't help himself. If the extension was developed by a free user, he even has no change to check his extension against a newer build!
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper

captaincomic

  • *
  • Posts: 6108
Engine extensions don't suffer much in that regard. The only ones that need constant support are the ones who rely on third-party APIs. And I think it's a deliberate decision by Stencyl not to officially take responsibility for keeping up with non-crucial third-party stuff, because we already have enough to do with Apple, Google, OpenFL and our own toolset.

Toolset extension are a bit different. Especially the ones developed by Stencyl devs, because they access Stencyl code that is not publicly visible, which is changing fast, so they can break more easily. One way to deal with compatibility here might be to integrate them into Stencyl. I'm thinking for example Data Structures and Dialog would make a good addition anyway. Or do you have other plans, Justin?

Justin

  • *
  • Posts: 4357
I'm not sure. I desperately want to build up a better environment for people to build toolset extensions, and integrating them with Stencyl would feel a little bit like throwing in the towel in that regard. But anything that would ease the burden on our users would be worth it, I suppose.

I'm on the fence about dialog, but a number of users have suggested that it be built in, so perhaps that's a good idea.

If we were to integrate the Data Structures extension, I think we could use that as a replacement for Game Attributes with a bit of tweaking.

In addition to those two, I was planning on integrating the Extras Manager at some point too.

For Live Support: Join our discord server and ping me @justin.
I'm most often available between 8am and midnight Japan time. (GMT+9)

dripple

  • Posts: 748
I do not use the Dialog Extension, but I like it. It's a huge piece of good work, clever done and a really usefull extension.

The Data Structures do extend something where Stencyl lags features: data handling. Not everyone wants to deal with Haxe inside their code, so I would really like to see it inside Stencyl (including some persisitence functioniality)
Sure, my games won't get better with all the new features of Stencyl.
But I do have more fun creating bad ones.


MayazCastle Keeper