Bug 56156

Summary: : Saving document to a CMIS AtomPub server causes LibreOffice to crash
Product: LibreOffice Reporter: Will Abson <will.abson>
Component: LibreofficeAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: medium    
Version: 3.6.2.2 release   
Hardware: Other   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=62531
Whiteboard: BSA
i915 platform: i915 features:

Description Will Abson 2012-10-18 18:37:09 UTC
Problem description:

Saving documents to a CMIS AtomPub server causes OOo to crash. The information below was reported via the crash utility.

I have reproduced this on OS X Lion, using the latest development release 3.6.3.1 (not in Version drop-down above) and the older 3.6.2 release. It was not an issue as far as I recall on my previous 3.6.1 install.

Process:         soffice [24380]
Path:            /Applications/LibreOffice.app/Contents/MacOS/soffice
Identifier:      org.libreoffice.script
Version:         3.6.3.1 (???)
Code Type:       X86 (Native)
Parent Process:  launchd [205]

Date/Time:       2012-10-18 19:10:06.606 +0100
OS Version:      Mac OS X 10.7.4 (11E53)
Report Version:  9

Interval Since Last Report:          4053942 sec
Crashes Since Last Report:           2868
Per-App Interval Since Last Report:  2819 sec
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      02CFA76B-E8F7-42DF-88B8-0173F62BC63B

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called
objc[24380]: garbage collection is OFF
terminate called throwing an exception

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x9859b9c6 __pthread_kill + 10
1   libsystem_c.dylib             	0x901b7f78 pthread_kill + 106
2   libsystem_c.dylib             	0x901a8bdd abort + 167
3   libc++abi.dylib               	0x9991e921 abort_message + 94
4   libc++abi.dylib               	0x9991c1bc default_terminate() + 36
5   libc++abi.dylib               	0x9991c1fe safe_handler_caller(void (*)()) + 15
6   libc++abi.dylib               	0x9991c268 std::terminate() + 23
7   libc++abi.dylib               	0x9991d2a0 __cxa_throw + 112
8   ucpcmis1.uno.dylib            	0x1fd2cd73 AtomFolder::createDocument(std::map<std::string, boost::shared_ptr<libcmis::Property>, std::less<std::string>, std::allocator<std::pair<std::string const, boost::shared_ptr<libcmis::Property> > > >&, boost::shared_ptr<std::ostream>, std::string) + 3459
9   ucpcmis1.uno.dylib            	0x1fd078ac cmis::Content::insert(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, unsigned char, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 3996
10  ucpcmis1.uno.dylib            	0x1fd11710 cmis::Content::execute(com::sun::star::ucb::Command const&, long, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 3344
11  libucb1.dylib                 	0x1255763a (anonymous namespace)::globalTransfer_((anonymous namespace)::TransferCommandContext const&, com::sun::star::uno::Reference<com::sun::star::ucb::XContent> const&, com::sun::star::uno::Reference<com::sun::star::ucb::XContent> const&, com::sun::star::uno::Reference<com::sun::star::sdbc::XRow> const&) + 1738
12  libucb1.dylib                 	0x1255acad UniversalContentBroker::globalTransfer(com::sun::star::ucb::GlobalTransferCommandArgument const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 2653
13  libucb1.dylib                 	0x125441c8 UniversalContentBroker::execute(com::sun::star::ucb::Command const&, long, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 952
14  libucbhelper4gcc3.dylib       	0x015fceaa ucbhelper::Content::transferContent(ucbhelper::Content const&, ucbhelper::InsertOperation, rtl::OUString const&, long) + 730
15  libsfxlo.dylib                	0x0067831d SfxMedium::Transfer_Impl() + 5901
16  libsfxlo.dylib                	0x006790c8 SfxMedium::Commit() + 248
17  libsfxlo.dylib                	0x007000d3 SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) + 7187
18  libsfxlo.dylib                	0x0070355e SfxObjectShell::PreDoSaveAs_Impl(String const&, String const&, SfxItemSet*) + 750
19  libsfxlo.dylib                	0x00703e07 SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, String const&, SfxItemSet*) + 1495
20  libsfxlo.dylib                	0x006eaa10 SfxObjectShell::APISaveAs_Impl(String const&, SfxItemSet*) + 576
21  libsfxlo.dylib                	0x00754c84 SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, unsigned char) + 1844
22  libsfxlo.dylib                	0x00757ad1 SfxBaseModel::storeAsURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) + 369
23  libsfxlo.dylib                	0x006cd793 SfxStoringHelper::GUIStoreModel(com::sun::star::uno::Reference<com::sun::star::frame::XModel> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&, unsigned char, rtl::OUString, unsigned short) + 4211
24  libsfxlo.dylib                	0x006ee740 SfxObjectShell::ExecFile_Impl(SfxRequest&) + 4848
25  libsfxlo.dylib                	0x0059403d SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, unsigned char) + 525
26  libsfxlo.dylib                	0x005964c4 SfxDispatcher::PostMsgHandler(SfxRequest*) + 340
27  libsfxlo.dylib                	0x00777db9 SfxHintPoster::LinkStubDoEvent_Impl(void*, void*) + 25
28  libvcllo.dylib                	0x01ace6cf ImplWindowFrameProc(Window*, SalFrame*, unsigned short, void const*) + 5487
29  libvcllo.dylib                	0x01ad8633 AquaSalInstance::Yield(bool, bool) + 323
30  libvcllo.dylib                	0x017f0000 Application::Yield(bool) + 96
31  libvcllo.dylib                	0x017f0101 Application::Execute() + 97
32  libsofficeapp.dylib           	0x000784db desktop::Desktop::Main() + 6171
33  libvcllo.dylib                	0x017f9622 ImplSVMain() + 354
34  libvcllo.dylib                	0x01ad7d5b AquaSalInstance::handleAppDefinedEvent(NSEvent*) + 75
35  libvcllo.dylib                	0x01b211ab -[VCL_NSApplication sendEvent:] + 315
36  com.apple.AppKit              	0x91324d11 -[NSApplication run] + 1007
37  com.apple.AppKit              	0x915b5bd9 NSApplicationMain + 1054
38  libvcllo.dylib                	0x01ad9317 ImplSVMainHook(int*) + 343
39  libvcllo.dylib                	0x017f96b1 SVMain() + 17
40  libsofficeapp.dylib           	0x000a74e5 soffice_main + 437
41  org.libreoffice.script        	0x00001f0e main + 30
42  org.libreoffice.script        	0x00001872 _start + 216
43  org.libreoffice.script        	0x00001799 start + 41

Steps to reproduce:
1. Create a new text document
2. Add a CMIS AtomPub server (I used a local Alfresco instance)
3. Attempt to save the document to the CMIS server

Current behavior:

Application crashes fatally and must be restarted. Document saved in the repository is zero bytes.

Expected behavior:

The document should be saved and the application should not crash.

Platform (if different from the browser): 
              
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:16.0) Gecko/20100101 Firefox/16.0
Comment 1 Cédric Bosdonnat 2013-02-11 15:49:43 UTC
Will, could you try it with 4.0? There were quite some changes in that area and this may already be fixed.

At least I couldn't reproduce that bug.
Comment 2 James 2013-03-10 12:03:45 UTC
No feedback for a month from Will. Setting to RESOLVED WORKSFORME.

@Will: If you still can reproduce this problem with LO 4.0.1.2 please re-open this bug.
Comment 3 Will Abson 2013-03-11 16:21:24 UTC
I confirm the issue does not reproduce on LibreOffice 4.0.

The original cause was the fact that I had used the native web script-based CMIS endpoint in Alfresco (http://server/service/cmis) rather than the now recommended servlet endpoint using the Chemistry Java client (http://server/cmisatom). Both now appear to work successfully in LO 4.0 against Alfresco 4.2.c.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.