-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Sometimes tomboy crashes when I try to delete a note #52
Comments
Is this when deleting from Search All window or note window, or both, maybe? |
@alex-ter both... |
I can confirm this behavior. I've been experiencing this at least since June 8. In my testing, the problem only occurs when running The following is an example error:
I should note that despite how the error would indicate that the proper note could not be found for deletion, upon reopening Tomboy, the note selected for deletion no longer exists. Tomboy Version: 1.15.7 |
It's strange, but I can't reproduce this on Fedora 25. I've tried starting both from the shortcut and command line, deleted several dozen notes, both from the Search All window and note windows - works all the time. Also tried the tip of the master branch with the same result. I'm installing a Ubuntu 17.04 VM now to check it there. I see Fedora's version got updated to 1.15.8 by now - @caringi could you please give the new version a try and let me know how that works out? There were no changes between 1.15.7 and .8, which could fix this, but the fact that I can't reproduce at least makes it worth checking out. |
Ubuntu still has 1.15.7, but I cannot reproduce this either. However looking further into the stack trace, in both cases it points to actually a "note window" way of deletion and that in turn points at fix for #13, however it's not immediately apparent to me how it could be causing this. I've tested it then and same as now I don't see any problems. So maybe it's something additional - @caringi, @chrisbliss18, could you please start your Tomboy instances from console, with Given the circumstances, the only way you should be seeing this would be deleting from the note window, with Search All window visible. |
The detail about the Search All window is interesting, so I ran some tests related to the state of that window and found that its destruction (not creation or presence) certainly is related to this bug. If I run "tomboy --search", the Search All window will open when Tomboy starts. With the Search All window still open, deleting a note does not trigger the issue; however, after I close the Search All window, deleting a note does trigger the issue. Upon this realization, I ran a new test by running "tomboy", manually opening the Search All window, closing the Search All window, and then deleting a note. This resulted in the triggering the issue. So, the "tomboy --search" command creates this issue since it automatically opens the Search All window, which I then always immediately closed, resulting in the creation of the right environment to trigger this bug. I created two debug log gists: running "tomboy --search --debug" and running "tomboy --debug". I annotated each log with details of my actions. Note: I'm running Ubuntu 17.04 with Tomboy 1.15.7. I have not reviewed the code, but upon running these tests and looking at issue #13, it would seem to me that the creation of the Search All window creates an action handler which refreshes the Search All window when a note is deleted from the note's window. Is it possible that this action handler is not removed when the Search All window is destroyed, thus causing a null reference unhandled exception when the handler attempts to refresh a non-existent window? This would explain the error message coming from GTK referencing an unhandled null reference exception:
|
Thanks, that's I think exactly what is happening here and as I always had the search window opened in my tests, that explains why I couldn't reproduce. I appreciate the information, it helps a lot. |
All right, I've found the bug and fixed it, the patch is coming. The reason was that "note deleted" event handler was not properly disconnected when search window was closed, due to a typo. It's not related to #13, but was just exposed by a fix for it, as the note deletion event was now called more frequently. Thanks again @chrisbliss18 for your help, you saved me noticeable debugging time :) |
Oh, and one more thing - I've run out of time today, but I'll try to make a release on the weekend, so that you could enjoy the fix without self-building. Not sure how it works on Ubuntu, but Fedora seems to have an automated process, which picks the newest versions up (kudos to whoever set this up, or does this manually), so @caringi, you should have one automagically. |
Sorry Alex, my sticky fingers there I'm afraid. Thought it was too easy
at the time !
David
…On 14/07/17 04:31, Alex Tereschenko wrote:
All right, I've found the bug and fixed it, the patch is coming. The
reason was that "note deleted" event handler was not properly
disconnected when search window was closed, due to a typo. It's not
related to #13 <#13>, but
was just exposed by a fix for it, as the note deletion event was now
called more frequently.
Thanks again @chrisbliss18 <https://github.com/chrisbliss18> for your
help, you saved me noticeable debugging time :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF__MCnHHtEf2H82g8_JS_B5iJ9Shfk_ks5sNmKegaJpZM4NyWXy>.
|
No worries, David, that was outside of your change, so you wouldn't have really known (this typo, removing an incorrect handler, was there for a while). And the very specific requirement of opening the window, but then closing before the deletion, helped it evade exposure during your and my testing :) |
I'm using tomboy shipped with Fedora 25 (package tomboy-1.15.7-1.fc25.x86_64), and sometimes (not always), when I try to delete a note tomboy crashes with the following backtrace:
The text was updated successfully, but these errors were encountered: