VerifyError in patched WebLogic 12c

ZeroTurnaround Homepage Forums JRebel Support VerifyError in patched WebLogic 12c

This topic contains 10 replies, has 3 voices, and was last updated by  Aleksander 1 month ago.

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #61263

    Heikki
    Participant

    Hi,

    I’m not able to run JRebel (7.0.2 or 6.5.2, legacy nor new version) with WebLogic 12c (12.1.3) with patchset (PSU 23744018). When I add JRebel to managed server start arguments it won’t start. Then there are following error in the logs:

    ####<Jan 18, 2017 1:02:36 PM UTC> <Error> <Deployer> <fcb257d996a3> <NavitasServer> <[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default
    (self-tuning)'> <<WLS Kernel>> <> <> <1484744556173> <BEA-149205> <Failed to initialize the application "com.oracle.webservices.wls.bea-wls9-async-res
    ponse_12.1.3" due to error java.lang.VerifyError: Bad local variable type
    Exception Details:
      Location:
        weblogic/application/utils/annotation/ClassfinderClassInfos.getClassInfoFromSource(Lweblogic/utils/classloaders/Source;)Lweblogic/application/util
    s/annotation/ClassInfoImpl; @148: iload
      Reason:
        Type top (current frame, locals[4]) is not assignable to integer
      Current Frame:
        bci: @148
        flags: { }
        locals: { 'weblogic/application/utils/annotation/ClassfinderClassInfos', 'weblogic/utils/classloaders/Source', 'java/net/URL', top, top, 'weblogic
    /utils/classloaders/Source', null }
        stack: { uninitialized 138, uninitialized 138 }
      Bytecode:
        0x0000000: 0336 042b b802 e9b8 02e6 c100 4d99 002e
        0x0000010: 2bb8 02e9 b802 bfc0 004d 4d2c b602 184e
        0x0000020: 2d01 b802 ce9a 0005 01b0 2db6 0040 1241
        0x0000030: b600 429a 0005 01b0 a700 322b c102 1b99
        0x0000040: 002b 2bb8 02ec b802 e6c1 021d 9900 0604
        0x0000050: 3604 2bc0 021b 3a04 1904 b602 21b6 0222
        0x0000060: 1241 b600 429a 0005 01b0 2bb9 0058 0100
        0x0000070: 4d2c c600 162c b600 59c6 000f 2cb6 0059
        0x0000080: 1241 b600 429a 0005 01b0 bb00 2b59 2b3a
        0x0000090: 0501 3a06 1504 9900 1819 05b8 02ec b802
        0x00000a0: bfc0 021d b902 2501 003a 06a7 000c 1905
        0x00000b0: b900 5a01 003a 0619 062c b700 5bb0 4ebb
        0x00000c0: 0009 59bb 005c 59b7 005d 125e b600 5f2c
        0x00000d0: b600 6012 61b6 005f b600 622d b700 47b8
        0x00000e0: 02c5 c000 2fbf 4e2c b600 6412 65b8 0066
        0x00000f0: 5701 b0
      Exception Handler Table:
        bci [138, 189] => handler: 190
        bci [138, 189] => handler: 230
      Stackmap Table:
        append_frame(@42,Object[#77],Object[#63],Integer)
        same_frame(@56)
        full_frame(@59,{Object[#12],Object[#57],Top,Top,Integer},{})
        same_frame(@82)
        chop_frame(@106,3)
        append_frame(@136,Object[#267])
        same_frame(@138)
        full_frame(@174,{Object[#12],Object[#57],Object[#267],Top,Top,Object[#57],Null},{Uninitialized[#138],Uninitialized[#138]})
        full_frame(@183,{Object[#12],Object[#57],Object[#267],Top,Top,Object[#57],Object[#552]},{Uninitialized[#138],Uninitialized[#138]})
        full_frame(@190,{Object[#12],Object[#57],Object[#267]},{Object[#69]})
        same_locals_1_stack_item_frame(@230,Object[#99])
    
    java.lang.VerifyError: Bad local variable type
    Exception Details:
      Location:
        weblogic/application/utils/annotation/ClassfinderClassInfos.getClassInfoFromSource(Lweblogic/utils/classloaders/Source;)Lweblogic/application/util
    s/annotation/ClassInfoImpl; @148: iload
      Reason:
        Type top (current frame, locals[4]) is not assignable to integer
      Current Frame:
        bci: @148
        flags: { }
        locals: { 'weblogic/application/utils/annotation/ClassfinderClassInfos', 'weblogic/utils/classloaders/Source', 'java/net/URL', top, top, 'weblogic
    /utils/classloaders/Source', null }
        stack: { uninitialized 138, uninitialized 138 }
      Bytecode:
        0x0000000: 0336 042b b802 e9b8 02e6 c100 4d99 002e
        0x0000010: 2bb8 02e9 b802 bfc0 004d 4d2c b602 184e
        0x0000020: 2d01 b802 ce9a 0005 01b0 2db6 0040 1241
        0x0000030: b600 429a 0005 01b0 a700 322b c102 1b99
        0x0000040: 002b 2bb8 02ec b802 e6c1 021d 9900 0604
        0x0000050: 3604 2bc0 021b 3a04 1904 b602 21b6 0222
        0x0000060: 1241 b600 429a 0005 01b0 2bb9 0058 0100
        0x0000070: 4d2c c600 162c b600 59c6 000f 2cb6 0059
        0x0000080: 1241 b600 429a 0005 01b0 bb00 2b59 2b3a
        0x0000090: 0501 3a06 1504 9900 1819 05b8 02ec b802
        0x00000a0: bfc0 021d b902 2501 003a 06a7 000c 1905
        0x00000b0: b900 5a01 003a 0619 062c b700 5bb0 4ebb
        0x00000c0: 0009 59bb 005c 59b7 005d 125e b600 5f2c
        0x00000d0: b600 6012 61b6 005f b600 622d b700 47b8
        0x00000e0: 02c5 c000 2fbf 4e2c b600 6412 65b8 0066
        0x00000f0: 5701 b0
      Exception Handler Table:
        bci [138, 189] => handler: 190
        bci [138, 189] => handler: 230
      Stackmap Table:
        append_frame(@42,Object[#77],Object[#63],Integer)
        same_frame(@56)
        full_frame(@59,{Object[#12],Object[#57],Top,Top,Integer},{})
        same_frame(@82)
        chop_frame(@106,3)
        append_frame(@136,Object[#267])
        same_frame(@138)
        full_frame(@174,{Object[#12],Object[#57],Object[#267],Top,Top,Object[#57],Null},{Uninitialized[#138],Uninitialized[#138]})
        full_frame(@183,{Object[#12],Object[#57],Object[#267],Top,Top,Object[#57],Object[#552]},{Uninitialized[#138],Uninitialized[#138]})
        full_frame(@190,{Object[#12],Object[#57],Object[#267]},{Object[#69]})
        same_locals_1_stack_item_frame(@230,Object[#99])
    :
            at weblogic.servlet.internal.War.initializeClassInfosIfNecessary(War.java:446)
            at weblogic.servlet.internal.War.getAnnotatedClasses(War.java:376)
            at weblogic.servlet.utils.WarUtils.isJsfApplication(WarUtils.java:260)
            at weblogic.servlet.internal.WebAppModule.detectJsfApplication(WebAppModule.java:277)
            at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:262)
            at weblogic.servlet.internal.WebAppModule.init(WebAppModule.java:682)
            at weblogic.application.internal.flow.ScopedModuleDriver.init(ScopedModuleDriver.java:162)
            at weblogic.application.internal.ExtensibleModuleWrapper.init(ExtensibleModuleWrapper.java:98)
            at weblogic.application.internal.flow.ModuleListenerInvoker.init(ModuleListenerInvoker.java:84)
            at weblogic.application.internal.flow.InitModulesFlow.initModule(InitModulesFlow.java:288)
            at weblogic.application.internal.flow.InitModulesFlow.initModules(InitModulesFlow.java:301)
            at weblogic.application.internal.flow.InitModulesFlow.prepare(InitModulesFlow.java:329)
            at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
            at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)
            at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:48)
            at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
            at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
            at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:155)
            at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:39)
            at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
            at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
            at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
            at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
            at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
            at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:211)
            at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:119)
            at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:78)
            at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.__invoke(DelegatingMethodAccessorImpl.java:43)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1017)
            at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:388)
            at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:430)
            at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456)
            at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225)
            at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82)
            at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488)
            at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98)
            at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:606)
            at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77)
            at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:231)
            at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:254)
            at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413)
            at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:456)
            at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:225)
            at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:82)
            at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2488)
            at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:98)
            at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)
            at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162)
            at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

    Without patchset server starts normally. Is there anything what I can do to prevent this error happening? We are using patched WebLogic so it is not option to develop against unpatched version.

    I noticed that some other posts there were suggestions to use -noverify flag but that just cause another error (and I think it is just bad workaround).

    Thanks,
    Heikki

    #61289

    Joonas Vali
    Rebel Staff

    Hi,

    There probably isn’t anything you can do to get around it, but we should get it fixed if it’s publicly available patch.

    Can you provide a link to the patch and instructions how to patch so we can reproduce it?

    #61344

    Heikki
    Participant

    Hi,

    Sorry for late response. Anyway, I checked that patch isn’t publicly available :( You need to have subscription. I need to check can I provide patch to you or is it illegal somehow… I’ll be in touch. I will get back to you.

    #61755

    Heikki
    Participant

    Hi,

    Finally I got answer from Oracle. We can’t provide patch to you because you don’t have contract between Oracle. Is it possible that could make one and then fix JRebel? It would be nice that we could develop against patched version, instead of non-patched version.

    #61769

    Joonas Vali
    Rebel Staff

    Hi,
    We will discuss this. Thanks for the info.

    #61789

    Joonas Vali
    Rebel Staff

    Hi,

    To speed things up please download JRebel nightly build from https://zeroturnaround.com/software/jrebel/download/nightly-build/

    enable TRACE logging: https://manuals.zeroturnaround.com/jrebel/misc/sendinglogs.html

    Run the WebLogic with JRebel, wait for the VerifyError and send the generated jrebel.log to support@zeroturnaround.com (Refer to this topic).

    #61816

    Joonas Vali
    Rebel Staff

    Hi,

    Hopefully fixed, please try whether nightly build works for you:
    https://zeroturnaround.com/software/jrebel/download/nightly-build/

    • This reply was modified 1 month, 3 weeks ago by  Joonas Vali.
    #61828

    Heikki
    Participant

    Hi,

    Ok, now I can at least start servers without exceptions. Didn’t have time to actual test are classes reloaded correctly. Unfortunately Oracle has released new patch set update (PSU 24904852 previous were you did the fix was PSU 23744018) and I have same problem again. Of course different output but servers won’t start. We have to install new patch set because there were bug in previous patch set. I will send a new trace log to support and hopefully you can fix that also.

    Oracle is releasing these patch sets four times in a year. So it would be nice if ZeroTurnaround could make contract with Oracle (concerning these patches) that we don’t need to have this kind of conversation every four months.

    Thanks anyway,
    Heikki

    #61829

    Joonas Vali
    Rebel Staff

    Hi,

    Please try nightly again.

    #61850

    Heikki
    Participant

    Hi,

    New nightly build seems to work (at least I can start servers without exception). Have to try reloading classes later. Thanks.

    -Heikki

    #62011

    Aleksander
    Member

    We were experiencing similar issues with 24904852 patchset. Fortunately on nightly build – I believe it is 7.0.7-SNAPSHOT (201703171428) – we are not experiencing those issues anymore.

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.