On Thu, Apr 08, 2010 at 16:42:11 +0200, Patrick Ohly wrote:

[...]

> I've not been able to reproduce the problem when using libxmltok. I did
> find an uninitialized memory read reported by valgrind, but not one
> which explains the segfault. Fix is in "master" of libsynthesis.
> 
> Another one points towards a problem in our own code
> (http://bugzilla.moblin.org/show_bug.cgi?id=10468), plus there are some
> know reports about issues in libical.
> 
> I'd like to get to the bottom of this. Would you mind doing one more
> experiment with a syncevo-dbus-server using libxmltok? Please, run such
> a syncevo-dbus-server under "valgrind --track-origins=yes" and report
> back what you get.

Hi,

I attached is a valgrind output of syncevo-dbus-server with
libsynthesis git master as of today.

Regards,
Tino
$ valgrind --track-origins=yes /usr/lib/syncevolution/syncevo-dbus-server 
==11007== Memcheck, a memory error detector
==11007== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==11007== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright 
info
==11007== Command: /usr/lib/syncevolution/syncevo-dbus-server
==11007== 
[INFO] /usr/lib/syncevolution/syncevo-dbus-server: ready to run
==11007== Invalid read of size 8
==11007==    at 0x54EF3BE: icaltzutil_fetch_timezone (in 
/usr/lib/libical.so.0.44.0)
==11007==    by 0x54F06F4: ??? (in /usr/lib/libical.so.0.44.0)
==11007==    by 0x54F0744: icaltimezone_get_component (in 
/usr/lib/libical.so.0.44.0)
==11007==    by 0x6B2194B: sysync::loadSystemZoneDefinitions(sysync::GZones*) 
(platform_timezones.cpp:158)
==11007==    by 0x6A34818: sysync::GZones::initialize() (timezones.cpp:95)
==11007==    by 0x6A6720C: sysync::TSyncAppBase::TSyncAppBase() 
(syncappbase.cpp:1227)
==11007==    by 0x6A61FB8: sysync::TSyncClientBase::TSyncClientBase() 
(syncclientbase.cpp:352)
==11007==    by 0x6B20CD8: sysync::TEngineClientBase::TEngineClientBase() 
(engineclientbase.cpp:102)
==11007==    by 0x6B23EBA: 
sysync::TCustomClientEngineBase::TCustomClientEngineBase() 
(clientengine_custom_Base.cpp:49)
==11007==    by 0x6B23F49: 
sysync::TCustomClientEngineInterface::newSyncAppBase() 
(clientengine_custom_Base.cpp:39)
==11007==    by 0x6ABFF1C: sysync::TEngineInterface::Init() 
(engineinterface.cpp:1056)
==11007==    by 0x6B10E99: sysync::TEngineModuleBase::Connect(std::string, 
unsigned long, unsigned short) (enginemodulebase.cpp:85)
==11007==  Address 0x123007f0 is 0 bytes after a block of size 0 alloc'd
==11007==    at 0x4C214CB: calloc (vg_replace_malloc.c:418)
==11007==    by 0x54EED89: icaltzutil_fetch_timezone (in 
/usr/lib/libical.so.0.44.0)
==11007==    by 0x54F06F4: ??? (in /usr/lib/libical.so.0.44.0)
==11007==    by 0x54F0744: icaltimezone_get_component (in 
/usr/lib/libical.so.0.44.0)
==11007==    by 0x6B2194B: sysync::loadSystemZoneDefinitions(sysync::GZones*) 
(platform_timezones.cpp:158)
==11007==    by 0x6A34818: sysync::GZones::initialize() (timezones.cpp:95)
==11007==    by 0x6A6720C: sysync::TSyncAppBase::TSyncAppBase() 
(syncappbase.cpp:1227)
==11007==    by 0x6A61FB8: sysync::TSyncClientBase::TSyncClientBase() 
(syncclientbase.cpp:352)
==11007==    by 0x6B20CD8: sysync::TEngineClientBase::TEngineClientBase() 
(engineclientbase.cpp:102)
==11007==    by 0x6B23EBA: 
sysync::TCustomClientEngineBase::TCustomClientEngineBase() 
(clientengine_custom_Base.cpp:49)
==11007==    by 0x6B23F49: 
sysync::TCustomClientEngineInterface::newSyncAppBase() 
(clientengine_custom_Base.cpp:39)
==11007==    by 0x6ABFF1C: sysync::TEngineInterface::Init() 
(engineinterface.cpp:1056)
==11007== 
==11007== Jump to the invalid address stated on the next line
==11007==    at 0x100000000: ???
==11007==    by 0x1226B0EF: ???
==11007==    by 0x12FA6B8F: ???
==11007==    by 0x1101: ???
==11007==    by 0xBE7: ???
==11007==    by 0x1205B83F: ???
==11007==    by 0x1204FEFF: ???
==11007==    by 0x7FEFFE77F: ???
==11007==    by 0x838DFF: ??? (in /usr/lib/syncevolution/syncevo-dbus-server)
==11007==    by 0x7FEFFE83F: ???
==11007==  Address 0x100000000 is not stack'd, malloc'd or (recently) free'd
==11007== 
==11007== Invalid free() / delete / delete[]
==11007==    at 0x4C21DBC: free (vg_replace_malloc.c:325)
==11007==    by 0xB20D57A: ??? (in /lib/libc-2.10.2.so)
==11007==    by 0xB20D111: ??? (in /lib/libc-2.10.2.so)
==11007==    by 0x4A1E590: _vgnU_freeres (vg_preloaded.c:62)
==11007==    by 0x9E2198F: ??? (in /lib/libpthread-2.10.2.so)
==11007==    by 0xFFFFFFFF: ???
==11007==    by 0x1226B0EF: ???
==11007==    by 0x12FA6B8F: ???
==11007==    by 0x1101: ???
==11007==    by 0xBE7: ???
==11007==    by 0x1205B83F: ???
==11007==    by 0x1204FEFF: ???
==11007==  Address 0x404a2f0 is not stack'd, malloc'd or (recently) free'd
==11007== 
==11007== 
==11007== HEAP SUMMARY:
==11007==     in use at exit: 2,690,383 bytes in 25,293 blocks
==11007==   total heap usage: 111,085 allocs, 85,793 frees, 15,827,140 bytes 
allocated
==11007== 
==11007== LEAK SUMMARY:
==11007==    definitely lost: 1,727 bytes in 107 blocks
==11007==    indirectly lost: 0 bytes in 0 blocks
==11007==      possibly lost: 341,385 bytes in 2,917 blocks
==11007==    still reachable: 2,347,271 bytes in 22,269 blocks
==11007==         suppressed: 0 bytes in 0 blocks
==11007== Rerun with --leak-check=full to see details of leaked memory
==11007== 
==11007== For counts of detected and suppressed errors, rerun with: -v
==11007== ERROR SUMMARY: 19 errors from 3 contexts (suppressed: 4 from 4)
Segmentation fault

_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution

Reply via email to