After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 519284 - *** glibc detected *** beagled: double free or corruption (fasttop): 0xb79bab60 ***
*** glibc detected *** beagled: double free or corruption (fasttop): 0xb79bab...
Status: RESOLVED WONTFIX
Product: evolution-sharp
Classification: Deprecated
Component: bindings
0.15.x
Other All
: Normal critical
: ---
Assigned To: Johnny Jacob
Evolution QA team
gnome[unmaintained]
: 529262 533927 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-02-28 14:14 UTC by sangu
Modified: 2014-08-30 00:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Installing evolution-sharp-0.15.92 built with mono-1.9, the same problem. (15.47 KB, text/plain)
2008-02-28 16:17 UTC, sangu
  Details
beagled --fg --debug --backend EvolutionDataserver (15.47 KB, text/plain)
2008-03-01 06:37 UTC, sangu
  Details
Fix for get_uid crasher (2.12 KB, patch)
2008-04-29 15:02 UTC, Johnny Jacob
committed Details | Review

Description sangu 2008-02-28 14:14:34 UTC
Steps to reproduce:
1. $ beagled --fg --debug
2. 
3. 


Stack trace:
$ beagled --fg --debug
Always: Starting Beagle Daemon (version 0.3.3)
Always: Running on Mono 1.9
Always: Command Line: /usr/lib/beagle/BeagleDaemon.exe --fg --debug
Warn: Extended attributes are not supported on this filesystem. Performance will suffer as a result.
Debug: Established a connection to the X server
Debug: Reniced process to 7
Debug: Done reading conf from /home/sangu/.beagle/config/Daemon.xml
Debug: Done reading conf from /etc/beagle/config-files/Daemon.xml
Debug: Starting messaging server
Debug: Done reading conf from /etc/beagle/config-files/Networking.xml
Warn: Inotify watches may be too low (8192) for some users!  Increase it to at least 65535 by setting fs.inotify.max_user_watches in /etc/sysctl.conf
Debug: Starting QueryDriver
Debug: Found index helper at /usr/lib/beagle/beagled-index-helper
Debug: Found 2 backends in /usr/lib/beagle/Backends/EvolutionBackends.dll
Debug: Starting Inotify FSQ file event backend
Debug: Loaded 10932 records from /home/sangu/.beagle/Indexes/FileSystemIndex/FileAttributesStore.db in 0.243s
Debug: Done reading conf from /home/sangu/.beagle/config/FilesQueryable.xml
Debug: Done reading conf from /etc/beagle/config-files/FilesQueryable.xml
Debug: Checking if /home/sangu/Mail is kmail local mail directory ?
Warn: KMail backend: No index file for /home/sangu/Mail/drafts.Ignoring /home/sangu/Mail, probably not a kmail directory.
Debug: KMail folders not found. Will keep trying 
Debug: KonqCacheDir: /var/tmp/kdecache-sangu/http
Debug: Found 20 backends in /usr/lib/beagle/BeagleDaemonLib.dll
Debug: Reading mapping from filters
Debug: Loading system static indexes.
Debug: Version mismatch in /var/cache/beagle/indexes/applications
Debug: Index has version 13.0, expected 18.-1
Warn: Unable to create read-only index (likely due to index version mismatch): /var/cache/beagle/indexes/applications
Debug: Version mismatch in /var/cache/beagle/indexes/documentation
Debug: Index has version 13.0, expected 18.-1
Warn: Unable to create read-only index (likely due to index version mismatch): /var/cache/beagle/indexes/documentation
Debug: Initializing static queryable: /var/cache/beagle/indexes/manpages
Debug: Done reading conf from /var/cache/beagle/indexes/manpages/StaticIndex.xml
Debug: Initializing static queryable: /var/cache/beagle/indexes/windows
Debug: Done reading conf from /var/cache/beagle/indexes/windows/StaticIndex.xml
Debug: Found 2 system-wide indexes.
Debug: Loading user-configured static indexes.
Debug: Found 0 user-configured static indexes..
Debug: Waiting 60 seconds before starting queryables
Debug: Starting Scheduler thread
Debug: Starting Inotify threads
Debug: Daemon initialization finished after 1.54s
Debug: Memory usage: VmSize=46.5 MB, VmRSS=20.9 MB,  GC.GetTotalMemory=1806336 (30 colls)
Debug: Starting queryables
Debug: Starting backend: 'KAddressBook'
Debug: Starting backend: 'Empathy'
Debug: Starting backend: 'NetworkServices'
Debug: Delaying backend 'NautilusMetadata' until after backend 'Files'
Debug: Starting backend: 'KNotes'
Debug: Starting backend: 'Liferea'
Debug: Watching for creation of Liferea directory
Debug: Starting backend: 'EvolutionMail'
Debug: Starting Evolution mail backend
Debug: Starting mail crawl
Debug: Starting backend: 'KMail'
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox
Debug: Starting backend: 'Akregator'
Debug: Starting KMail backend
Debug: KMail directories (local mail) /home/sangu/.kde/share/apps/kmail/dimap not found, will repoll.
Debug: Starting backend: 'Pidgin'
Debug: Will index mbox /home/sangu/.evolution/mail/local/Sent
Debug: Will index mbox /home/sangu/.evolution/mail/local/Outbox
Debug: Starting Pidgin IM log backend
Debug: Starting Pidgin IM generator (/home/sangu/.purple)
Debug: Starting backend: 'Labyrinth'
Debug: Setting up inotify watches on Pidgin log directories
Warn: Exception caught while executing Beagle.Daemon.PidginQueryable.PidginQueryable:Void StartWorker()
System.IO.IOException: /home/sangu/.purple/logs
  at Beagle.Util.Inotify.Subscribe (System.String path, Beagle.Util.InotifyCallback callback, EventType mask, EventType initial_filter) [0x00000] 
  at Beagle.Util.Inotify.Subscribe (System.String path, Beagle.Util.InotifyCallback callback, EventType mask) [0x00000] 
  at Beagle.Daemon.PidginQueryable.PidginIndexableGenerator.Crawl (Boolean index) [0x00000] 
  at Beagle.Daemon.PidginQueryable.PidginIndexableGenerator.StartWorker () [0x00000] 
  at Beagle.Daemon.PidginQueryable.PidginIndexableGenerator..ctor (Beagle.Daemon.PidginQueryable.PidginQueryable queryable, System.String pidgin_dir) [0x00000] 
  at Beagle.Daemon.PidginQueryable.PidginQueryable.StartWorker () [0x00000] 
  at Beagle.Util.ExceptionHandlingThread.ThreadStarted () [0x00000] 
