[tomboy-list] Crash at startup on Vista

James Chaldecott james at swythan.co.uk
Mon Jun 22 02:45:03 PDT 2009


Hi,

I've recently started getting a crash at startup on Vista SP1. I was
using 14.2 and just upgraded to 15.1 and they both crash as soon as I
run the executable.

I think 14.2 was working fine up until recently. Certainly I had a
14.x version of Tomboy working, and I don't  *think* it stopped
working as soon as I upgraded to 14.2.

The output when running from command-line is as follows:

C:\
>"Program Files\Tomboy\Tomboy.exe"

C:\
>[DEBUG]: NoteManager created with note path "C:\Users\jchaldecott\AppData\Roaming\tomboy".
[INFO]: Initializing Mono.Addins
[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.ExportToHtmlAddin
[DEBUG]:               Name: Export to HTML
[DEBUG]:        Description: Exports individual notes to HTML.
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\ExportToHtml.dll
[DEBUG]: AddinManager.OnAddinLoaded: Tomboy.BacklinksAddin
[DEBUG]:               Name: Backlinks
[DEBUG]:        Description: See which notes link to the one you're
currently viewing.
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\Backlinks.dll
[DEBUG]: AddinManager.OnAddinLoaded: Tomboy.FixedWidthAddin
[DEBUG]:               Name: Fixed Width
[DEBUG]:        Description: Adds fixed-width font style.
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\FixedWidth.dll
[DEBUG]: AddinManager.OnAddinLoaded: Tomboy.PrintNotesAddin
[DEBUG]:               Name: Printing Support
[DEBUG]:        Description: Allows you to print a note.
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\PrintNotes.dll
[DEBUG]: AddinManager.OnAddinLoaded: Tomboy.FileSystemSyncServiceAddin
[DEBUG]:               Name: Local Directory Sync Service Add-in
[DEBUG]:        Description: Synchronize Tomboy Notes to a local file
system path
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\FileSystemSyncService.dll
[DEBUG]: AddinManager.OnAddinLoaded: Tomboy.WebSyncServiceAddin
[DEBUG]:               Name: Web Sync Service Add-in
[DEBUG]:        Description: Synchronize Tomboy Notes with Tomboy
Online and other compatible web services
[DEBUG]:          Namespace: Tomboy
[DEBUG]:            Enabled: True
[DEBUG]:               File: C:\Program Files\Tomboy\WebSyncServiceAddin.dll
[DEBUG]: Tomboy remote control active.

Unhandled Exception: System.AccessViolationException: Attempted to
read or write protected memory. This is often an indi
cation that other memory is corrupt.
   at Gtk.IconTheme.gtk_icon_theme_load_icon(IntPtr raw, IntPtr
icon_name, Int32 size, Int32 flags, IntPtr& error)
   at Gtk.IconTheme.LoadIcon(String icon_name, Int32 size,
IconLookupFlags flags)
   at Tomboy.GuiUtils.GetIcon(Assembly asm, String resource_name,
Int32 size) in c:\Users\sandy\Desktop\gnome-git\tomboy
\Tomboy\Utils.cs:line 99
   at Tomboy.Notebooks.NotebookApplicationAddin.get_NotebookIcon() in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Not
ebooks\NotebookApplicationAddin.cs:line 18
   at Tomboy.Notebooks.NotebookApplicationAddin.Initialize() in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Notebooks
\NotebookApplicationAddin.cs:line 110
   at Tomboy.Tomboy.Main(String[] args) in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Tomboy.cs:line 103

Debugging in VS2008 let me grab the following exception detail (no
that it's any different from the above!):

System.AccessViolationException was unhandled
  Message="Attempted to read or write protected memory. This is often
an indication that other memory is corrupt."
  Source="gtk-sharp"
  StackTrace:
       at Gtk.IconTheme.gtk_icon_theme_load_icon(IntPtr raw, IntPtr
icon_name, Int32 size, Int32 flags, IntPtr& error)
       at Gtk.IconTheme.LoadIcon(String icon_name, Int32 size,
IconLookupFlags flags)
       at Tomboy.GuiUtils.GetIcon(Assembly asm, String resource_name,
Int32 size) in c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Utils.cs:line
99
       at Tomboy.GuiUtils.GetIcon(String resource_name, Int32 size) in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Utils.cs:line 92
       at Tomboy.Notebooks.NotebookApplicationAddin.get_NotebookIcon()
in c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Notebooks\NotebookApplicationAddin.cs:line
19
       at Tomboy.Notebooks.NotebookApplicationAddin.Initialize() in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Notebooks\NotebookApplicationAddin.cs:line
110
       at Tomboy.Tomboy.Main(String[] args) in
c:\Users\sandy\Desktop\gnome-git\tomboy\Tomboy\Tomboy.cs:line 103
  InnerException:

With unmanaged debugging turned on I see the following call stack:
       ntdll.dll!77933387()
       [Frames below may be incorrect and/or missing, no symbols
loaded for ntdll.dll]
       ntdll.dll!7793323c()
>       msvcr90.dll!_lock_file(_iobuf * pf=0x764709b8)  Line 241 + 0xa bytes    C
       msvcr90.dll!fread_s(void * buffer=0x04c8bb50, unsigned int
bufferSize=4294967295, unsigned int elementSize=1, unsigned int
count=8, _iobuf * stream=0x764709b8)  Line 105 + 0x8 bytes      C
       msvcr90.dll!fread(void * buffer=0x04c8bb50, unsigned int
elementSize=1, unsigned int count=8, _iobuf * stream=0x764709b8)  Line
303 + 0x13 bytes        C
       libpng13.dll!03cc8b73()
       libpng13.dll!03cc8b30()
       libpng13.dll!03cc6ae7()
       msvcrt.dll!763d9e04()
       msvcrt.dll!763e8bc3()
       libglib-2.0-0.dll!685e2ca0()
       [Managed to Native Transition]
       gtk-sharp.dll!Gtk.IconTheme.LoadIcon(string icon_name =
"notebook", int size = 16, Gtk.IconLookupFlags flags = 0) + 0x64 bytes
       Tomboy.exe!Tomboy.GuiUtils.GetIcon(System.Reflection.Assembly
asm = null, string resource_name = "notebook", int size = 16) Line 99
+ 0x1c bytes   C#
       Tomboy.exe!Tomboy.GuiUtils.GetIcon(string resource_name =
"notebook", int size = 16) Line 92 + 0xe bytes  C#
       Tomboy.exe!Tomboy.Notebooks.NotebookApplicationAddin.NotebookIcon.get()
Line 19 + 0x10 bytes    C#
       Tomboy.exe!Tomboy.Notebooks.NotebookApplicationAddin.Initialize()
Line 110 + 0x2c bytes   C#
       Tomboy.exe!Tomboy.Tomboy.Main(string[] args = {string[0]}) Line
103 + 0x8 bytes     C#
       mscoree.dll!72917c24()
       kernel32.dll!76684911()
       ntdll.dll!7792e4b6()
       ntdll.dll!7792e489()

Looking through the modules list, all the gtk-sharp dlls (managed &
unmanaged) have loaded from "C:\Program Files\GtkSharp\2.12\" (or the
GAC - still version 2.12), but libpng13.dll & zlib1.dll both loaded
from "C:\Windows\". Is that normal?

The loaded libpng13.dll is showing version 1.02.36.0.
The loaded zlib1.dll is showing as version 1.02.3.2027.

I've checked & notice that there are indeed copies of libpng13.dll &
zlib1.dll in "C:\Program Files\GtkSharp\2.12\bin" which I suppose are
the ones we should be using. It looks like that directory is on my
PATH, but it comes after %SYSTEMROOT% (i.e. "C:\Windows").

I just tried moving "C:\Program Files\GtkSharp\2.12\bin" to the start
of my PATH (and rebooting), but it made no difference. The offending
dlls were still loaded from "C:\Windows".

Any ideas?

Cheers,

James

P.S. I can't stand unmanaged code these days. I was a C++ dev for 5
years or so, and I used to think it was great, but every time I have
to go back into that world from C# I can't believe how horrible it all
is!


More information about the Tomboy-list mailing list