Roundup Tracker - Issues

Issue 2551170

classification
Handle long int in history params
Type: crash Severity: urgent
Components: Database, Web interface Versions: 2.1.0
process
Status: fixed fixed
:
: rouilj : rouilj
Priority: high : Effort-Low

Created on 2021-11-15 03:03 by rouilj, last changed 2021-11-15 03:33 by rouilj.

Messages
msg7369 Author: [hidden] (rouilj) Date: 2021-11-15 03:03
The message thread https://sourceforge.net/p/roundup/mailman/roundup-users/thread/0685ed03-89a1-5278-f3e7-a01a9d082576%40cendio.se/#msg37382615

with subject: Upgrading from 1.4.20 to 2.0 gives error with values stored as long in 
database

is due to a bug in some versions of roundup before 1.2.0. The bug doesn't occur in
version 1.2.0 (10/206), but that may not be the version with the fix. It was just
the earliest roundup version I could run under python 2.7.

The params tuple in the history is represented as:

  ("issue", 5432L, "status)

where the ID (second field) is a long int. In newer versions this is represented as:

  ("issue", "5432", "status)

In python3 5432L is not a valid integer value (in python2 it is a Long int).
Eval'ing the tuple representation thus throws a SyntaxError in python3.
msg7370 Author: [hidden] (rouilj) Date: 2021-11-15 03:33
Fixed in changeset:   6531:82f870433b18

Fix is to trap the syntax error and use re to replace 1234L with 1234 then
re-eval the tuple repr string. Original reporter told me (via irc) that
the patch worked.

I am not generating a script to fix the entries in the database for two reasons:

1. the bug that generated the ID as a long rather than as a string was fixed
   at least 15 (1.2.0 oct 2006 or prior) years ago. So newer trackers won't
   have the issue.

2. this only shows up when displaying the history for tickets modified using unfixed
   old code. So the runtime delay of the fixup at display time should only happen for
   older ticket that are less likely to be displayed.
History
Date User Action Args
2021-11-15 03:33:27rouiljsetstatus: open -> fixed
resolution: fixed
messages: + msg7370
severity: major -> urgent
2021-11-15 03:06:10rouiljsetstatus: new -> open
2021-11-15 03:06:00rouiljsetversions: - 2.2.0
2021-11-15 03:05:52rouiljsetversions: + 2.1.0
2021-11-15 03:05:33rouiljsetversions: + 2.2.0
2021-11-15 03:05:28rouiljsetcomponents: + Database, Web interface
2021-11-15 03:03:34rouiljcreate