Debug: Opening mbox Inbox
Debug: Starting backend: 'KonquerorHistory'
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/gmail
[...]
Debug: Starting backend: 'manpages'
Debug: Starting backend: 'windows'
Debug: Starting backend: 'Files'
Debug: Adding root: /home/sangu
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/
[...]
Debug: Inbox: Finished indexing 0 messages
Debug: Inbox: indexed 0 messages
Debug: Starting backend: 'KOrganizer'
Debug: Starting backend: 'Tomboy'
Debug: Tomboy backend started
Debug: Starting backend: 'Opera'
Debug: Starting backend: 'Blam'
Debug: Starting backend: 'IndexingService'
Debug: Setting up an initial crawl of the IndexingService directory
Debug: Starting backend: 'EvolutionDataServer'
Debug: Starting backend: 'Konversation'
Debug: Starting backend: 'KonqBookmark'
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/gmail.sbd/FedoraArt
DebugDebug: Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/gmail.sbd/cairo
tarting backend: 'NautilusMetadata'

Debug: Loaded 117 records from /home/sangu/.beagle/Indexes/NautilusMetadata/FileAttributesStore.db in 0.003s
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/gmail.sbd/

Debug: Nautilus metadata backend started

Debug: Scanning EDS sources (Addressbook, Calendars, Memos, ...)
Debug: Will index mbox /home/sangu/.evolution/mail/local/Inbox.sbd/

