GNOME Bugzilla – Bug 581381
Tomboy crashes on startup on WinXPSP2
Last modified: 2009-08-21 14:58:53 UTC
This crash occurred for me with both 14.1. and 13.6. In my searches, I came across an email to a mailing list from another user who experienced the same thing: http://www.mail-archive.com/gnome-list@gnome.org/msg03180.html Basically, GtkSharp installation, restart, and Tomboy installation proceed without problems. Once I try to start Tomboy, though, after a few moments I get a message box with the message "Tomboy.exe has encountered a problem and needs to close". I don't have the Debug button the other user reported, so I can't confirm the error messages he found. GtkSharp was installed using gtk-sharp-2.12.8-1.win32.msi -- I found it odd that this installer was only 8MB, but the 2.12.7 and 2.12.6 installers were 14 MB each (but 2.12.8 or greater was recommended). When I go to the command line and execute the file gspawn-win32-helper.exe in C:\Program Files\GtkSharp\2.12\bin, I get the error message box: "** ERROR **: file gspawn-win32-helper.c: line 169 (WinMain): assertion failed:(__argc >= ARG_COUNT) aborting ... ". I don't know if this is relevant, but I thought I would add it anyway.
In a few hours I'll have an installer for 0.15.0 that might work better, but for now, can you tell me the values of these environment variables: PATH and GTK_BASEPATH. Thanks!
Wow, speedy response, thanks! GTK_BASEPATH is C:\Program Files\GtkSharp\2.12\ and PATH is C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Progra~1\XXXX\Global~1\Utilities\;C:\ORACLE\ora92\bin;C:\WINDOWS\System32\;%C:\WINDOWS%\system32;%C:\WINDOWS%;%C:\WINDOWS%\System32\Wbem;c:\Progra~1\XXXX\Global~1\Utilities;C:\Program Files\LilyPond\usr\bin;C:\Program Files\K-Lite Codec Pack\QuickTime\QTSystem\;C:\Program Files\Support Tools\;C:\Program Files\GtkSharp\2.12\bin Looking forward to 15.0!
Hmm, your environment looks fine, I thought you might have a conflicting GTK+ install somewhere. With 0.15.0, you can run Tomboy from a standard command prompt and get much better output (including traces when crashes occur). Will have installers soon...
Wrestling with installer problems, will probably not be out until tomorrow. Anyway, will be an announce on tomboy-list when it's available for download. :-)
Greg, it seems that the 0.15.0 installer is available. Can you open a command prompt (Run, "cmd.exe") and launch tomboy from there? It should write a lot of debug messages that might help to solve this issue. It would probably best if you could attach the complete log to this bug. Regarding the size of the GTK# installer: Yes, the newest one is the smallest. It got rid of several parts that are unneeded for the managed world (build time files, C stuff). This was an intentional change, so nothing to worry about.
Thanks, guys. I've installed 15.0; here is the complete output I get when I run from the command line: -------------------------------- C:\Program Files\Tomboy>Tomboy.exe C:\Program Files\Tomboy>[WARN]: Failed to create the logfile at D:\Documents and Settings\gnowak\Application Data\tomboy\tomboy.log: Could not find a part of th e path 'D:\Documents and Settings\gnowak\Application Data\tomboy\tomboy.log'. Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'libgtk-win 32-2.0-0.dll': The specified procedure could not be found. (Exception from HRESU LT: 0x8007007F) at Gtk.Application.gtk_init(Int32& argc, IntPtr& argv) at Gtk.Application.Init() at Tomboy.WindowsApplication.Initialize(String locale_dir, String display_nam e, String process_name, String[] args) in c:\Users\sandy\Desktop\gnome-git\tombo y\Tomboy\WindowsApplication.cs:line 51 at Tomboy.Application.Initialize(String locale_dir, String display_name, Stri ng process_name, String[] args) in c:\Users\sandy\Desktop\gnome-git\tomboy\Tombo y\Utils.cs:line 922 at Tomboy.Tomboy.Main(String[] args) in c:\Users\sandy\Desktop\gnome-git\tomb oy\Tomboy\Tomboy.cs:line 50 C:\Program Files\Tomboy> ---------------------------------------- The logfile creation error message occurs before I close the message box; the Unhandled Exception only appears after. I assume it's having problems auto-creating the tomboy folder, since it didn't exist yet. When I created it manually and re-ran, the logfile error message went away, and an empty tomboy.log file was created in the folder. (The Unhandled Exception error stayed the same). Hope this helps...
Okay, thanks for the catch on the log file, we'll have to fix that. The real error is: Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'libgtk-win This implies that your GTK# install is broken (your paths looked fine, maybe something else went wrong during the install). Have you tried uninstalling, and installing the latest 2.12.8 installer? Looks like the last update was 4/22, so maybe there are fixes (or maybe your install just went bad somehow). ftp://ftp.novell.com/pub/mono/gtk-sharp/
Progress! Before I tried reinstalling GTK#, I thought I would clean up my PATH variable -- I saw some repeats, and so I edited down. I left the GTK path reference alone. Once I started up with the new PATH variable, Tomboy started normally! It looks like my PATH was somewhat corrupted by variable expansion trickery: note how in comment #2 above, I have things like ... %C:\WINDOWS%\system32 .... When I went to Control Panel/System/Advanced/Environment Variables to edit the PATH, the text in the text box had both ... %SystemRoot%\system32 ... AND ... %%SystemRoot%%\system32 ... So single %'s were expanded away, resulting in a correct reference, but the double %%'s left one behind. (My research indicates this is sometimes done to prevent premature variable expansion, but it seems to have gone wrong here) Somewhere along the line, I'm guessing, something may be getting hung up trying to parse the %'s left over in the PATH, causing the original error. Now that I resolved this error by fixing my PATH, the Application Data/tomboy directory is eventually created, with the notice: [DEBUG]: NoteManager created with note path "D:\Documents and Settings\gnowak\Ap plication Data\tomboy". Please let me know if you'd like any more info.
So, I have a fix for all these path problems that wasn't quite ready for 0.15.0, and will probably actually require a small fix in the gtk-sharp installer, too, to make it work perfectly. So don't worry, we *are* tracking the problems related to PATH, in bug #558314. So it sounds to me like Tomboy is now working normally for you? Closing the bug as invalid, since it's really a path/setup problem. If you're having any other troubles, feel free to re-open or file a new bug. Thanks for all your persistence in tracking down the problems!
Yes, Tomboy is now working normally for me -- Thanks! Glad to see that this bug appears to have shed some light on bug #558314 too. I'm glad to help, and I look forward to using Tomboy and syncing between my Windows and Linux machines.
(In reply to comment #9) > So, I have a fix for all these path problems that wasn't quite ready for > 0.15.0, and will probably actually require a small fix in the gtk-sharp > installer, too, to make it work perfectly. So don't worry, we *are* tracking > the problems related to PATH, in bug #558314. > > So it sounds to me like Tomboy is now working normally for you? Closing the > bug as invalid, since it's really a path/setup problem. If you're having any > other troubles, feel free to re-open or file a new bug. > > Thanks for all your persistence in tracking down the problems! > Hi Sandy, You emailed me last week regarding the same issue I've encountered as Greg has, but I wasn't able to check that the apparent source of his problem is the same as for me. Sadly, no, it isn't - I still cannot start Tomboy, and I get the exact same output from 0.15: Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'libgtk-win 32-2.0-0.dll': The specified procedure could not be found. (Exception from HRESU LT: 0x8007007F) at Gtk.Application.gtk_init(Int32& argc, IntPtr& argv) at Gtk.Application.Init() at Tomboy.WindowsApplication.Initialize(String locale_dir, String display_nam e, String process_name, String[] args) in c:\Users\sandy\Desktop\gnome-git\tombo y\Tomboy\WindowsApplication.cs:line 51 at Tomboy.Application.Initialize(String locale_dir, String display_name, Stri ng process_name, String[] args) in c:\Users\sandy\Desktop\gnome-git\tomboy\Tombo y\Utils.cs:line 922 at Tomboy.Tomboy.Main(String[] args) in c:\Users\sandy\Desktop\gnome-git\tomb oy\Tomboy\Tomboy.cs:line 50 I tried removing fully both gtk and Tomboy, and reinstalling a freshly-downloaded gtk (though I'm pretty sure the previous one was the same as the one I downloaded today and Tomboy-0.15, and still the exact same messages. (By the way, I _still_ got the logfile error Greg mentioned, even with 0.15 - manually creating the "tomboy" directory also results in that warning going away, and an empty log file being created.) Oh, and my paths never contained %%, and now do not even contain a single %, but the problem remains. Any ideas? IMHO, perhaps this should be reopened... Thanks, -Bob
Hi Bob. Please provide us with the environment variables that Greg gave us before: - GTK_BASEPATH - PATH Are you using any other Gtk# application (so that you know that the installation works)? Is Gtk# installed in the directory given in the environment variable? Does it contain the libgtk-win32-2.0-0.dll?
(In reply to comment #12) > Hi Bob. > > Please provide us with the environment variables that Greg gave us before: > > - GTK_BASEPATH C:\Program Files\GtkSharp\2.12\ > - PATH (User): C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Bpl (System): (formatted with one path per line here for legibility) C:\Program Files\CollabNet Subversion Client; C:\Program Files\CodeGear\RAD Studio\5.0\bin; C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Bpl; C:\Nburn\pcbin; C:\Nburn\gcc-m68k\bin; C:\Program Files\CodeGear\RAD Studio\5.0\bin; C:\Program Files\svn-win32-1.4.4\bin; C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem; C:\Program Files\Common Files\Roxio Shared\DLLShared\; C:\VXIPNP\WinNT\Bin; C:\Program Files\IVI\bin; c:\matlab6p5p1\bin\win32; C:\Program Files\doxygen\bin; C:\Program Files\QuickTime\QTSystem\; C:\WINDOWS\system32\WindowsPowerShell\v1.0; C:\Nburn\gcc-m68k\msys\1.0\bin; C:\Program Files\Graphviz2.20\Bin; C:\Program Files\MATLAB\MATLAB Compiler Runtime\v78\runtime\win32; C:\Program Files\TortoiseSVN\bin; C:\Program Files\GtkSharp\2.12\bin > > Are you using any other Gtk# application (so that you know that the > installation works)? No other Gtk# apps - at least not that I'm aware of! > Is Gtk# installed in the directory given in the environment variable? Yes. > Does it contain the libgtk-win32-2.0-0.dll? Kind of - the dll lives in ${GTK_BASEPATH}/bin - but this looks right. Just in case, I changed GTK_BASEPATH by adding 'bin\' and of course, same problem. Thanks, -Bob
GTK_BASEPATH looks correct (do not add "bin" at the end, please). Could you try moving the GtkSharp part of your PATH to the front? Also, make sure you use a new command window after each time you modify your path, etc.
Some more ideas: - Could you give the combined PATH, for example by opening a cmd.exe window and executing echo %PATH% - Could you undefine your user defined PATH for a test - Could you put the GTK path at the start of your PATH environment variable Keep in mind that changes like this only take effect after logout/login or for new created processes (try spawning a new cmd.exe after each change, double check the PATH with echo %PATH% again and start tomboy from there)
Created attachment 134395 [details] Error log
(In reply to comment #14) > GTK_BASEPATH looks correct (do not add "bin" at the end, please). > > Could you try moving the GtkSharp part of your PATH to the front? Okay, some progress, in the sense that it writes to its log, but still cannot start. Attached is the error log: C:\Program Files\Tomboy>[DEBUG]: NoteManager created with note path "C:\Document s and Settings\grimesb\Application Data\tomboy". [INFO]: Initializing Mono.Addins pp SCAN: SetupDomain ERROR: There was an error while scanning assembly: C:\Program Files\Tomboy\MonoP osixHelper.dll (The module was expected to contain an assembly manifest. (Except ion from HRESULT: 0x80131018)) [DEBUG]: AddinManager.OnAddinLoaded: Tomboy.Tomboy [DEBUG]: Name: Tomboy.Tomboy,0.10 [DEBUG]: Description: [DEBUG]: Namespace: Tomboy [DEBUG]: Enabled: True [DEBUG]: File: C:\Program Files\Tomboy\Tomboy.exe [DEBUG]: AddinManager.OnAddinLoaded: Tomboy.FileSystemSyncServiceAddin [DEBUG]: Name: Local Directory Sync Service Add-in [DEBUG]: Description: Synchronize Tomboy Notes to a local file system pat h [DEBUG]: Namespace: Tomboy [DEBUG]: Enabled: True [DEBUG]: File: C:\Program Files\Tomboy\FileSystemSyncService.dll [DEBUG]: Tomboy remote control active. [DEBUG]: EnableDisable Called: enabling... True [DEBUG]: Preference key '/apps/tomboy/global_keybindings/show_note_menu' does no t exist, using default. [DEBUG]: Binding key '<Alt>F12' for '/apps/tomboy/global_keybindings/show_note_m enu' [DEBUG]: Preference key '/apps/tomboy/global_keybindings/open_start_here' does n ot exist, using default. [DEBUG]: Binding key '<Alt>F11' for '/apps/tomboy/global_keybindings/open_start_ here' [DEBUG]: Preference key '/apps/tomboy/global_keybindings/open_search' does not e xist, using default. [DEBUG]: Binding for '/apps/tomboy/global_keybindings/show_note_menu' changed to '<Alt>F12'! [DEBUG]: Unbinding key '<Alt>F12' for '/apps/tomboy/global_keybindings/show_note _menu' [DEBUG]: Binding key '<Alt>F12' for '/apps/tomboy/global_keybindings/show_note_m enu' > > Also, make sure you use a new command window after each time you modify your > path, etc. Yes, of course, but no harm in the reminding...
Uhm. That are "normal" logs, no error inside. I'd expect tomboy to sit in your notification area now.. ;) Any feedback on the PATH experiments?
(In reply to comment #18) > Uhm. That are "normal" logs, no error inside. I'd expect tomboy to sit in your > notification area now.. ;) > Any feedback on the PATH experiments? > Uhm, yes. When I tried moving gtk to the beginning of the path, I noticed the ERROR: ERROR: There was an error while scanning assembly: C:\Program Files\Tomboy\MonoP osixHelper.dll (The module was expected to contain an assembly manifest. (Except ion from HRESULT: 0x80131018)) and so I thought all was lost. I then deleted my user path as per your suggestion, and ran it again. This time I got the "normal" [DEBUG] lines (similar, if not exact); however, no ERROR. I was going to do something else (don't remember what), and moving my mouse cursor to the bottom of the screen, my "auto-hid) task bar popped up, and lo and behold, there were _two_ Tomboy icons in the Notification area! See, the combination of not knowing how Tomboy starts up on Windows, my auto-hide preference for the Task Bar, and of course, the ERROR meant I didn't know when I had succeeded! Anyway, I closed those two, restored my user path, and it works fine. So it appears that gtk needs to be earlier in my path. To make sure about that, I put it back, and sure enough, Tomboy fails again. So, for now anyway, I'll keep gtk early in my path, and see how it goes. Probably not an ideal solution, but certainly one I can live happily with! Thanks, guys! -Bob
Great that it works for you. If you happen to have some spare minutes though: It would be really interesting _which_ path broke the installation, i.e. at which position (2..N) it starts to crash. Anyway, glad that it is solved for you as well.
(In reply to comment #20) > Great that it works for you. If you happen to have some spare minutes though: > It would be really interesting _which_ path broke the installation, i.e. at > which position (2..N) it starts to crash. > > Anyway, glad that it is solved for you as well. > Okay, ask and you shall receive... Thanks to the ol' binary search, it wasn't terribly difficult to find the culprit - Graphiz2.20. Referring back to my path in comment 13 above, simply moving Graphviz2.20 to the end of the list makes Tomboy work just fine. So it appears that gtk# must be in the path before Graphviz, and that is the only weird path dependency on my system. Thanks again, guys! -Bob
Cool, this PATH stuff will be properly fixed in bug #558314.
*** Bug 587453 has been marked as a duplicate of this bug. ***