zigdon / xkcd-Bucket

Bucket is the channel bot for #xkcd
http://wiki.xkcd.com/irc/Bucket
121 stars 31 forks source link

Variables not being replaced after long uptime #126

Closed dgw closed 1 month ago

dgw commented 5 years ago

I'm not sure this will ever get fixed, but I've run into it too many times in the last few years to ignore it any more. It might only happen on my instance, and not on the main one, who knows.

After Bucket has been running for a while (usually many weeks), sometimes certain factoids just… stop having certain variables replaced.

Notably, it's not all variables. Just some. The same variables in other factoids will be just fine.

For example, in the latest occurrence of this bug on my instance, the variables $vehicle and $bodypart stopped working in the !stunt factoid. $digit and $animal continued to work, however, as did $vehicle and $bodypart in other factoids containing them.

This is a really weird one. I only hope I can someday finally track down what causes it.

dgw commented 4 years ago

Latest occurrence, log dump:

Thu Mar 26 06:01:20 2020 - irc_public(#Kaede): dgw(o=1, a=0, e=1): !stunt
Thu Mar 26 06:01:20 2020 - Found variable $twoplus
Thu Mar 26 06:01:20 2020 - full = twoplus, msg = dgw tries to jump over $twoplus$digit
                           $occupations by $vehicle… and succeeds!
Thu Mar 26 06:01:20 2020 - Replacing $twoplus with 9
Thu Mar 26 06:01:20 2020 -  => dgw tries to jump over 9$digit $occupations by $vehicle…
                               and succeeds!
Thu Mar 26 06:01:20 2020 - Found variable $digit
Thu Mar 26 06:01:20 2020 - full = digit, msg = dgw tries to jump over 9$digit
                           $occupations by $vehicle… and succeeds!
Thu Mar 26 06:01:20 2020 - Replacing $digit with 4
Thu Mar 26 06:01:20 2020 -  => dgw tries to jump over 94 $occupations by $vehicle… and
                               succeeds!
Thu Mar 26 06:01:20 2020 - Found variable $occupations
Thu Mar 26 06:01:20 2020 - Special case *s (noun)
Thu Mar 26 06:01:20 2020 - full = occupations, msg = dgw tries to jump over 94
                           $occupations by $vehicle… and succeeds!
Thu Mar 26 06:01:20 2020 - Conjugating high school teacher (CODE(0x2d64a70))
Thu Mar 26 06:01:20 2020 - past=CODE(0x2c8d1d0), s_form=CODE(0x2f081b8),
                           gerund=CODE(0x2c8d2c0)
Thu Mar 26 06:01:20 2020 -  => high school teachers
Thu Mar 26 06:01:20 2020 - Replacing $occupations with high school teachers
Thu Mar 26 06:01:20 2020 -  => dgw tries to jump over 94 high school teachers by
                               $vehicle… and succeeds!
Thu Mar 26 06:01:20 2020 - Found variable $vehicle
Thu Mar 26 06:01:20 2020 - full = vehicle, msg = dgw tries to jump over 94 high school
                           teachers by $vehicle… and succeeds!
Thu Mar 26 06:01:20 2020 -  => dgw tries to jump over 94 high school teachers by
                               $vehicle… and succeeds!

It's just… missing the "Replacing" step for $vehicle, for no apparent reason. The investigation shall continue, I guess.

dgw commented 1 month ago

I haven't spotted this for a while. Glitches these days are all about #137, so I'll close this out unless I see it happen again (reports from other users also welcome, of course).