[MDSAL-230] Caused by: java.lang.RuntimeException: org.opendaylight.yang.gen...$StreamWriter: frozen class (cannot edit) Created: 07/Feb/17 Updated: 08/May/18 Resolved: 26/Jan/18 |
|
| Status: | Resolved |
| Project: | mdsal |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Michael Vorburger | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Issue Links: |
|
||||||||
| External issue ID: | 7751 | ||||||||
| Description |
|
Josh Hershberg hit this: Caused by: java.lang.RuntimeException: org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.add.group.input.buckets.bucket.action.action.NxActionResubmitRpcAddGroupCase$StreamWriter: frozen class (cannot edit) at javassist.ClassPool.checkNotFrozen(ClassPool.java:617) at javassist.CtClassType.setName(CtClassType.java:338) at javassist.ClassPool.getAndRename(ClassPool.java:408) at org.opendaylight.yangtools.sal.binding.generator.util.JavassistUtils.instantiatePrototype(JavassistUtils.java:127) at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator.generateEmitter0(AbstractStreamWriterGenerator.java:209) at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator.access$300(AbstractStreamWriterGenerator.java:46) at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.generateSerializer(AbstractStreamWriterGenerator.java:136) at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.load(AbstractStreamWriterGenerator.java:124) at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.load(AbstractStreamWriterGenerator.java:102) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) ... 40 more He says it does not happen in "all fresh" and "That's how I fix it.". Only when you have something running and uninstall and install features, or something like that. In javassist apparently "... class is frozen" means "already created via toClass()" Perhaps this is caused by bad caches, maybe in ODL applications like netvirt or genius (not yangtools), which wrongly "hold on" to instances when they should recycle on bundle reloads? Just a hunch. We would need a completely full stack trace, with what's before Caused by: and if any after .. 40 more? |
| Comments |
| Comment by Michael Vorburger [ 07/Feb/17 ] |
| Comment by Peter Kajsa [ 08/Feb/17 ] |
|
I admit that the package name (org.opendaylight.yangtools...) is confusing a little, but whole binding part (i.e. binding generator, binding codecs, java class generation, templates etc.) has been moved from yangtools to mdsal before several releases. Therefore I am moving this bug to mdsal project. |
| Comment by Vratko Polak [ 08/Feb/17 ] |
|
> the package name (org.opendaylight.yangtools...) is confusing a little Does Bugzilla have an open Mdsal Inprovement to use a less confusing package name? |
| Comment by Peter Kajsa [ 08/Feb/17 ] |
|
Yes, it is the |
| Comment by Martin Ciglan [ 24/Apr/17 ] |
|
is this still valid? |
| Comment by Michael Vorburger [ 24/Apr/17 ] |
|
> is this still valid? dunno, Cc: Josh (original internal reporter) are you still seeing this? |
| Comment by Robert Varga [ 26/Jan/18 ] |
|
We need exact steps to reproduce and do not seem to be getting the informatio from the original reporter, closing as invalid. |
| Comment by Michael Vorburger [ 08/May/18 ] |
|
We (aswins not me) can now fairly reliable reproduce this... but instead of re-opening this, let's go to |