Debug: Mail crawl finished
Debug: Evolution mail driver worker thread done in .59s
Debug: Getting addressbook changes for file:///home/sangu/.evolution/addressbook/local/system
Debug: Addressbook file:///home/sangu/.evolution/addressbook/local/system: 0 added, 0 changed, 0 removed
Debug: Getting calendar changes for file:///home/sangu/.evolution/calendar/local/system
Debug: Calendar file:///home/sangu/.evolution/calendar/local/system: 0 added, 0 changed, 0 removed
Debug: Getting calendar changes for webcal://www.gnome.org/start/unstable/schedule.ics
Debug: Calendar webcal://www.gnome.org/start/unstable/schedule.ics: 0 added, 0 changed, 0 removed
Debug: Getting calendar changes for contacts:///
Debug: Calendar contacts:///: 0 added, 0 changed, 0 removed
Debug: Skipping remote calendar Google://http://www.google.com/calendar/feeds/XXX@gmail/private/full
*** glibc detected *** beagled: double free or corruption (fasttop): 0xb79bab60 ***
======= Backtrace: =========
/lib/libc.so.6[0x2ffef4]
/lib/libc.so.6(cfree+0x96)[0x301f56]
/lib/libglib-2.0.so.0(g_free+0x36)[0x19a396]
[0x32483b6]
[0x18a0ea9]
[0x18a0e33]
[0x18a0732]
[0x18a0512]
[0x18a04ac]
[0x18a005b]
[0x189fabf]
[0x189f6cb]
/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__POINTER+0x9a)[0x1ada10a]
/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab)[0x1acc15b]
/lib/libgobject-2.0.so.0[0x1ae3080]
/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x800)[0x1ae4270]
/lib/libgobject-2.0.so.0(g_signal_emit+0x26)[0x1ae4716]
/usr/lib/libecal-1.2.so.7[0x13e8e99]
/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__POINTER+0x9a)[0x1ada10a]
/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab)[0x1acc15b]
/lib/libgobject-2.0.so.0[0x1ae2b3d]
/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x800)[0x1ae4270]
/lib/libgobject-2.0.so.0(g_signal_emit+0x26)[0x1ae4716]
/usr/lib/libecal-1.2.so.7[0x13e960b]
/usr/lib/libecal-1.2.so.7(_ORBIT_skel_small_GNOME_Evolution_Calendar_CalViewListener_notifyObjectsAdded+0x1f)[0x13c2b0f]
/usr/lib/libORBit-2.so.0[0x1482d27]
/usr/lib/libORBit-2.so.0(ORBit_OAObject_invoke+0x35)[0x1489235]
/usr/lib/libORBit-2.so.0(ORBit_small_invoke_adaptor+0xfe)[0x147547e]
/usr/lib/libORBit-2.so.0[0x1486d49]
/usr/lib/libORBit-2.so.0[0x1487422]
/usr/lib/libORBit-2.so.0(giop_thread_queue_process+0x135)[0x146da45]
/usr/lib/libORBit-2.so.0(giop_recv_buffer_get+0x1ad)[0x1470dfd]
/usr/lib/libORBit-2.so.0(ORBit_small_invoke_stub+0x126)[0x1475e86]
/usr/lib/libORBit-2.so.0(ORBit_small_invoke_stub_n+0x79)[0x14760b9]
/usr/lib/libORBit-2.so.0(ORBit_c_stub_invoke+0x18a)[0x1482faa]
/usr/lib/libgconf-2.so.4(ConfigDatabase3_add_listener_with_properties+0x7f)[0x7201b4f]
/usr/lib/libgconf-2.so.4(gconf_engine_notify_add+0xdd)[0x71f638d]
/usr/lib/libgconf-2.so.4(gconf_client_add_dir+0x1ad)[0x71fdc0d]
/usr/lib/libedataserver-1.2.so.9(e_source_list_new_for_gconf_default+0x7b)[0x7017ccb]
[0x12625fb]
[0x1262574]
[0x1261a5d]
[0x1261438]
[0x12610ce]
[0x1261041]
[0x457a75f]
[0x85a1059]
/lib/libglib-2.0.so.0[0x1901c1]
/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0x1920b8]
/lib/libglib-2.0.so.0[0x195763]
/lib/libglib-2.0.so.0(g_main_loop_run+0x1d2)[0x195c82]
[0x457a711]
[0x457a6d6]
[0x9fa0f6]
[0x9f947d]
[0x9f91c3]
beagled(mono_runtime_exec_main+0xb6)[0x809a726]
beagled(mono_runtime_run_main+0x16d)[0x809ad4d]
beagled(mono_main+0x623)[0x8058b53]
beagled[0x8058042]
/lib/libc.so.6(__libc_start_main+0xe6)[0x2a7516]
beagled[0x8057f81]
======= Memory map: ========
00001000-000f4000 rwxp 00001000 00:00 0 
00110000-0012f000 r-xp 00000000 08:09 7156926    /lib/ld-2.7.90.so
0012f000-00130000 r-xp 0001e000 08:09 7156926    /lib/ld-2.7.90.so
00130000-00131000 rwxp 0001f000 08:09 7156926    /lib/ld-2.7.90.so
00131000-00132000 r-xp 00131000 00:00 0          [vdso]
00132000-00147000 rwxp 00132000 00:00 0 
00147000-00148000 --xp 00147000 00:00 0 
00148000-0014b000 rwxp 00148000 00:00 0 
0014c000-00150000 r-xp 00000000 08:09 7163737    /lib/libgthread-2.0.so.0.1506.0
00150000-00151000 rwxp 00003000 08:09 7163737    /lib/libgthread-2.0.so.0.1506.0
00151000-00159000 r-xp 00000000 08:09 7155455    /lib/librt-2.7.90.so
00159000-0015a000 r-xp 00007000 08:09 7155455    /lib/librt-2.7.90.so
0015a000-0015b000 rwxp 00008000 08:09 7155455    /lib/librt-2.7.90.so
0015b000-00239000 r-xp 00000000 08:09 7157975    /lib/libglib-2.0.so.0.1506.0
00239000-0023a000 rwxp 000de000 08:09 7157975    /lib/libglib-2.0.so.0.1506.0
0023a000-0023d000 r-xp 00000000 08:09 7155345    /lib/libdl-2.7.90.so
0023d000-0023e000 r-xp 00002000 08:09 7155345    /lib/libdl-2.7.90.so
0023e000-0023f000 rwxp 00003000 08:09 7155345    /lib/libdl-2.7.90.so
0023f000-00255000 r-xp 00000000 08:09 7155325    /lib/libpthread-2.7.90.so
00255000-00256000 r-xp 00015000 08:09 7155325    /lib/libpthread-2.7.90.so
00256000-00257000 rwxp 00016000 08:09 7155325    /lib/libpthread-2.7.90.so
00257000-00259000 rwxp 00257000 00:00 0 
00259000-00280000 r-xp 00000000 08:09 7155357    /lib/libm-2.7.90.so
00280000-00281000 r-xp 00026000 08:09 7155357    /lib/libm-2.7.90.so
00281000-00282000 rwxp 00027000 08:09 7155357    /lib/libm-2.7.90.so
00282000-00283000 rwxp 00282000 00:00 0 
00283000-00290000 r-xp 00000000 08:09 7155224    /lib/libgcc_s-4.3.0-20080222.so.1
00290000-00291000 rwxp 0000c000 08:09 7155224    /lib/libgcc_s-4.3.0-20080222.so.1
00291000-003fa000 r-xp 00000000 08:09 7155280    /lib/libc-2.7.90.so
003fa000-003fc000 r-xp 00169000 08:09 7155280    /lib/libc-2.7.90.so
003fc000-003fd000 rwxp 0016b000 08:09 7155280    /lib/libc-2.7.90.so
003fd000-00400000 rwxp 003fd000 00:00 0 
00400000-0041a000 r-xp 00000000 08:09 7164256    /lib/libselinux.so.1
0041a000-0041b000 r-xp 00019000 08:09 7164256    /lib/libselinux.so.1
0041b000-0041c000 rwxp 0001a000 08:09 7164256    /lib/libselinux.so.1
0041c000-0041e000 rwxp 0041c000 00:00 0 
0041e000-0061e000 r-xp 00000000 08:09 7654741    /usr/lib/locale/locale-archive
0061e000-0074f000 r-xp 0360d000 08:09 7654741    /usr/lib/locale/locale-archive
0074f000-00756000 r-xp 00000000 08:09 921569     /usr/lib/beagle/BeagleDaemon.exe
00756000-009c5000 r-xp 00000000 08:09 7883320    /usr/lib/mono/2.0/mscorlib.dll
009c5000-009e8000 r-xp 00000000 08:09 1993824    /usr/share/locale/ko/LC_MESSAGES/libc.mo
009e8000-009ef000 r-xs 00000000 08:09 3169642    /usr/lib/gconv/gconv-modules.cache
009ef000-009f9000 r-xp 00000000 08:09 7718065    /usr/share/locale/ko/LC_MESSAGES/glib20.mo
009f9000-00a0d000 rwxp 009f9000 00:00 0 
00a0d000-00a0f000 r-xp 00000000 08:09 4606961    /usr/lib/libXss.so.1.0.0
00a0f000-00a10000 rwxp 00001000 08:09 4606961    /usr/lib/libXss.so.1.0.0
00a10000-00a11000 r-xp 00000000 08:09 7650954    /usr/lib/libxcb-xlib.so.0.0.0
00a11000-00a12000 rwxp 00000000 08:09 7650954    /usr/lib/libxcb-xlib.so.0.0.0
00a12000-00a1d000 r-xp 00000000 08:09 7155388    /lib/libnss_files-2.7.90.so
00a1d000-00a1e000 r-xp 0000a000 08:09 7155388    /lib/libnss_files-2.7.90.so
00a1e000-00a1f000 rwxp 0000b000 08:09 7155388    /lib/libnss_files-2.7.90.so
00a1f000-00a8c000 rwxp 00a1f000 00:00 0 
00a8c000-00bc5000 rwxs 00000000 08:09 424740     /home/sangu/.wapi/shared_data-localhost.localdomain-Linux-i686-312-11-0
00bc5000-00f4a000 rwxs 00000000 08:09 424760     /home/sangu/.wapi/shared_fileshare-localhost.localdomain-Linux-i686-36-11-0
00f4a000-00f53000 --xp 00f4a000 00:00 0 
00f53000-0104b000 rwxp 00f53000 00:00 0 
0104b000-01077000 r-xp 00000000 08:09 7883399    /usr/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll
01077000-01087000 rwxp 01077000 00:00 0 
01087000-010a4000 r-xp 00000000 08:09 7883406    /usr/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
010a4000-010b8000 r-xp 00000000 08:09 1993064    /usr/lib/mono/gac/gmime-sharp/2.2.0.0__677013d4cb5910f0/gmime-sharp.dll
010b8000-010bc000 r-xp 00000000 08:09 921418     /usr/lib/beagle/BeagleDaemonPlugins.dll
010bc000-01154000 r-xp 00000000 08:09 921247     /usr/lib/beagle/Filters/Filters.dll
01154000-0115d000 --xp 01154000 00:00 0 
0115d000-01265000 rwxp 0115d000 00:00 0 
01265000-01269000 r-xp 00000000 08:09 7656553    /usr/lib/libORBitCosNaming-2.so.0.1.0
01269000-0126a000 rwxp 00004000 08:09 7656553    /usr/lib/libORBitCosNaming-2.so.0.1.0
0126a000-0126d000 r-xp 00000000 08:09 7155230    /lib/libcap.so.2.06
0126d000-0126e000 rwxp 00003000 08:09 7155230    /lib/libcap.so.2.06
0126e000-013a0000 r-xp 00000000 08:09 7883419    /usr/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
013a0000-01443000 r-xp 00000000 08:09 7654377    /usr/lib/libecal-1.2.so.7.0.3
01443000-01451000 rwxp 000a2000 08:09 7654377    /usr/lib/libecal-1.2.so.7.0.3
01451000-01454000 rwxp 01451000 00:00 0 
01454000-014a4000 r-xp 00000000 08:09 7652621    /usr/lib/libORBit-2.so.0.1.0
014a4000-014ae000 rwxp 0004f000 08:09 7652621    /usr/lib/libORBit-2.so.0.1.0
014ae000-014f5000 r-xp 00000000 08:09 7155401    /lib/libssl.so.0.9.8g
014f5000-014f9000 rwxp 00046000 08:09 7155401    /lib/libssl.so.0.9.8g
014f9000-0154d000 r-xp 00000000 08:09 7647634    /usr/lib/libcamel-1.2.so.11.0.0
0154d000-01564000 rwxp 00053000 08:09 7647634    /usr/lib/libcamel-1.2.so.11.0.0
01564000-01581000 r-xp 00000000 08:09 7646155    /usr/lib/libdbus-glib-1.so.2.1.0
01581000-01582000 rwxp 0001c000 08:09 7646155    /usr/lib/libdbus-glib-1.so.2.1.0
01582000-0158d000 r-xp 00000000 08:09 7656521    /usr/lib/libavahi-common.so.3.5.0
0158d000-0158e000 rwxp 0000a000 08:09 7656521    /usr/lib/libavahi-common.so.3.5.0
0158e000-0159d000 r-xp 00000000 08:09 7647314    /usr/lib/libavahi-client.so.3.2.4
0159d000-0159e000 rwxp 0000f000 08:09 7Stacktrace:

  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_marshal_free (intptr) <0x00004>
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_marshal_free (intptr) <0xffffffff>
  at (wrapper managed-to-native) Evolution.CalComponent.e_cal_component_get_uid (intptr,string&) <0xffffffff>
  at Evolution.CalComponent.get_Uid () <0x0002a>
