To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=90798
------- Additional comments from [EMAIL PROTECTED] Wed Jun 18 14:35:39 +0000 2008 ------- There appears to be a problem with (MS 2008) C++ exception handling on brinzing's Vista machine. The top of the stack in the attached errormail.txt, with local symbols filled in, is: <quote> 0 ip="0x4EC518FB" rel="0x000018FB" name="sotmi.dll" -> {protected: virtual __thiscall SotObject::~SotObject(void)} 1 ip="0x4EFC71A2" rel="0x000971A2" name="sfxmi.dll" -> {protected: virtual void * __thiscall SfxObjectShell::`vector deleting destructor'(unsigned int)} 2 ip="0x4D49F9C8" rel="0x0002F9C8" name="tlmi.dll" -> {protected: virtual void __thiscall SvRefBase::QueryDelete(void)} 3 ip="0x4EFC5D88" rel="0x00095D88" name="sfxmi.dll" -> {protected: virtual unsigned char __thiscall SfxObjectShell::Close(void)} 4 ip="0x4EFC6D24" rel="0x00096D24" name="sfxmi.dll" -> {protected: virtual __thiscall SfxObjectShell::~SfxObjectShell(void)} 5 ip="0x6DE0DC57" rel="0x0005DC57" ordinal="NLG_Return+0x00000000" name="MSVCR90.dll" 6 ip="0x4B1C21EF" rel="0x001B21EF" name="scmi.dll" -> {class com::sun::star::uno::Reference<class com::sun::star::uno::XInterface> __cdecl ScDocument_createInstance(class com::sun::star::uno::Reference<class com::sun::star::lang::XMultiServiceFactory> const &,unsigned __int64)} -> call {public: __thiscall ScDocShell::ScDocShell(enum SfxObjectCreateMode,bool)} 7 ip="0x4F012724" rel="0x000E2724" name="sfxmi.dll" -> {private: class com::sun::star::uno::Reference<class com::sun::star::uno::XInterface> __thiscall sfx2::SfxModelFactory::impl_createInstance(unsigned __int64)const} ... </quote> What this probably means is that frame 6 ScDocument_createInstance calls the ScDocShell ctor which (indirectly) throws a C++ exception that causes stack unwinding (frame 5), the ScDocShell ctor (and/or its subcomponents) is not written in a thread safe way, and thus the (unexpected) stack unwinding causes a crash. A working assumption is that in all cases a C++ exception is thrown somewhere in the ScDocShell ctor call stack, but normally also caught in the ScDocShell ctor call stack, so that it not normally passes out of the ScDocShell ctor (and thus not normally causes problems during stack unwinding of the ScDocShell ctor frame). And, right enough, clicking the "Spreadsheet" button in the start center of a working (Win XP based) DEV300m19 shows that exactly one C++ exception is thrown from within the ScDocShell ctor: <quote> kernel32.dll!77e55e02() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] kernel32.dll!77e55e02() unoxmlmi.dll!XPath::CXPathAPI::eval(const com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> & contextNode={...}, const rtl::OUString & expr={...}) Line 336 C++ unoxmlmi.dll!XPath::CXPathAPI::selectNodeList(const com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> & contextNode={...}, const rtl::OUString & expr={...}) Line 202 + 0x1a bytes C++ unoxmlmi.dll!XPath::CXPathAPI::selectSingleNode(const com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> & contextNode={...}, const rtl::OUString & expr={...}) Line 227 + 0x1a bytes C++ sfxmi.dll!`anonymous namespace'::SfxDocumentMetaData::init(com::sun::star::uno::Reference<com::sun::star::xml::dom::XDocument> i_xDoc={...}) Line 1114 + 0x12 bytes C++ sfxmi.dll!`anonymous namespace'::SfxDocumentMetaData::SfxDocumentMetaData(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & context={...}) Line 1318 + 0x1f bytes C++ sfxmi.dll!comp_SfxDocumentMetaData::_create(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & context={...}) Line 2251 + 0x22 bytes C++ cppuhelper3MSC.dll!cppu::OSingleFactoryHelper::createInstanceEveryTime(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 177 + 0x9 bytes C++ cppuhelper3MSC.dll!cppu::OSingleFactoryHelper::createInstanceWithContext(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 218 + 0x15 bytes C++ cppuhelper3MSC.dll!cppu::OFactoryComponentHelper::createInstanceWithContext(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 494 + 0xc bytes C++ cppuhelper3MSC.dll!cppu::ORegistryFactoryHelper::createInstanceEveryTime(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 758 + 0xc bytes C++ cppuhelper3MSC.dll!cppu::OSingleFactoryHelper::createInstanceWithContext(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 218 + 0x15 bytes C++ cppuhelper3MSC.dll!cppu::OFactoryComponentHelper::createInstanceWithContext(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 494 + 0xc bytes C++ bootstrap.uno.dll!stoc_smgr::OServiceManager::createInstanceWithContext(const rtl::OUString & rServiceSpecifier={...}, const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & xContext={...}) Line 1276 + 0xc bytes C++ bootstrap.uno.dll!stoc_smgr::OServiceManager::createInstance(const rtl::OUString & rServiceSpecifier={...}) Line 1386 + 0x1a bytes C++ sfxmi.dll!SfxBaseModel::getDocumentProperties() Line 803 + 0x49 bytes C++ sfxmi.dll!SfxObjectShell::SetModel(SfxBaseModel * pModel=0x0a290f24) Line 1034 + 0xd bytes C++ scmi.dll!ScModelObj::CreateAndSet(ScDocShell * pDocSh=0x0838fd98) Line 208 C++ scmi.dll!ScDocShell::ScDocShell(SfxObjectCreateMode eMode=138116656, const bool _bScriptSupport=true) Line 2391 + 0x6 bytes C++ scmi.dll!ScDocument_createInstance(const com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> & __formal={...}, const unsigned __int64 _nCreationFlags=4294967296) Line 68 + 0x22 bytes C++ sfxmi.dll!sfx2::SfxModelFactory::impl_createInstance(const unsigned __int64 _nCreationFlags=0) Line 138 + 0x11 bytes C++ ... </quote> CXPathAPI::eval does "throw XPathException();" at unoxml/source/xpath/xpathapi.cxx:1.8 l. 332 which passes out through CXPathAPI::selectNodeList and CXPathAPI::selectSingleNode and then should be caught in SfxDocumentMetaData::init via the "catch (com::sun::star::uno::Exception &)" at sfx2/source/doc/SfxDocumentMetaData.cxx:1.9 l. 1115. For whatever reason, that catch block appears to not take effect in brinzing's scenario... --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]