Search results

  1. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    This was triggered simply by executing `timein` in the CLI. It silently prints a debug log, but it can't really notify the user about that because the GUI is stalled.
  2. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    (I wrote a deadlock detector that spits out debug logs.)
  3. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= KoLmafia r27526-M, Linux, Java 17.0.8 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Please note: do not post this log in the KoLmafia thread of KoL's Gameplay-Discussion forum. If you would...
  4. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    I've stared at the code some more, and I think this could only be problematic when timing in across rollover. That's not relevant here (even if it is a real bug, which I'm still not convinced of). I don't see anything special about cheating for the Mickey Mantle card (in the code or otherwise)...
  5. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    This should be reverted as of r27526. Sorry for the breakage. @fronobulax I've started tinkering in https://github.com/kolmafia/kolmafia/pull/1889 if you want to play around there.
  6. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    One instance of deadlock potential: resetDailies (holding userValues) calls Preferences.setString, which eventually dispatches to setObject. If saveSettingsOnSet is true, this calls maybeSaveToFileAfterUpdating() which in turn calls saveToFile, which grabs lock. Meanwhile, reset() will grab...
  7. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    One of the threads is most likely the timein. In Veracity's case, that sounds like it was blocking the Swing event dispatch thread (since it was triggered by clicking on a UI element). ApiRequest.updateStatus(boolean) is a synchronized function. This calls ApiRequest.run(), which delegates to...
  8. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    Well. The usual questions I ask are more pedagogical to figure out what's going on. Java synchronized sections should be reentrant, namely that if a single thread can acquire the same lock multiple times in a call stack. For anyone who reproduced this: was Mafia pegging a full CPU core? That...
  9. H

    Bug - Waiting for Info 1952 Mickey mantle pick in Deck of Every Card crash

    My general rule of thumb is "revert and ask questions later".
  10. H

    Bug Maximizer Bug

    Pretty much the only weirdness I'm able to reproduce is: - The second run is better than the first run. - Maximizer keeps wanting to unequip the mer-kin breastplate. No significant reduction in score from iterated runs :/ Attaching a patch in case it's a useful starting point for someone else.
  11. H

    Bug Maximizer Bug

    Can you provide a full list of your equipped items before/after? In particular, the above CLI output snippets only show 2 accessories moving around.
  12. H

    Feature Proposal: allow Mafia to read/write clan dungeon chat channels

    From ChatSender.java: ChatSender.scriptedMessagesEnabled = recipient == null || recipient.equals("") || recipient.equals("/clan") || recipient.equals("/hobopolis") || recipient.equals("/slimetube") ||...
  13. H

    Bug - Fixed lastFriarsNC pref should be reset at ascension start

    Does it really matter which name we go with, as long as we're consistent? r26878 (the change that introduced the preferences in the first place) specified lastFriars... in QuestManager.java and the corresponding tests, but lastFriar... in defaults.txt and Preferences.java. So we actually never...
  14. H

    Feature Prefs Corruption Part II: timein vs saveToFile

    Blocking writes but not reads is somewhat atypical, especially in the context of ReadWriteLocks (where you generally can have many simultaneous readers but only one writer). It seems reasonable in this context, but sounds like it would need to be handled carefully (regarding performance...
  15. H

    Feature - Implemented Relogging to improve ping

    Ah, looks like you made that change in r27450. I haven't fully decided how I feel regarding cancel on timein, but my gut agrees with MCroft's suggestion to present the Login frame, based purely on the wording in the prompt: buf.append(" Press 'Yes' if you are satisfied with the current...
  16. H

    Feature - Implemented Relogging to improve ping

    I did the same thing, so I support this request. As an alternative, I'd also support printing an error if the value is neither "true" nor "false".
  17. H

    Feature - Implemented Relogging to improve ping

    The actual targets need tuning (if they're even viable at all), since you're going to run into network variability (especially with, say, users on wifi that are close enough to the servers). Or, if you're experiencing bufferbloat (which can add tens of milliseconds even with traffic shaping in...
  18. H

    r27446 - Ping request, manager, and command by @Veracity0 in [

    I do wonder what this is actually measuring. Were there timeouts, or was the server just slow to respond to all requests? (plausibly overload in conjunction with handling requests via fifo...) Some timing observations from curl: - My (ICMP) ping RTT (~20ms) to AWS's us-east-1 (where the servers...
  19. H

    Bug - Fixed ASH record equality

    I am in favor of maintaining the status quo where == and != will fail parsing if there's an irreconcilable type mismatch because coercion between the types is not well-defined. This is generally an error with the script. ASH maps are implemented as TreeMaps, no? And indeed, only immutable...
  20. H

    Bug - Fixed ASH record equality

    Best I can tell, this eventually boils down to Value.compareTo, which resolves this via the fallback return Long.compare(this.contentLong, o.contentLong); As you note, that's not very useful for CompositeValues.
Back
Top