Segmentation error

Other information:
OS Fedora Development(rawhide 2008028)
mono-core-1.9-1.fc9.i386
beagle-0.3.3-8.fc9.i386
libbeagle-0.3.0-4.fc9.i386
evolution-sharp-0.15.91-1.fc9.i386
See Also : https://bugzilla.redhat.com/show_bug.cgi?id=435049
Comment 1 Debajyoti Bera 2008-02-28 14:33:21 UTC
  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_marshal_free (intptr) <0x00004>
  at (wrapper managed-to-native)
System.Object.__icall_wrapper_mono_marshal_free (intptr) <0xffffffff>
  at (wrapper managed-to-native) Evolution.CalComponent.e_cal_component_get_uid
(intptr,string&) <0xffffffff>
  at Evolution.CalComponent.get_Uid () <0x0002a>

Crash in evolution-sharp. Re-assigning. It could be due to some incompatibility between evo-sharp 0.15.91 and mono-1.9-preview1.

Was evo-sharp (and beagle, and other *-sharp packages) built using the same mono ?
Comment 2 sangu 2008-02-28 16:17:42 UTC
Created attachment 106169 [details]
Installing evolution-sharp-0.15.92 built with mono-1.9, the same problem.

$beagled --fg --debug
[...]
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_marshal_free (intptr) <0x00004>
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_marshal_free (intptr) <0xffffffff>
  at (wrapper managed-to-native) Evolution.CalComponent.e_cal_component_get_uid (intptr,string&) <0xffffffff>
  at Evolution.CalComponent.get_Uid () <0x0002a>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.EventToIndexable (Evolution.CalComponent) <0x001a9>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.CalComponentToIndexable (Evolution.CalComponent) <0x00029>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.AddCalComponent (Evolution.CalComponent) <0x00013>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.OnObjectsAdded (object,Evolution.ObjectsAddedArgs) <0x000c2>
  at Evolution.CalView.ObjectsAddedSignalCallback (intptr,intptr,intptr) <0x0011e>
  at (wrapper native-to-managed) Evolution.CalView.ObjectsAddedSignalCallback (intptr,intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) Evolution.Cal.e_cal_new (intptr,int) <0x00004>
  at (wrapper managed-to-native) Evolution.Cal.e_cal_new (intptr,int) <0xffffffff>
  at Evolution.Cal..ctor (Evolution.Source,Evolution.CalSourceType) <0x00057>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.OpenClient () <0x000b0>
  at Beagle.Daemon.EvolutionDataServerQueryable.SourcesHandler.IndexSourceGroup (Evolution.SourceGroup,bool) <0x0016a>
  at Beagle.Daemon.EvolutionDataServerQueryable.SourcesHandler..ctor (string,System.Type,Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable,string,object[]) <0x0020b>
  at Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable.ConnectToEDS () <0x001d1>
  at Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable.StartWorker () <0x00075>
  at <>c__CompilerGenerated0.<Start>c__1 () <0x00010>
  at IdleProxy.Handler () <0x0002e>
  at (wrapper native-to-managed) IdleProxy.Handler () <0xffffffff>
  at (wrapper managed-to-native) GLib.MainLoop.g_main_loop_run (intptr) <0x00004>
  at (wrapper managed-to-native) GLib.MainLoop.g_main_loop_run (intptr) <0xffffffff>
  at GLib.MainLoop.Run () <0x0000d>
  at Beagle.Daemon.BeagleDaemon.DoMain (string[]) <0x00b0d>
  at Beagle.Daemon.BeagleDaemon.Main (string[]) <0x00014>
  at (wrapper runtime-invoke) Beagle.Daemon.BeagleDaemon.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

