Insubstantial / insubstantial

Swing look-and-feel library and assorted widgets
193 stars 58 forks source link

Trident: ClassCastException in StateTransitionMultiTracker #146

Open IvanRF opened 8 years ago

IvanRF commented 8 years ago

I had this exception. It is not common, but it happens.

java.lang.ClassCastException: java.util.HashMap$Node cannot be cast to java.util.HashMap$TreeNode
    at java.util.HashMap$TreeNode.removeTreeNode(HashMap.java:2021)
    at java.util.HashMap.removeNode(HashMap.java:839)
    at java.util.HashMap.remove(HashMap.java:798)
    at org.pushingpixels.substance.internal.animation.StateTransitionMultiTracker$1.onFocusStateTransition(StateTransitionMultiTracker.java:91)
    at org.pushingpixels.substance.internal.animation.StateTransitionTracker.fireFocusStateTransitionEvent(StateTransitionTracker.java:723)
    at org.pushingpixels.substance.internal.animation.StateTransitionTracker.access$000(StateTransitionTracker.java:55)
    at org.pushingpixels.substance.internal.animation.StateTransitionTracker$2.onTimelineStateChanged(StateTransitionTracker.java:216)
    at org.pushingpixels.trident.Timeline$Chain.onTimelineStateChanged(Timeline.java:214)
    at org.pushingpixels.trident.TimelineEngine$1.run(TimelineEngine.java:591)
    at org.pushingpixels.trident.TimelineEngine$TimelineCallbackThread.run(TimelineEngine.java:242)
Stephane-D commented 8 years ago

Not sure I already got this one. In which situation you obtain it ?

IvanRF commented 8 years ago

It was thrown when I started my application. But I only seen it two times (from hundreds of executions). Also, I start seen it with Java 8.

Stephane-D commented 8 years ago

Ok, i have only very limited feedback from java 8 but I guess we will experience it at some point. Did you find a workaround ?

IvanRF commented 8 years ago

I didn't dig too much on this issue since the UI showed no drawbacks. I posted it here in case someone else already fixed it.

Stephane-D commented 8 years ago

oh ok, well sorry i didn't for this one ;)

IvanRF commented 8 years ago

:) you don't need to be sorry. It is a pity this project was abandoned. I think many users could be providing PRs.

Stephane-D commented 8 years ago

Yeah definitely... I first did PR but realized the project wasn't maintained anymore, and i did some very specific patch for our needs so i preferred to clone the project. Maybe i should have made my changes more publicly available.

enwired commented 8 years ago

I use Substance in a Java 8 project and have not seen any errors due to Java 8. My project switched to Java 8 about 6 months ago and it has been a very easy transition.

I also wish someone were maintaining this project. There are several pull requests that should probably be integrated. But, like Stephane, I also made my own clone to fix the bugs that were important to me.

IvanRF commented 8 years ago

I've been using Substance since 2009. I helped and sent issues to Kirill back then. I moved to Insubstantial last year and I sent a query to Danno and he replied fast. Although he has no idea what I was asking he said: "It's been over three years since I've even looked at that code".

I think I will be using this project for more years. What about you guys? is it temporal or not?

Stephane-D commented 8 years ago

We have been using it since 2009 too for an Open Source application and we plan to use it for some extra years as well... Now we fixed the most annoying bugs i believe we don't take many risks ;) The main problem for us is that substance is heavy and when you have a complex GUI it really impacts the reactivity feeling, but ok, it looks really nice :)

IvanRF commented 8 years ago

@Stephane-D I would have no issues with just maintaining this project for bug fixes. Definitely, I wouldn't take it alone. There are many projects managed by several users on GitHub. I never pushed libraries to repositories like Maven, do you have experience on that field?

Stephane-D commented 8 years ago

I don't have real experience on maven as well, but we are on the way to improve our processes here about the project and we might mavenize our "Icy Insubstancial" fork at some point :)

IvanRF commented 7 years ago

@Stephane-D good news, Substance is back! http://www.pushing-pixels.org/2017/02/23/releases-2017-h1.html

enwired commented 7 years ago

That is good news! I noticed him working on his GitHub project back in December, but didn't know for sure whether he was planning to make the changes public.

Stephane-D commented 7 years ago

Great news, we would like to switch back to "official" tree if possible ;)