java.lang.StackOverflowError after java upgrade from 1.8.0_151 to 1.8.0_161

ZeroTurnaround Homepage Forums JRebel Support java.lang.StackOverflowError after java upgrade from 1.8.0_151 to 1.8.0_161

This topic contains 4 replies, has 2 voices, and was last updated by  Colton Sablinsky 2 weeks, 1 day ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #66975

    akirsch
    Member

    I’ve upgraded my JDK from Version 1.8.0_151 to 1.8.0_161. Now I got an java.lang.StackOverflowError when I try to start my wildfly appserver with jrebel.

    The output is:

    JAVA_OPTS already set in environment; overriding default settings with values: -agentpath:/home/kirsch/jrebel/lib/libjrebel64.so -Drebel.log=trace
    =========================================================================

    JBoss Bootstrap Environment

    JBOSS_HOME: /home/kirsch/wildfly

    JAVA: /usr/lib/jvm/java-8-oracle/bin/java

    JAVA_OPTS: -server -agentpath:/home/kirsch/jrebel/lib/libjrebel64.so -Drebel.log=trace -Xms64m -Xmx4096m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n -Dorg.jboss.as.logging.per-deployment=false -DnonNCHAREncoding -Ddoxis4.csb.disable.performance=true -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Dde.ser.doxis4.client.private.bypassClientVersionCheck=true -ea -Dde.ser.doxis4.storage.copy.writeSizeInKB=64 -Dde.ser.doxis4.storage.copy.buffersizeInKB=256 -Dcom.ser.sedna.kernel.hashCompositionDumpDirectory=/tmp

    =========================================================================

    2018-01-25 18:49:50 JRebel: Starting logging to file: /home/kirsch/.jrebel/jrebel.log
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: #############################################################
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: JRebel Agent 7.1.5 (201801171200)
    2018-01-25 18:49:50 JRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: Over the last 30 days JRebel prevented
    2018-01-25 18:49:50 JRebel: at least 40 redeploys/restarts saving you about 1.6 hours.
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: Over the last 365 days JRebel prevented
    2018-01-25 18:49:50 JRebel: at least 509 redeploys/restarts saving you about 20.6 hours.
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: Licensed to Alexander Kirsch (SER Software Technology GmbH)
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: License type: dedicated
    2018-01-25 18:49:50 JRebel: Valid from: June 1, 2017
    2018-01-25 18:49:50 JRebel: Valid until: June 3, 2018
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel:
    2018-01-25 18:49:50 JRebel: #############################################################
    2018-01-25 18:49:50 JRebel:
    Listening for transport dt_socket at address: 8787
    Exception in thread “rebel-cache-writer” java.lang.StackOverflowError
    Exception in thread “process reaper” java.lang.StackOverflowError
    Exception in thread “process reaper” java.lang.StackOverflowError
    Exception in thread “main” java.lang.StackOverflowError
    Exception in thread “rebel-fsnotify-OutputReader” java.lang.StackOverflowError
    Exception in thread “rebel-fsnotify-OutputReader” java.lang.StackOverflowError
    Exception in thread “Thread-2” java.lang.StackOverflowError

    I’ve have enabled jrebel log trace level trace. In the jrebel.log I can see this:

    2018-01-25 18:49:52.354 ERROR [11] [ContainerIdentifier] Unexpected error when trying to identify container. It’s not critical, but please report it to the support.: java.lang.RuntimeException: Unexpected exception detected during rule set processing
    at org.zeroturnaround.jrebel.stats.id.container.ServerRuleSet.identifyContainer(ServerRuleSet.java:38)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier.identifyContainer(ContainerIdentifier.java:161)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier.identifyNormalContainer(ContainerIdentifier.java:133)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier.identifyContainer(ContainerIdentifier.java:108)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier.identify(ContainerIdentifier.java:88)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier.access$000(ContainerIdentifier.java:35)
    at org.zeroturnaround.jrebel.stats.id.container.ContainerIdentifier$1.run(ContainerIdentifier.java:69)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.StackOverflowError

    2018-01-25 18:49:52.354 INFO [11] [ContainerIdentifier] Container identification took 329 millis
    2018-01-25 18:49:52.391 INFO [12] [DiskInfo] mount:
    java.lang.StackOverflowError

    #66976

    Colton Sablinsky
    Moderator

    Hello,

    This looks very similar to a known issue that is connected to FlightRecorder and debugging. Luckily this has already been fixed in the latest nightly build of JRebel, you can find instructions on how to switch to the nightly build here.

    Let me know if you continue to run into any issues with the nightly build.

    #66977

    akirsch
    Member

    Hello,

    I’ve disabled the java properties for the JMC Flight Recorder and that solved the problem for me. I can life with that workaround until the next official JRebel release. JRebel is much more important than JMC ;-).

    Kind regards and thank you for your fast help!

    Alexander

    #66980

    Colton Sablinsky
    Moderator

    It’s great to hear that worked, it looks like the next release is currently scheduled for early February so you won’t have to be without JMC for too long. I’ll update this thread when that release happens as well.

    #67009

    Colton Sablinsky
    Moderator

    Hello,

    JRebel 7.1.6 was released earlier today, this update should resolve the issue that was happening when using JRebel with FlightRecorder in debug mode.

    Let me know if you continue running into any issues.

    Colton

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

You must be logged in to reply to this topic.