Another Information:
Built gtk-sharp2, beagle with mono-1.9
Comment 3 Johnny Jacob 2008-02-29 05:42:29 UTC
Is there any way to consistently reproduce this ? 
Comment 4 sangu 2008-03-01 05:27:01 UTC
yes, always.

After removing evolution-sharp and beagle-evolution, this problem doesn't happen.
Comment 5 sangu 2008-03-01 05:35:13 UTC
$ ps ax | grep beagled
21304 pts/0    TNl+   0:04 beagled /usr/lib/beagle/BeagleDaemon.exe --fg --debug
$ gdb beagled 21304
[...]
(gdb) bt
  • #0 __kernel_vsyscall
  • #1 __lll_lock_wait_private
    from /lib/libc.so.6
  • #2 _L_lock_52
    from /lib/libc.so.6
  • #3 ptmalloc_lock_all
    at arena.c line 261
  • #4 __libc_fork
    at ../nptl/sysdeps/unix/sysv/linux/fork.c line 92
  • #5 __fork
    at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c line 26
  • #6 fork_exec_with_pipes
    at gspawn.c line 1177
  • #7 IA__g_spawn_sync
    at gspawn.c line 259
  • #8 IA__g_spawn_command_line_sync
    at gspawn.c line 682
  • #9 mono_handle_native_sigsegv
    at mini-exceptions.c line 1044
  • #10 <signal handler called>
  • #11 __kernel_vsyscall
  • #12 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #13 abort
    at abort.c line 88
  • #14 __libc_message
    at ../sysdeps/unix/sysv/linux/libc_fatal.c line 170
  • #15 malloc_printerr
  • #16 __libc_free
    at malloc.c line 3625
  • #17 IA__g_free
    at gmem.c line 190
  • #18 ??
  • #19 ??
  • #20 ??
  • #21 ??
  • #22 ??
  • #23 ??

Comment 6 sangu 2008-03-01 06:37:24 UTC
Created attachment 106316 [details]
beagled --fg --debug --backend EvolutionDataserver

$beagled --fg --debug --backend EvolutionDataserver
[...]
01398000-0143b000 r-xp 00000000 08:09 7654377    /usr/lib/libecal-1.2.so.7.0.3
0143b000-01449000 rwxp 000a2000 08:09 765437Stacktrace:

  at (wrapper managed-to-native) Evolution.CalComponent.e_cal_component_get_dtstart (intptr,intptr) <0x00004>
  at (wrapper managed-to-native) Evolution.CalComponent.e_cal_component_get_dtstart (intptr,intptr) <0xffffffff>
  at Evolution.CalComponent.get_Dtstart () <0x00031>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.EventToIndexable (Evolution.CalComponent) <0x001f1>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.CalComponentToIndexable (Evolution.CalComponent) <0x00029>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.AddCalComponent (Evolution.CalComponent) <0x00013>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.OnObjectsAdded (object,Evolution.ObjectsAddedArgs) <0x000c2>
  at Evolution.CalView.ObjectsAddedSignalCallback (intptr,intptr,intptr) <0x0011e>
  at (wrapper native-to-managed) Evolution.CalView.ObjectsAddedSignalCallback (intptr,intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) Evolution.Cal.e_cal_new (intptr,int) <0x00004>
  at (wrapper managed-to-native) Evolution.Cal.e_cal_new (intptr,int) <0xffffffff>
  at Evolution.Cal..ctor (Evolution.Source,Evolution.CalSourceType) <0x00057>
  at Beagle.Daemon.EvolutionDataServerQueryable.CalContainer.OpenClient () <0x000b0>
  at Beagle.Daemon.EvolutionDataServerQueryable.SourcesHandler.IndexSourceGroup (Evolution.SourceGroup,bool) <0x0016a>
  at Beagle.Daemon.EvolutionDataServerQueryable.SourcesHandler..ctor (string,System.Type,Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable,string,object[]) <0x0020b>
  at Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable.ConnectToEDS () <0x001d1>
  at Beagle.Daemon.EvolutionDataServerQueryable.EvolutionDataServerQueryable.StartWorker () <0x00075>
  at <>c__CompilerGenerated0.<Start>c__1 () <0x00010>
  at IdleProxy.Handler () <0x0002e>
  at (wrapper native-to-managed) IdleProxy.Handler () <0xffffffff>
  at (wrapper managed-to-native) GLib.MainLoop.g_main_loop_run (intptr) <0x00004>
  at (wrapper managed-to-native) GLib.MainLoop.g_main_loop_run (intptr) <0xffffffff>
  at GLib.MainLoop.Run () <0x0000d>
  at Beagle.Daemon.BeagleDaemon.DoMain (string[]) <0x00b0d>
  at Beagle.Daemon.BeagleDaemon.Main (string[]) <0x00014>
  at (wrapper runtime-invoke) Beagle.Daemon.BeagleDaemon.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:
