Results 1 to 5 of 5

Thread: Debug Log/Stack Dump Opening Hidden City

  1. #1
    Senior Member MCroft's Avatar
    Join Date
    Feb 2009
    Posts
    131

    Default Debug Log/Stack Dump Opening Hidden City

    I think I had this error because I got out of Ronin while using the Dvorak command (great timing, me...), but it could be more general than that.


    [1000] The Hidden Temple
    Encounter: Beginning at the Beginning of Beginning

    > dvorak

    Give me a B!
    Give me an A!
    Give me an N!
    Give me an A!
    Give me an N!
    Give me an A!
    Give me an S!
    What's that spell? BANANAS!

    [1001] The Hidden Temple
    Encounter: No Visible Means of Support
    Refreshing stash contents...
    What's that spell? BANANAS!

    [1002] The Hidden Temple
    Encounter: No Visible Means of Support
    Refreshing stash contents...
    Refreshing stash contents...
    What's that spell? BANANAS!
    What's that spell? BANANAS!

    [1003] The Hidden Temple
    Encounter: No Visible Means of Support

    [1004] The Hidden Temple
    Encounter: No Visible Means of Support
    Unexpected error, debug log printed.
    Unexpected error, debug log printed.
    Refreshing stash contents...
    Refreshing stash contents...
    Stash list retrieved.


    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    KoLmafia v20.7, Mac OS X, Java 13.0.2
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    [...]
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Timestamp: Wed Sep 16 00:16:00 CDT 2020
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


    Unexpected error, debug log printed.
    class java.lang.ClassCastException: java.lang.Long incompatible with java.lang.Integer
    [... see attachment for stack trace...]

    DEBUG_20200916.txt
    Last edited by MCroft; 09-16-2020 at 05:46 AM. Reason: didn't follow instructions. :)

  2. #2
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,506

    Default

    I went through this on Wednesday with DEBUG logging.

    Code:
    // The Hidden Heart of the Hidden Temple
    Requesting: choice.php?pwd&whichchoice=580&option=1
    
    // At Least It's Not Full Of Trash
    [416] The Hidden Temple
    Requesting: choice.php?pwd&whichchoice=123&option=2
    
    // Now What?
    Processing result:  Advs Used: -1
    (choice.php)
    > ash choice_follows_fight() => false
    > ash handling_choice() => true
    
    Requesting: choice.php
    Location = [tiles.php]
    [417] The Hidden Temple
    Requesting: tiles.php
    // Beginning at the Beginning of Beginning
    > ash handling_choice() => false
    
    From Browser: /KoLmafia/specialCommand?cmd=dvorak&pwd
    => start automating
    > dvorak
    Give me a B!
    Requesting: tiles.php?action=jump&whichtile=4
    From Browser: /KoLmafia/specialCommand?cmd=wait&pwd
    Give me an A!
    Requesting: tiles.php?action=jump&whichtile=6
    Give me an N!
    Requesting: tiles.php?action=jump&whichtile=3
    From Browser: /KoLmafia/specialCommand?cmd=wait&pwd
    Give me an A!
    Requesting: tiles.php?action=jump&whichtile=5
    Give me an N!
    Requesting: tiles.php?action=jump&whichtile=7
    From Browser: /KoLmafia/specialCommand?cmd=wait&pwd
    Give me an A!
    Requesting: tiles.php?action=jump&whichtile=6
    Give me an S!
    Requesting: tiles.php?action=jump&whichtile=3
    Location = [choice.php?forceoption=0]
    Requesting: choice.php?forceoption=0
    
    // No Visible Means of Support
    What's that spell? BANANAS!
    Processing result:  Advs Used: -1
    [418] The Hidden Temple
    From Browser: /KoLmafia/specialCommand?cmd=wait&pwd
    From Browser: /KoLmafia/specialCommand?cmd=wait&pwd
    => done automating
    
    > ash handling_choice() => true
    Requesting: choice.php?pwd&whichchoice=125&option=3
    Processing result:  Advs Used: -1
    The main thing I took away from that is that at the time when we notice that an adventure has been spent (and we presumably recognized that you broke Ronin) KoLmafia knows that you are in a choice adventure. I bet the same thing could happen if your Doctor's Bag rings after a fight which cost a turn or while you are getting a beehive via a choice chain. And undoubtedly other places.

    I've never looked at the code which refreshes things when you break Ronin. I rarely do Normal runs. Possibly the only time I've ever broken Ronin in-run was earlier this year when "most kills on the island battlefield" was a PVP mini for Season 50 and I got a Wossname without doing any side quests.

    I'll see what I can figure out.

  3. #3
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,506

    Default

    That was a red herring. We don't do any refreshing when you clear ronin. Perhaps we should do a full "refresh session" or something, but I see no evidence of that.

    Your DEBUG log had three stack traces.

    1) You were "using" something and when trying to remove it from inventory, that ClassCastException happened. That was 14 minutes and 26 seconds before the subsequent exceptions.

    There is nothing I can say about this.

    2 & 3) After getting a response from KoL, we decided to call api.php.
    We looked at the response, and set your familiar.
    We then recalculated your current modifiers.
    We wanted to see if you had a fishin' pole.
    Since you were out of ronin, it decided to look in the clan stash, since you have autoSatisfyWithStash
    Since you had not looked at your stash, it tried to retrieve it
    That failed - redirected - since you were in a choice
    The automation ended up getting a null responseText from choice.php
    Null Pointer Exception

    There are no end of issues here.

    1) Your familiar didn't actually change, so why do all that work when it "set" your familiar to what you already had?
    2) A fishin' pole is a quest item, so is either in your inventory or not; no need to look anywhere else
    3) Admittedly, some items became quest items after (some) clans had them in the stash. Perhaps we should allow you to try to retrieve such?
    4) If you are in a fight or choice, we should not try to retrieve stash
    5) Why did resubmitting the choice adventure result in a null responseText?

    I'm inclined to fix 1 and 4, at least, and try and figure out 5.

  4. #4
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,506

    Default

    Revision 20380 fixes a bunch of this.

    - do not attempt to retrieve stash if you are in a fight or choice.
    - any TransferItemRequest will not submit a request if you are in a fight or choice, Instead, it will throw an appropriate error
    - KoLCharacter.setFamiliar() will do nothing if the familiar already your current familiar.

  5. #5
    Senior Member MCroft's Avatar
    Join Date
    Feb 2009
    Posts
    131

    Default

    Sorry about the red herring. I didn't notice the first error.

    Second things first, I'll be on the lookout for the issue around breaking ronin while in a choice.

    According to the session log, Stack Trace #1 came from this sequence. The most immediate thing I did was healing after Dr. Awkward's office.
    Code:
    [943] Visiting Dr. Awkward's office
    Took choice 872/1: (secret choice)
    choice.php?pwd&whichchoice=872&option=1&photo1=2259&photo2=7264&photo3=7263&photo4=7265
    You lose 266 hit points
    You acquire an item: "2 Love Me, Vol. 2"
    
    use 1 "2 Love Me, Vol. 2"
    
    use 1 "2 Love Me, Vol. 2"
    
    Visiting Mr. Alarm's office
    
    cast 1 Tongue of the Walrus
    You gain 33 hit points
    You lose an effect: Beaten Up
    
    use 8 Doc Galaktik's Ailment Ointment
    You gain 312 hit points
    Unexpected error, debug log printed.
    
    [943] Whitey's Grove
    Encounter: Knight in White Satin

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •