After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 731011 - Sudoku Undo doesn't work, crashes
Sudoku Undo doesn't work, crashes
Status: RESOLVED FIXED
Product: gnome-sudoku
Classification: Applications
Component: general
git master
Other Linux
: Urgent critical
: ---
Assigned To: Michael Catanzaro
gnome-sudoku-maint
Depends on:
Blocks:
 
 
Reported: 2014-05-30 20:01 UTC by gQuigs
Modified: 2014-05-31 13:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
check for none in set_value (449 bytes, patch)
2014-05-31 03:56 UTC, gQuigs
committed Details | Review

Description gQuigs 2014-05-30 20:01:39 UTC
Reported here:
https://bugs.launchpad.net/ubuntu/+source/gnome-sudoku/+bug/1272716
https://errors.ubuntu.com/problem/401bb9a53ff62423e0ebb63049005074acf7aed5 (we're #24 in crashers!)

Seems to be 3.10-git master (3.12)

1. Start a game
2. Put # in cell
3. Hit Undo
Comment 1 Michael Catanzaro 2014-05-30 23:34:53 UTC
The crash reports are private?

Traceback (most recent call last):
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/gtk_goodies/Undo.py", line 283 in undo
    self[index].inverse()
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/gtk_goodies/Undo.py", line 56 in inverse
    u.perform()
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/gtk_goodies/Undo.py", line 45 in perform
    self.action(*self.action_args)
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/gtk_goodies/Undo.py", line 231 in <lambda>
    lambda *args: self.set(old_val),
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/number_box.py", line 754 in set_value_for_undo
    self.set_value(value, tracker_id)
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/number_box.py", line 744 in set_value
    super(SudokuNumberBox, self).set_value(val)
  • File "/usr/lib/python3.3/site-packages/gnome_sudoku/number_box.py", line 712 in set_value
    if 0 < v <= self.upper:
TypeError: unorderable types: int() < NoneType()

Comment 2 gQuigs 2014-05-31 01:54:37 UTC
I didn't think so.. but they do require a login.. hmm.. sorry!  There's really not that much more info than the stracktace in there and where it occurs most.. (it's occurred most on Ubuntu 14.04 - 5457 times, whereas on 13.10 it only occurred 40 times.)
Comment 3 Michael Catanzaro 2014-05-31 02:03:58 UTC
(In reply to comment #2)
> (it's occurred most on Ubuntu 14.04 - 5457 times

Oh dear
Comment 4 gQuigs 2014-05-31 03:56:50 UTC
Created attachment 277599 [details] [review]
check for none in set_value

Been a while since I did python, but this seems to fix it...
Comment 5 Michael Catanzaro 2014-05-31 13:39:43 UTC
I swear I tried that last night... oh well, yours works and doesn't seem to break anything. I pushed a slightly modified version.

I'll do a new round of releases soonish to get this out, since it's hit so often. Ubuntu should just apply the patch manually; they're shipping a Frankensudoku halfway between 3.10 and 3.12.

Attachment 277599 [details] pushed as 162ad9f - check for none in set_value
Comment 6 Michael Catanzaro 2014-05-31 13:44:08 UTC
Seems to have been somehow introduced during the Python 3 port (I don't know enough Python to say how or why), so the fix is only needed in master, 3.12, and Ubuntu's heavily-patched 14.04 package.