[...]

$ gdb beagled 2219
[...]
(gdb) bt
  • #0 __kernel_vsyscall
  • #1 __lll_lock_wait_private
    from /lib/libc.so.6
  • #2 _L_lock_52
    from /lib/libc.so.6
  • #3 ptmalloc_lock_all
    at arena.c line 261
  • #4 __libc_fork
    at ../nptl/sysdeps/unix/sysv/linux/fork.c line 92
  • #5 __fork
    at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c line 26
  • #6 fork_exec_with_pipes
    at gspawn.c line 1177
  • #7 IA__g_spawn_sync
    at gspawn.c line 259
  • #8 IA__g_spawn_command_line_sync
    at gspawn.c line 682
  • #9 mono_handle_native_sigsegv
    at mini-exceptions.c line 1044
  • #10 <signal handler called>
  • #11 __kernel_vsyscall
  • #12 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #13 abort
    at abort.c line 88
  • #14 __libc_message
    at ../sysdeps/unix/sysv/linux/libc_fatal.c line 170
  • #15 malloc_printerr
    at malloc.c line 5949
  • #16 _int_malloc
    at malloc.c line 4442
  • #17 __libc_malloc
    at malloc.c line 3551
  • #18 IA__g_malloc
    at gmem.c line 131
  • #19 get_datetime
    at e-cal-component.c line 2334
  • #20 ??
  • #21 ??
  • #22 ??
  • #23 ??
  • #24 ??
  • #25 ??
  • #26 ??
  • #27 ??
  • #28 ??
  • #29 ??
  • #30 ??
  • #31 ??
  • #32 ??
  • #33 ??
  • #34 ??
  • #35 ??
  • #36 ??
  • #37 ??
  • #38 ??
  • #39 ??

