Created attachment 153492 [details] Script to get instances of LO Impress and LO Calc, then copy a slide in LO Impress As the title says. The bug seems to be only triggered when more than one instance of LO is involved. # Steps to reproduce 1. Run `soffice --impress --accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"`, and dismiss "Select a Template" window. 2. Press menu `File → New → Spreadsheet`, so an LO Calc window appears. 3. (Important) focus LO Calc, and for further steps do not give focus to LO Impress anymore (you can unfocus localc, just make sure it was the last focused LO instance). 4. Run the attached script as `python test.py` ## Expected Script successfully exits, and you can see a slide in LO Impress got copied. ## Actual Script exits with IndexOutOfBoundsException, because the slide wasn't successfully copied. # Additional information You can make it work by making sure the last focused LO instance was the LO Impress.
Why do you think the problem is not in your python script ? Best regards. JBF
(In reply to Jean-Baptiste Faure from comment #1) > Why do you think the problem is not in your python script ? > > Best regards. JBF The question sounds a bit abstract, so sorry if you wanted a different reply. The script works with variables it got from LibreOffice, like slides, etc. It is not normal if these variables suddenly disappear for reason outside of the script control.
Hello Konstantin, A new major release of LibreOffice is available since this bug was reported. Could you please try to reproduce it with the latest version of LibreOffice from https://www.libreoffice.org/download/libreoffice-fresh/ ? I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the bug is still present in the latest version.
(In reply to Xisco Faulí from comment #3) > Hello Konstantin, > A new major release of LibreOffice is available since this bug was reported. > Could you please try to reproduce it with the latest version of LibreOffice > from https://www.libreoffice.org/download/libreoffice-fresh/ ? > I have set the bug's status to 'NEEDINFO'. Please change it back to > 'UNCONFIRMED' if the bug is still present in the latest version. Repro with: Version: 6.4.3.2 Build ID: 6.4.3-3 CPU threads: 4; OS: Linux 5.6; UI render: default; VCL: kf5; Locale: en-US (en_US.UTF-8); UI-Language: en-US Calc: threaded There is also a regression with the latest development version: Version: 7.0.0.0.alpha1+ Build ID: 7223d7312368bf9c917ef0558... CPU threads: 4; OS: Linux 5.6; UI render: default; VCL: gtk3; Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded There slide does not get copied even if LO Impress was the last focused instance. Instead it fails with `__main__.RuntimeException: Binary URP bridge disposed during call`.
Repro with script. Arch Linux 64-bit Version: 7.1.0.0.alpha0+ Build ID: e2fe4fde592564d35099ad1e2659ad682dfb77f5 CPU threads: 8; OS: Linux 5.8; UI render: default; VCL: kf5 Locale: fi-FI (fi_FI.UTF-8); UI: en-US Calc: threaded Built on 25 August 2020 (In reply to Konstantin Kharlamov from comment #4) > There is also a regression with the latest development version: > > Version: 7.0.0.0.alpha1+ > Build ID: 7223d7312368bf9c917ef0558... > CPU threads: 4; OS: Linux 5.6; UI render: default; VCL: gtk3; > Locale: en-US (en_US.UTF-8); UI: en-US > Calc: threaded > > There slide does not get copied even if LO Impress was the last focused > instance. Instead it fails with `__main__.RuntimeException: Binary URP > bridge disposed during call`. This was fixed as bug 134106
Dear Konstantin Kharlamov, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Still reproducible Version: 7.4.0.3 / LibreOffice Community Build ID: f85e47c08ddd19c015c0114a68350214f7066f5a CPU threads: 4; OS: Linux 5.19; UI render: default; VCL: gtk3 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded
Hi Mike. I think this could be under a myriad of your interests, please see.
As an unrelated note, I'd mention that it would be generally better to avoid use of dispatcher to execute UNO URIs, and in this case use SystemClipboard service [1] and getTransferable [2] from XTransferableSupplier interface, that is implemented by controllers. But indeed, calling .uno:Copy on a specific frame would naturally be expected to act on that frame's document. [1] https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1datatransfer_1_1clipboard_1_1SystemClipboard.html [2] https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1datatransfer_1_1XTransferableSupplier.html#ae9847e756ddd6ebeea6a0b1768e6f806
The script currently gives: Traceback (most recent call last): File "/tmp/test.py", line 38, in <module> (smgr, desktop) = connectToLO() ^^^^^^^^^^^^^ File "/tmp/test.py", line 11, in connectToLO return (smgr, smgr.createInstanceWithContext( "com.sun.star.frame.Desktop", ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ com.sun.star.uno.RuntimeException: Binary URP bridge disposed during call at /usr/src/debug/libreoffice-fresh/libreoffice-24.8.0.3/binaryurp/source/bridge.cxx:613 It's a frequent error in UNO scripts in general, Idk what makes it happen.
Still failing in the usual way for me. Traceback (most recent call last): File "/path/to/test.py", line 41, in <module> copiedTopSlideSample = copySlideTo(impressApp, impressApp, topSlideSample, 0, smgr) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/path/to/test.py", line 26, in copySlideTo return dstComponent.DrawPages.getByIndex(insert_after+1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ com.sun.star.lang.IndexOutOfBoundsException Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 3231db0341baffd2547c50d36ef7c00aaa11601d CPU threads: 8; OS: Linux 6.10; UI render: default; VCL: kf6 (cairo+wayland) Locale: fi-FI (fi_FI.UTF-8); UI: en-US Calc: CL threaded