frozen class

asked 2014-05-13 11:22:50 -0700

anonymous user


A plug-in is using notificationService.registerNotificationListener(packetInDispatcher) and it is working. When I replace the plug-in (after some other code modification) on osgi, the 'activator' thread produces a 'frozen class' exception. What to do?

edit retag flag offensive close merge delete


Hi could you provide more information on that? you replace whole JAR file during run of the system?

Tony Tkacik ( 2014-05-14 08:48:15 -0700 )edit

That's right. The plug-in is an OSGI bundle. I don't have problem replacing other OSGI bundle during run. The complaint seems to be specific to the registerNotificationListener. By the way, I modeled the code after the learning-switch in the openflowplugin project.

henry ( 2014-05-14 11:23:38 -0700 )edit

does your jar include a model by any chance? at any rate, care to post the full exception either to or someplace we can take a peek?

Robert Varga ( 2014-05-14 22:36:14 -0700 )edit

Hi, stacktrace might be helpful. Seems that Javassist/MD-SAL has some problem with your JAR file replace and this may be a bug.

Tony Tkacik ( 2014-05-19 03:08:48 -0700 )edit

2014-06-11 05:24:32.567 CEST [pool-2-thread-27] ERROR o.o.c.l.b.i.UncaughtExceptionPolicy - Thread Thread[pool-2-thread-27,5,main] died because of an uncaught exception java.lang.RuntimeException: org.opendaylight.ovsdb.mytest.internal.PacketInDispatcherImpl$$Broker$ListenerInvoker: frozen class (cannot edit) at javassist.ClassPool.checkNotFrozen( ~[na:na] at javassist.ClassPool.makeClass( ~[na:na] at javassist.ClassPool.makeClass( ~[na:na] at org.opendaylight.yangtools.sal.binding.generator.util.JavassistUtils.createClass( ~[na:na] at org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator.generateListenerInvoker( ~[na:na] at org.opendaylight.controller.sal.binding.codegen.impl.RuntimeCodeGenerator$ ~[na:na] at org.opendaylight.controller.sal.binding.codegen.impl.Run

henry ( 2014-06-10 21:06:04 -0700 )edit