"beagled --fg --debug --backend EvolutionMail" works well.
Comment 7 Debajyoti Bera 2008-04-12 19:22:25 UTC
Not sure but a speculation follows:

Evolution:CalComponent.cs uses

[DllImport("ecal")]
static extern void e_cal_component_get_uid (IntPtr handle, out string uid);

which calls

void e_cal_component_get_uid (ECalComponent *comp, const char **uid)

In general passing a string as an out parameter is not very safe. On the other hand, uid is a const char **, so it should not be freed. Since dllimport was not told about not freeing "out string uid", this could lead to a crash.

I am not entirely sure about the reason, but this could be fixed by passing e_cal_component_get_uid an IntPtr and just copying the string from there using one of the Marshall methods (without freeing).

Some of the other e_cal_... methods also uses const out parameters, they could be similarly causing crashes.

BTW, this has been reported in http://bugs.archlinux.org/task/10123?project=1&order=id&sort=desc&order2=tasktype&sort2=asc
and debian too.
Comment 8 Debajyoti Bera 2008-04-23 00:34:16 UTC
*** Bug 529262 has been marked as a duplicate of this bug. ***
Comment 9 Debajyoti Bera 2008-04-23 15:31:08 UTC
> [DllImport("ecal")]
> static extern void e_cal_component_get_uid (IntPtr handle, out string uid);
> 
> which calls
> 
> void e_cal_component_get_uid (ECalComponent *comp, const char **uid)

The right way to marshall a char** (pointer to a pointer to a string) is given here:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2074206&SiteID=1

It will basically involve passing "IntPtr uid" instead of "out string uid" and then manually marshalling:

IntPtr s = Marshal.ReadIntPtr (stringArray, 0);
return Marshal.PtrToStringAnsi (s); // the final C-String is const, so should not be freed.

I also spotted a few DllImport methods returning string. I didnt check the underlying glue code whether the strings that are returned are "const char*" or "char*" i.e. should be freed or not - but if they are not supposed to freed, then P/Invoking the function will cause a crash in marshal-free.
(http://www.mono-project.com/Interop_with_Native_Libraries#Strings_as_Return_Values)
Comment 10 Johnny Jacob 2008-04-29 15:02:24 UTC
Created attachment 110114 [details] [review]
Fix for get_uid crasher

Attaching patch for the record.

Committed to EVOLUTION_SHARP_0_16_0 rev 173 & to trunk rev 174.

Thanks to D Bera & Ankit !
Comment 11 Johnny Jacob 2008-05-01 08:09:18 UTC
(In reply to comment #10)
> Created an attachment (id=110114) [edit]
> Fix for get_uid crasher
> 
> Attaching patch for the record.
> 
> Committed to EVOLUTION_SHARP_0_16_0 rev 173 & to trunk rev 174.

Correction : EVOLUTION_SHARP_0_16 rev 176

> 
> Thanks to D Bera & Ankit !
> 

Comment 12 Debajyoti Bera 2008-05-19 21:24:23 UTC
*** Bug 533927 has been marked as a duplicate of this bug. ***
Comment 13 Debajyoti Bera 2008-07-24 02:15:22 UTC
Johnny, should we consider this fixed ?
Comment 14 André Klapper 2014-08-30 00:08:33 UTC
evolution-sharp has not seen any code changes since May 2009:
https://git.gnome.org/browse/archive/evolution-sharp/log/

This project is not under active development anymore and got recently archived
in GNOME Git.
It is currently unlikely that there will be any further active development.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality. Please feel free to reopen this bug report in the future if anyone
takes the responsibility for active development again.