LibreOffice crash

SOS sos at pmg.be
Thu Mar 26 04:41:22 PDT 2015


Piet,

first i alayw provide some information when storing not a empty array a 
you did

                  Thiscomponent.storeToURL( ConvertToURL(sfile), Array( 
MakePropertyValue("FilterName", "writer8", "ReadOnly", "False" ))

and i allways do convertToURL(myURL) to been sure it's a correct URL 
(your URL seems corrrect)

Did you played around with

"storeAsURL" and "storeAToURL"

I  do the folowing check
   if fileexists(ConvertToURL(sfile)) then
                 Thiscomponent.storeToURL( ConvertToURL(sfile), Array( 
MakePropertyValue("FilterName", "writer8", "ReadOnly", "False"))
                 '    bIsNewDoc = False
             else
                 Thiscomponent.storeAsURL( ConvertToURL(sfile), Array( 
MakePropertyValue("FilterName", "writer8", "ReadOnly", "False"))
                 '    bIsNewDoc = true
             end if

Hope it helps

Fernand

On 26/03/2015 11:38, Piet van Oostrum wrote:
> I am currently experimenting with programming LibreOffice through Python/UNO.
> One thing I tried is to create a document, not with the loadComponentFromURL call from the desktop, but the route via the XLoadable interface,
>
> After setting up the connection, getting the context, servicemanager, desktop, and XSCRIPTCONTEXT,
> the following works:
>
> calcdoc = smgr.createInstanceWithContext("com.sun.star.sheet.SpreadsheetDocument", context)
> calcdoc.initNew() # or calcdoc.load(....)
> sheets = calcdoc.getSheets()
> sheet1 = sheets.getByName("Sheet1")
>
> cell = sheet1.getCellByPosition(0,0)
> cell.String = "Hello World"
>
> calcdoc.storeAsURL("file:///Users/piet/TEST/LibreOffice/testcalc.ods", ())
> calcdoc.close(True)
>
> Of course I could have used
> calcdoc = desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, ());
> (or with a Hidden=True property)
> but I just wanted to experiment with the createInstance version.
>
> Now the above example works perfectly. It creates the spreadsheet, and nothing is shown on the screen.
>
> Now when I do this with a Writer document:
>
> textdoc = smgr.createInstanceWithContext("com.sun.star.text.TextDocument", context)
>
> LibreOffice crashes with a segmentation fault. It looks like a null pointer is dereferenced or stored into. It seems to be in the event loop. So maybe there is some pointer not properly initialized.
>
> Here is part of the crash report (Mac OS X 10.10.2). This happens both with LibreOffice 4.4.1.2 from the installer package and a self-compiled master version.
>
> Process:               soffice [25385]
> Path:                  /Users/USER/Downloads/*/LibreOfficeDev.app/Contents/MacOS/soffice
> Identifier:            org.libreoffice.script
> Version:               4.5.0 (0)
> Code Type:             X86-64 (Native)
> Parent Process:        bash [71305]
> Responsible:           Terminal [71161]
> User ID:               501
>
> Date/Time:             2015-03-26 11:23:20.020 +0100
> OS Version:            Mac OS X 10.10.2 (14C1510)
> Report Version:        11
> Anonymous UUID:        0AEBB0CD-ADAB-A830-FE6A-DB114A5C4135
>
> Sleep/Wake UUID:       6AC2711A-D840-4BA5-9661-4545A1C4ABDB
>
> Time Awake Since Boot: 900000 seconds
> Time Since Wake:       8400 seconds
>
> Crashed Thread:        10
>
> Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
>
> VM Regions Near 0:
> -->
>      __TEXT                 000000010feff000-000000010ff00000 [    4K] r-x/rwx SM=COW  /Users/USER/Downloads/*/LibreOfficeDev.app/Contents/MacOS/soffice
>
> Thread 0:: Dispatch queue: com.apple.main-thread
> 0   libsystem_kernel.dylib        	0x00007fff93f494de mach_msg_trap + 10
> 1   libsystem_kernel.dylib        	0x00007fff93f4864f mach_msg + 55
> 2   com.apple.CoreFoundation      	0x00007fff92a4ab34 __CFRunLoopServiceMachPort + 212
> 3   com.apple.CoreFoundation      	0x00007fff92a49ffb __CFRunLoopRun + 1371
> 4   com.apple.CoreFoundation      	0x00007fff92a49858 CFRunLoopRunSpecific + 296
> 5   com.apple.HIToolbox           	0x00007fff92df2aef RunCurrentEventLoopInMode + 235
> 6   com.apple.HIToolbox           	0x00007fff92df286a ReceiveNextEventCommon + 431
> 7   com.apple.HIToolbox           	0x00007fff92df26ab _BlockUntilNextEventMatchingListInModeWithFilter + 71
> 8   com.apple.AppKit              	0x00007fff87bbcf81 _DPSNextEvent + 964
> 9   com.apple.AppKit              	0x00007fff87bbc730 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
> 10  libvcllo.dylib                	0x0000000111f80ee6 AquaSalInstance::Yield(bool, bool) + 1094
> 11  libvcllo.dylib                	0x0000000111f0e0ca Application::Yield() + 74
> 12  libvcllo.dylib                	0x0000000111f0e065 Application::Execute() + 37
> 13  libsofficeapp.dylib           	0x000000010ff7ea75 desktop::Desktop::Main() + 7573
> 14  libvcllo.dylib                	0x0000000111f11812 ImplSVMain() + 50
> 15  libvcllo.dylib                	0x0000000111f808b4 AquaSalInstance::handleAppDefinedEvent(NSEvent*) + 84
> 16  libvcllo.dylib                	0x0000000111fb65b1 -[VCL_NSApplication sendEvent:] + 321
> 17  com.apple.AppKit              	0x00007fff87bb0608 -[NSApplication run] + 711
> 18  com.apple.AppKit              	0x00007fff87b9ba14 NSApplicationMain + 1832
> 19  libvcllo.dylib                	0x0000000111f7fc09 ImplSVMainHook(int*) + 329
> 20  libvcllo.dylib                	0x0000000111f123fa SVMain() + 26
> 21  libsofficeapp.dylib           	0x000000010ffa9bc0 soffice_main + 224
> 22  org.libreoffice.script        	0x000000010fefff20 main + 16
> 23  libdyld.dylib                 	0x00007fff86dc25c9 start + 1
>



More information about the LibreOffice mailing list