1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Resolved Spectre crash, Scripts won't execute, 300MB log file.

Discussion in 'Developer Support' started by DevTucker, May 27, 2016.

  1. DevTucker

    Joined:
    May 1, 2016
    Messages:
    42
    Likes Received:
    7
    Well, about five minutes ago Spectre started acting quite strange. When I tried to start scripts bots I would get Java heap memory errors. The first time or two it would point to some classes named like.. "IllILILILLLILILI" (Not exact) but after the first two times it didn't even provide a stack trace. Just "Java heap error"

    I have almost 5 million lines in my log, all inputted over the last few minutes spamming this error:

    Code (Text):
    1. java.lang.ArrayIndexOutOfBoundsException: -1
    2.     at java.util.ArrayList.elementData(ArrayList.java:418)
    3.     at java.util.ArrayList.get(ArrayList.java:431)
    4.     at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)
    5.     at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306)
    6.     at javafx.scene.Parent.updateCachedBounds(Parent.java:1591)
    7.     at javafx.scene.Parent.recomputeBounds(Parent.java:1535)
    8.     at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)
    9.     at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
    10.     at javafx.scene.Node.updateGeomBounds(Node.java:3577)
    11.     at javafx.scene.Node.getGeomBounds(Node.java:3530)
    12.     at javafx.scene.Node.getLocalBounds(Node.java:3478)
    13.     at javafx.scene.Node.updateTxBounds(Node.java:3641)
    14.     at javafx.scene.Node.getTransformedBounds(Node.java:3424)
    15.     at javafx.scene.Node.updateBounds(Node.java:559)
    16.     at javafx.scene.Parent.updateBounds(Parent.java:1719)
    17.     at javafx.scene.Parent.updateBounds(Parent.java:1717)
    18.     at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2404)
    19.     at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355)
    20.     at java.security.AccessController.doPrivileged(Native Method)
    21.     at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354)
    22.     at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381)
    23.     at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510)
    24.     at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
    25.     at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)
    26.     at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    27.     at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    28.     at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    29.     at java.lang.Thread.run(Thread.java:745)

    I've carefully observed all of the class names here and none of them have anything to do with my local scripts bots. (Running in -SDK mode). I haven't modified my scripts bots any to make something like this occur. I simply was restarting a script bot because I reached my 3-hour test period.

    It may or may not be a bug related to spectre directly, but I figured I'd post it here anyway.
    --- Double Post Merged, May 27, 2016, Original Post Date: May 27, 2016 ---
    Found the stack-trace of the heap error in my logs:

    Code (Text):
    1. java.lang.OutOfMemoryError: Java heap space
    2.     at java.util.HashMap.newNode(HashMap.java:1742)
    3.     at java.util.HashMap.putVal(HashMap.java:630)
    4.     at java.util.HashMap.put(HashMap.java:611)
    5.     at nul.iiIiiIiiIiiI.try(wob:31)
    6.     at nul.iiiiiIiiiIiI.try(dtb:206)
    7.     at nul.iiiiiIiiiIiI.try(dtb:61)
    8.     at nul.IIIiIIiIiIii.try(dtb:11)
    9.     at nul.IIIiIIiiIiiI.try(wwb:263)
    10.     at nul.iiIiIIiIIIiI.try(wnb:75)
    11.     at nul.IIIiIIiiIiiI.try(wwb:30)
    12.     at nul.iiIIIIiiiiII.try(nwb:92)
    13.     at nul.IiIiIIiiIIii.try(uqb:92)
    14.     at com.runemate.game.api.hybrid.entities.definitions.ItemDefinition.get(pzb:64)
    15.     at nul.IIIiIIiiIIIi.getContainedItem(frb:153)
    16.     at com.runemate.game.api.hybrid.queries.InterfaceComponentQueryBuilder.accepts(ogc:10245)
    17.     at com.runemate.game.api.hybrid.queries.InterfaceComponentQueryBuilder.accepts(ogc:1)
    18.     at com.runemate.game.api.hybrid.queries.QueryBuilder.results(crb:15)
    19.     at com.runemate.game.api.hybrid.local.hud.interfaces.Equipment$Slot.getComponent(nyb:5)
    20.     at com.devtucker.bots.spectrefarmer.SpectreFarmerScript.onStart(SpectreFarmerScript.java:54)
    21.     at com.devtucker.framework.rewrite.AdvancedScript.onStart(AdvancedScript.java:45)
    22.     at com.runemate.game.api.script.framework.AbstractScript.start(upb:34)
    23.     at nul.IiIIIIiIIiii.run(vic:263)
    --- Double Post Merged, May 27, 2016 ---
    Since the error indicates QueryBuilder was involved, here is my QueryBuilder code:

    Code (Text):
    1. Equipment.newQuery().ids(FIRE_STAFF_ID).results().first()
     
  2. Best Answer:
    Post #2 by Arbiter, May 28, 2016
  3. Arbiter

    Arbiter Mod Automation

    Joined:
    Jul 26, 2013
    Messages:
    2,937
    Likes Received:
    1,266
    Are you using JavaFX in your local bot? If so, the issue is likely in your bot. When you dispatch a Runnable to the JFX Platform using something like Platform.runLater you lose the stack traceability, thus your own classes not being included in the top stack trace. You should investigate your UI code thoroughly. The java heap space exception is not an issue. The specific stack that encounters that exception is not necessarily the problem; it just means that it couldn't do what it wanted to do because it ran out of RAM when it tried to allocate something it needed. Fixing the first issue will likely fix the latter.
     
    DevTucker likes this.
  4. DevTucker

    Joined:
    May 1, 2016
    Messages:
    42
    Likes Received:
    7
    Thanks for the information on JavaFX loosing the stack, I had no idea that happened. I'm not sure what the problem was, but I would assume that some bin files got corrupted, as once I ran a clean+rebuild on the project everything seemed to fix itself. Thanks for the response.
     

Share This Page

Loading...