Post-Upgrade Bug Master Thread
This is a thread for all of the finicky bugs that may have popped up after the big Python upgrade!
Ones I've seen or heard of so far:
- [x] Lock and unlock commands are currently not working and don't list helpfiles.
- [x] Weather and (IC) time commands also not recognized.
- [x] Messenger/old only lists the most recent messenger. However, if you use messenger/old #, it will still show you the content of old messengers. (messenger/sent does show the whole list, however.)
- [x] bb
only lists the oldest bbpost still active on the board. (Basically, bb and messenger/old both only show whatever would have been in the 1 position.) Same with messenger, though, you can still use bb to view specific bbposts. - [x] The Support Pool Shares listed in the org command are not being rounded. (This is deprecated anyways, so the whole line could probably be removed.)
- [x] The org/briefing command is showing an AP value that is not being rounded properly.
- [x] Messengers, journals, and weather command have weirdly unrounded dates (???) such as "8.088730985449736/5.9689351851851855/1012.5907275821208 AR"
- [x] Gradient command throwing a traceback if you use it with a string.
- [x] Train helpfile and command throw error for characters who haven't trained in the current week.
- [x]
@ooccommand being treated asooc - [ ] Log Out link on website no longer redirecting to home page.
- [x] craft/finish causing errors
- [x]
@charcreatenot allowing new OC creations - [x] Unrounded values in cron XP informs (at least randomscene informs, maybe other XP ones)
- [x] Modified Difficulty line when you look at an investigation now shows a number with one decimal point
- [ ] Action command has a shorter input character limit than it originally did. (Maybe general input limit?)
- [x] +manageshop throwing errors: TypeError: unsupported operand type(s) for +: 'dict_items' and 'list'
- [ ] Patronage break on rostering only half-working
- [x]
org/perm <org>now only lists the Edit perm - [x] Error for expiring perfumes and timed healing checks ('NoneType' object has no attribute 'callcount')
- [x] @chestkey no longer offering disambiguation when holding or in a room with multiple containers
- Messengers sent/received post-upgrade have weirdly unrounded dates (???) such as "8.088730985449736/5.9689351851851855/1012.5907275821208 AR"
Gradient command throwing a traceback if you use it with a string.
TypeError: slice indices must be integers or None or have an __index__ method
An untrapped error occurred. Please file a bug report detailing the steps to reproduce.
(Traceback was logged 20-01-18 18:21:46-05).
Login for the webpage where you read the boards and such is wonky.
Ex: I was logged in as Miranda, but then logged out. Normally, this leads to the main page after waiting 2 seconds. Then I'd login with my alt. However, it just sits there saying 'login' and when I click it, it doesn't go. I have to click it twice, then it lets me log in properly with my alt.
Notes for @Tanookami later:
Messenger/old only lists the most recent messenger. However, if you use messenger/old #, it will still show you the content of old messengers. (messenger/sent does show the whole list, however. bb only lists the oldest bbpost still active on the board. (Basically, bb and messenger/old both only show whatever would have been in the 1 position.) Same with messenger, though, you can still use bb to view specific bbposts.
Probably either PrettyTable or the msg method only printing out the first element of an iterable.
Messengers sent/received post-upgrade have weirdly unrounded dates (???) such as "8.088730985449736/5.9689351851851855/1012.5907275821208 AR" The Support Pool Shares listed in the org command are not being rounded. (This is deprecated anyways, so the whole line could probably be removed.) The org/briefing command is showing an AP value that is not being rounded properly.
Need to switch to floor division in a few places.
Lock and unlock commands are currently not working and don't list helpfiles. Weather and (IC) time commands also not recognized.
Probably commandset merging issues. Maybe changed the priority value of built-in commands. Need tests for the set of available commands for PCs in different situations to prevent regressions.
help train drops a traceback for some, but not all, people:
TypeError: '<' not supported between instances of 'NoneType' and 'int'
An untrapped error occurred. Please file a bug report detailing the steps to reproduce.
(Traceback was logged 20-01-18 23:50:40-05).
Apparently trying to use the train command can also cause similar issues for some.
ETA: Commonality between people who get the error and people who don't might be that people who haven't trained anyone this week are getting the errors.
The cause of the training error is likely this line: https://github.com/Arx-Game/arxcode/blob/e026510e7d4f4cd90c589cb3942e50651c500852/commands/base_commands/xp.py#L327
It most likely returns 'none' which in python 2 worked evaluated as the same as 0 but in Python 3 cause a typeerror.
Typing "@ooc" while in a public IC room returns the following error:
"No message specified. If you wish to stop being IC, use @ooc instead."
Journals also have weirdly unrounded dates:
Written By Sina Jan. 18, 2020, 6:18 p.m.(8.093293237433862/6.224421296296296/1012.5911077697862 AR)
Yes, that's what I meant when I said "Need to switch to floor division in a few places."
time/unlock/lock stuff fixed - Evennia had dropped the @ from keys to time and lock built-in commands. I would have expected a multi-match rather than a straight override, which is curious.
Probably the most critical error in Evennia itself is that the in-game @reload command to restart the server produces a server crash in like 95% of usages. Reloading from the commandline works fine though, and the crashes haven't been visible to users because I've been restarting the server manually.
Sorry, deleted my previous post (which was about Py 3 not rounding down in the way that Py 2 did). And yeah, this is all just because Py2 isn't forwards-compatible, sadly.
As for that critical error in Evennia, should check to see if there are any security risks involved as well. Is it generating memory dumps?
Not as far as I know. My guess is that it's a timing issue with a populated database/very active webserver being slower to shut down cleanly than it expects, and hitting errors because it tries to restart too quickly. I'll probably dig into how they handle the shutdown/restart in their new setup unless Griatch figures it out quickly - maybe they're not waiting for a signal for shutdown from the webserver or something.
I updated the original comment to collect everything with checkboxes (didn't know you could do those!!) and will keep it updated with any new stuff so you can find it all in one post.
~~Crafting seems to have issues! Ida used craft/finish 13,33 and received 'ValueError: non-integer arg 1 for randrange()'. The game did take the silver, AP, and mats, too.~~
ETA: Turns out this is a database lock issue, not a post-upgrade bug, so I took it off the list.
Actually the crafting bug is this line: https://github.com/Arx-Game/arxcode/blob/5f33f62a612d8edd210112127bfc1130ed659485/commands/base_commands/crafting.py#L207
In python 3 division creates floats unless you do //.
Oh yeah I had fixed that earlier today, thanks for reminding me to push the changes here.
Use of @charcreate command results in 'No existing incomplete character found with that email. Something went wrong during the character/player startup process. Please tell an admin to look into it.'
More rounding errors:
**********************************************************************
Category: XP
----------------------------------------------------------------------
You were in 3 random scenes this week, earning 9.333333333333334 xp.
**********************************************************************
The "Modified Difficulty" listed in the investigate command doesn't have crazy rounding stuff, but it does have one decimal point now where it didn't before. (Like "Modified Difficulty: 5.0")
Issue: Trying to edit an @action draft on the website results in a 500 Internal Server Error.
Action command has a shorter input character limit than it originally did.
Manageshop has a strange string at the bottom:
Item Prices +----------------+------------------------------------------+----------------+ | ID | Name | Price | +~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~~~~~~~~~~~~~+ +----------------+------------------------------------------+----------------+
TypeError: unsupported operand type(s) for +: 'dict_items' and 'list' An untrapped error occurred. Please file a bug report detailing the steps to reproduce. (Traceback was logged 20-01-20 19:38:07-05).
The webclient doesn't allow you to return to the previous command (or if it does, it's not via the up key, nor ctrl+up).
@thismynamenow69 It's shift-up now.
Patronage breaking off at rostering seems to be broken. Darren rostered and then someone picked him up. Aleksei's patron is still listed as Darren, but Darren's proteges are empty.
This may have been broken in some way before the upgrade that I haven't been able to predict - Gabriel disappeared as Orrin's patron immediately from both sides when he rostered this time, but I believe the previous rostering he didn't. Joscelin, meanwhile, showed no patron after her exit, but she showed as Orrin's protege until I used the command to remove her (;_;). That wasn't a roster situation, but there were a couple of folks who said they'd had similar stuff happen and just used the commands to do break it off.
Patronage breaking off at rostering seems to be broken. Darren rostered and then someone picked him up. Aleksei's patron is still listed as Darren, but Darren's proteges are empty.
The Joscelin one is probably explained by patronage only breaking automatically when a PC is rostered, not when they're set Gone or Inactive. I actually submitted something about that in #260. I put the Darren one in this thread because it was a rostering situation, which I believe was working correctly before the upgrade.
On the web version with chrome, the input line hasn't been resizing like it used to. For instance if you write out three paragraphs for a pose, the input line stays that long and hides the game interface, making it difficult to read.
@razhrfyre Do you mean the webclient? Are you seeing the old version (which I heard some people mention they have) or the new one? (The new one will have tabs like Main and Input, because the windows are movable and dockable.) I'm on the webclient on Chrome at the moment and not experiencing what you describe; if I write more text than the input box can fit, it just scrolls. Maybe try clearing your cache/cookies and seeing if that helps first?
I created a new shop. After the shop was set up, none of the shop commands seemed to work. When a shop command or a manageshop command is used, it simply says that the command is not available.
manageshop also, for me at least on Ida, throws: TypeError: unsupported operand type(s) for +: 'ItemsView' and 'list'
Items for sale show, but the discounts given to people/orgs and templates that used to appear at the bottom of the for-sale list, no longer do. This seems a slightly different error than the one denoted above with 'ItemsView' instead of 'dict_items'
Along with shops, some of the refine prices have the decimal issue: | standard hairpins | 72.0 | 2.16 | | standard huge wpn | 120.0 | 3.6 | | standard steel arms | 132.0 | 3.3600000000000003 | | standard steel bottom | 180.0 | 4.8 | | standard steel footwear | 84.0 | 1.92 |