Description of problem: Prior to today's update, sudoku loads and runs properly. After today's update, sudoku loads, however when clicking on a puzzle, it immediately crashes. 'yum downgrade pygobject3' fixes the problem immediately Here's the commands involved: Resolving Dependencies --> Running transaction check ---> Package pygobject3.x86_64 0:3.0.1-1.fc16 will be a downgrade ---> Package pygobject3.x86_64 0:3.0.3-1.fc16 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Downgrading: pygobject3 x86_64 3.0.1-1.fc16 fedora 241 k Transaction Summary ================================================================================ Downgrade 1 Package Total download size: 241 k Is this ok [y/N]: y Downloading Packages: pygobject3-3.0.1-1.fc16.x86_64.rpm | 241 kB 00:00 Running Transaction Check Running Transaction Test Transaction Test Succeeded Running Transaction Installing : pygobject3-3.0.1-1.fc16.x86_64 1/2 Cleanup : pygobject3-3.0.3-1.fc16.x86_64 2/2 Removed: pygobject3.x86_64 0:3.0.3-1.fc16 Installed: pygobject3.x86_64 0:3.0.1-1.fc16 Version-Release number of selected component (if applicable): How reproducible: upgrade will cause failure Steps to Reproduce: 1. yum update pygobject3 2. fail 3. Actual results: Expected results: Additional info:
So a unicode fix broke this. When creating a str column in a TreeStore we are actually creating a gobject string which is always unicode. Previous versions of PyGObject incorrectly reconverted gobject strings back to string instead of unicode which would blow up anytime someone would store unicode (or in the case of user input someone typed in a unicode character). Since unicode is often not used as much as ascii characters this bug went unfixed until 3.0.3. The side effect is that anyone doing if type(var) == str: would now not trigger that conditional. This is a bug in the app as you should almost never check for exact types. The correct code is: if isinstance(var, str): I'll file a bug upstream and patch it for Fedora. I'll attach the patch here in a minute.
Created attachment 550287 [details] check for basestring not str
committed upstream, I'm going to patch this in Fedora
gnome-games-3.2.1-3.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/gnome-games-3.2.1-3.fc16
Package gnome-games-3.2.1-3.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gnome-games-3.2.1-3.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-0087/gnome-games-3.2.1-3.fc16 then log in and leave karma (feedback).
gnome-games-3.2.1-3.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.