GNOME Bugzilla – Bug 633103
Can't use "stop tracking" button
Last modified: 2010-11-04 00:53:24 UTC
When I click the "stop tracking" button, nothing happens. Switching between tasks works. [alt-os@eracle ~]$ /usr/lib/hamster-applet/hamster-applet -w ** (hamster-applet:24940): WARNING **: Trying to register gtype 'WnckWindowState' as enum when in fact it is of type 'GFlags' ** (hamster-applet:24940): WARNING **: Trying to register gtype 'WnckWindowActions' as enum when in fact it is of type 'GFlags' ** (hamster-applet:24940): WARNING **: Trying to register gtype 'WnckWindowMoveResizeMask' as enum when in fact it is of type 'GFlags' Traceback (most recent call last):
+ Trace 224324
runtime.storage.stop_tracking()
return self.conn.StopTracking(end_time)
**keywords)
message, timeout)
File "/usr/lib/python2.7/site-packages/dbus/service.py", line 702, in _message_cb retval = candidate_method(self, *args, **keywords) File "/usr/lib/python2.7/site-packages/hamster/storage.py", line 172, in StopTracking self.__touch_fact(facts[-1], end_time) File "/usr/lib/python2.7/site-packages/hamster/db.py", line 388, in __touch_fact self.execute(query, (end_time, fact['id'])) File "/usr/lib/python2.7/site-packages/hamster/db.py", line 921, in execute cur.execute(state, param) ProgrammingError: Cannot operate on a closed cursor. ^C2010-10-25 15:35:39,674 ERROR: Traceback (most recent call last): File "/usr/lib/hamster-applet/hamster-applet", line 124, in <module> gtk.main() KeyboardInterrupt
are you reporting against unmodified current git version?
I can also confirm this. I get the error with hamster-applet 2.32 and with the latest hampster-applet-git (checked out about 5min ago). The bug is also triggered when trying to stop a task via hamster-cli. Traceback (most recent call last):
+ Trace 224330
File "/usr/lib/python2.7/site-packages/dbus/service.py", line 702, in _message_cb retval = candidate_method(self, *args, **keywords) File "/usr/lib/python2.7/site-packages/hamster/storage.py", line 172, in StopTracking """Remove fact from storage by it's ID""" File "/usr/lib/python2.7/site-packages/hamster/db.py", line 388, in __touch_fact WHERE id = ? File "/usr/lib/python2.7/site-packages/hamster/db.py", line 921, in execute ProgrammingError: Cannot operate on a closed cursor.
can't reproduce it here neither with git master nor 2-32. re comment 2 - please be aware that the client is now detached from the storage and if you are running a newer version, make sure that you are also running the newest storage service. that is ./src/hamster-service ./src/hamster-applet -w otherwise the applet will talk to the currently active and installed service. also it could be that the previous service on installation did not go away. please try killall hamster-service and then try stopping an activity again
(In reply to comment #1) > are you reporting against unmodified current git version? No, I'm using the ArchLinux package, 2.32.0 version (http://www.archlinux.org/packages/extra/any/hamster-applet/) The storage service is working, since I can just edit the task, unflagging "in progress" and the job is stopped (and saved)...
@Toms maybe is reproducible only when python 2.7 is involved?
Also reported on Fedora 14 which uses Python 2.7. https://bugzilla.redhat.com/show_bug.cgi?id=640921 That bug lists hamster-applet 2.31.91 but the problem also occurs with 2.32.0
here is the bug report for archlinux. It includes a simple patch which fixes the issue (at least for archlinux users). I have posted the relevant part of the discussion+patch. https://bugs.archlinux.org/task/21355 and here is the patch with comment by arch-user Segey Tereschenko (partizan). https://bugs.archlinux.org/task/21355?getfile=5926 "hmmm, database cursor is closed? we just try open it again :) i don't know why it closed, but if we open it again, all works. attached patch"
verified and resolved http://git.gnome.org/browse/hamster-applet/commit/?id=f401d649318e0e01ccefeb99a398a6f32fd820a8 fix pushed to git master and gnome-2-32. 2.32.1 is due in Nov 17