Skip to content

Bug Reporting Procedure

JamesDowney edited this page Jun 13, 2022 · 1 revision

I've Encountered a Garbo Bug

That's rough, buddy! I'm very sorry to hear that. Let's get to the bottom of what's going on. There are very broadly two categories of bugs: unintended behavior, and crashes. Let's talk about the first one first.

Unintended behavior is when Garbo is doing something it shouldn't. One thing to keep in mind is that just because Garbo is doing something you don't understand doesn't mean this is unintended or even bad behavior. If you find Garbo doing things in places like noob cave or the haunted kitchen or even the bat hole, this could very well be something cool and good. Take a minute to try to figure out if this is something Garbo is doing on purpose, and whether it should be doing this on purpose.

A good rule of thumb is that if Garbo is visiting places other than Barf Mountain, it should either be fighting a Knob Goblin Embezzler (and be bedecked in Embezzler-related gear), or it should not be spending turns (e.g., doing freeruns or freefights). There are a few exceptions to this--for example, Garbo will occasionally use Maps to Safety Shelter Grimacia Prime in order to farm Dog Hair/Distension pills.

If Garbo is definitely doing something it shouldn't, we can further split that into two several categories: it could be suboptimal vs actively harmful, and it could be a code error or ill-decided logic. For example, if Garbo finds itself burning through all of its freeruns trying to farm stench jelly and then needs to buy LTBs to do more important tasks, that's behavior that's suboptimal (but not particularly destructive), and it's probably behavior that's not particularly well thought-out rather than an issue with the code. That's still an issue and still should be reported, but it may not be something someone gets to right away. On the other hand, if Garbo is repeatedly fighting Crates and spending turns doing so, that's more destructive, and also probably comes from a code error. That's something we'll patch right away.

If Garbo crashes, that is almost always a bad thing. I say "almost always" because there are a few common sources of user error that we can't really avoid. Garbo relies on KoLMafia to tell it the truth, and KoLMafia relies on the user to know the truth. If you play using multiple installs of Mafia, or if you play manually without the relay browser, Mafia will be unable to track the things you do when you play, and it will as a result feed Garbo incorrect information. Ultimately there's not much we can do about that! The best piece of advice I can give is to not do that.

If Garbo does crash, we'll need information to hunt down what's happening. If Mafia prints a debug log (which will appear in the directory mafia is installed to), that's often helpful. More importantly, we'll need your session log, a description of what happened prior to the crash, and any redtext that appears in the error message. Session logs are located in the sessions subfolder of your mafia directory, and are named with the format username_YYYYMMDD. Send us either the full session log or a truncated version thereof. If you choose to crop it, try to give us enough context to figure out exactly what's happening--if it aborts in the middle of the fight, we need to see more than just that fight!

Garbo is a big and complicated script, and we're always adding new features. This does inevitably lead to bugs popping up from time to time. When they do, we're happy to help--as long as you help us help you. As one last note, if Garbo started doing something weird pretty recently, make sure you've updated. When bugs to come out, we tend to catch them pretty quick, so you may be reporting something that's already been patched.

Thanks!

Clone this wiki locally