Apache OpenOffice (AOO) Bugzilla – Issue 116885
utl::TextSearch::CachedTextSearch::~CachedTextSearch called too late
Last modified: 2011-02-09 12:19:46 UTC
At least on DEV300_m98 based CWS sb138, unxlngi6 non-pro, executing sw/qa/unoapi under valgrind reports Invalid read of size 4 at 0x4A30617: cppu::_destructData(void*, _typelib_TypeDescriptionReference*, _typelib_TypeDescription*, void (*)(void*)) (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0x4A2DE98: uno_type_destructData (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0xC4EC5C9: com::sun::star::uno::Sequence<com::sun::star::i18n::CalendarItem>::~Sequence() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0xC4EC5FF: com::sun::star::i18n::Calendar::~Calendar() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0xC4E4AC3: com::sun::star::i18n::LocaleData::~LocaleData() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0x4993E69: cppu::OWeakObject::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppuhelpergcc3.so.3) by 0xC4EAB56: cppu::WeakImplHelper2<com::sun::star::i18n::XLocaleData2, com::sun::star::lang::XServiceInfo>::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0xC50F091: com::sun::star::uno::Reference<com::sun::star::i18n::XLocaleData>::clear() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0xC50E49E: com::sun::star::i18n::TransliterationImpl::~TransliterationImpl() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0x4993E69: cppu::OWeakObject::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppuhelpergcc3.so.3) by 0xC50F4F6: cppu::WeakImplHelper2<com::sun::star::i18n::XExtendedTransliteration, com::sun::star::lang::XServiceInfo>::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18npool.uno.so) by 0x14E3A6BE: com::sun::star::uno::Reference<com::sun::star::i18n::XExtendedTransliteration>::~Reference() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18nsearch.uno.so) by 0x14E39729: TextSearch::~TextSearch() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18nsearch.uno.so) by 0x4993E69: cppu::OWeakObject::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppuhelpergcc3.so.3) by 0x14E3B4BC: cppu::WeakImplHelper2<com::sun::star::util::XTextSearch, com::sun::star::lang::XServiceInfo>::release() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/i18nsearch.uno.so) by 0x577FF5E: com::sun::star::uno::Reference<com::sun::star::util::XTextSearch>::~Reference() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/libutlli.so) by 0x57801D9: utl::TextSearch::CachedTextSearch::~CachedTextSearch() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/libutlli.so) by 0x577E7C5: __tcf_0 (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/libutlli.so) by 0x4664587: __cxa_finalize (cxa_finalize.c:56) by 0x5765802: ??? (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/libutlli.so) by 0x586E6EB: ??? (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/basis3.4/program/libutlli.so) by 0x400E215: _dl_fini (dl-fini.c:248) by 0x46641BE: __run_exit_handlers (exit.c:78) by 0x466422E: exit (exit.c:100) by 0x464BBDD: (below main) (libc-start.c:258) Address 0xb3e5030 is 16 bytes inside a block of size 60 free'd at 0x4025B3A: free (vg_replace_malloc.c:366) by 0x40855B3: rtl_freeMemory (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_sal.so.3) by 0x8048F80: deallocate(void*, (anonymous namespace)::AllocatorTraits const&) (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org3/program/soffice.bin) by 0x804900D: operator delete(void*) (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org3/program/soffice.bin) by 0x4A2079D: typelib_typedescription_release (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0x4A211B1: typelib_typedescriptionreference_release (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0x4A2281E: TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0x4A22AFF: __tcf_0 (in /cws/sb140_m99/DEV300/unxlngi6/installation/opt/openoffice.org/ure/lib/libuno_cppu.so.3) by 0x46641BE: __run_exit_handlers (exit.c:78) by 0x466422E: exit (exit.c:100) by 0x464BBDD: (below main) (libc-start.c:258) The reason is that cppu's TypeDescriptor_Init_Impl uses rtl/instance.hxx, so is a function-local static, while unotools' CachedTextSearch TextSearch::maCache is a global static, so is only destroyed in unotools' fini section, after TypeDescriptor_Init_Impl has already been destroyed.
fixed as <http://hg.services.openoffice.org/cws/sb140/rev/efd068485835>
is this a duplicate of issue 116429, which is already fixed in another CWS?
yes, exactly the same thing; thanks for spotting, Michael so, backed out again from this CWS as <http://hg.services.openoffice.org/cws/sb140/rev/5f94d0213042>
. *** This issue has been marked as a duplicate of 116429 ***
.