Description: In a document where some changes where recorded before, accepting all changes in most cases leads to a crash of the iOS app. Steps to Reproduce: 1. Open/create a document in the iOS app 2. Record some changes 3. Accept the changes Actual Results: The app crashes in most of the cases. Expected Results: The changes should be accepted. Reproducible: Always User Profile Reset: No Additional Info:
It seems, that this only happens, when a document with changes (done by the iOS) is opened and then one tries to accept the changes.
Created attachment 150061 [details] Video showing the crash
I couldn't reproduce this crash myself, is it reproducible when starting from an empty document? (enabling track changes, making changes, reopening, accepting all changes)
Created attachment 150092 [details] Example document which makes the crash reproducible The attached document results to a crash in my case on 0.1 (22). 1.) Create a document from this template You can use "http://nicu.winebarrel.ch/tpl/00_index.txt" as template URL in the app settings and instantiate the document from there 2.) Enable change tracking 3.) Change "Rocky" to "Rock" 4.) Close the document 5.) Open the document 6.) Accept all changes
I get a 404 for that URL. (And it needs to be https:// or iOS won't even let the code try to download the file.)
Sorry, should work again and https should be valid.
Thanks, now I can reproduce. > Assertion failed: (*pIds > *(pIds-1)), function Invalidate, file /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/control/bindings.cxx, line 586. > #4 0x0000000104a2580c in SfxBindings::Invalidate(unsigned short const*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/control/bindings.cxx:586 > #5 0x0000000106e37940 in SwView::Notify(SfxBroadcaster&, SfxHint const&) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sw/source/uibase/uiview/view.cxx:1703 > #6 0x0000000105114970 in SfxBroadcaster::Broadcast(SfxHint const&) at /Volumes/TML13/lo/ios-optimised-cp-6.0/svl/source/notify/SfxBroadcaster.cxx:49 > #7 0x0000000106bc6e00 in SwDocShell::Execute(SfxRequest&) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sw/source/uibase/app/docsh2.cxx:1331 > #8 0x0000000106bb1c80 in SfxStubSwDocShellExecute(SfxShell*, SfxRequest&) at /Volumes/TML13/lo/ios-optimised-cp-6.0/workdir/SdiTarget/sw/sdi/swslots.hxx:1385 > #9 0x0000000104a37e48 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&), SfxRequest&) at /Volumes/TML13/lo/ios-optimised-cp-6.0/include/sfx2/shell.hxx:210 > #10 0x0000000104a37cbc in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/control/dispatch.cxx:361 > #11 0x0000000104a3e7e8 in SfxDispatcher::PostMsgHandler(SfxRequest*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/control/dispatch.cxx:1119 > #12 0x0000000104a384d8 in SfxDispatcher::LinkStubPostMsgHandler(void*, SfxRequest*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/control/dispatch.cxx:1099 > #13 0x0000000104cc2c94 in Link<SfxRequest*, void>::Call(SfxRequest*) const at /Volumes/TML13/lo/ios-optimised-cp-6.0/include/tools/link.hxx:84 > #14 0x0000000104cc2c40 in SfxHintPoster::DoEvent_Impl(void*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/notify/hintpost.cxx:44 > #15 0x0000000104cc2c04 in SfxHintPoster::LinkStubDoEvent_Impl(void*, void*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sfx2/source/notify/hintpost.cxx:42 > #16 0x0000000104ad72f0 in Link<void*, void>::Call(void*) const at /Volumes/TML13/lo/ios-optimised-cp-6.0/include/tools/link.hxx:84 > #17 0x00000001077881b0 in ImplHandleUserEvent(ImplSVEvent*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/window/winproc.cxx:1928 > #18 0x00000001077857c8 in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/window/winproc.cxx:2478 > #19 0x0000000107ce2e34 in SalFrame::CallCallback(SalEvent, void const*) const at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/inc/salframe.hxx:275 > #20 0x0000000107ce82c4 in AquaSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/headless/svpinst.cxx:276 > #21 0x0000000107bc3d84 in SalUserEventList::DispatchUserEvents(bool) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/salusereventlist.cxx:109 > #22 0x0000000107ce8e98 in AquaSalInstance::DoYield(bool, bool) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/headless/svpinst.cxx:413 > #23 0x0000000107bf2e50 in ImplYield(bool, bool) at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/svapp.cxx:469 > #24 0x0000000107bf29bc in Application::Yield() at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/svapp.cxx:534 > #25 0x0000000107bf2938 in Application::Execute() at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/svapp.cxx:449 > #26 0x0000000104eec454 in desktop::Desktop::Main() at /Volumes/TML13/lo/ios-optimised-cp-6.0/desktop/source/app/app.cxx:1642 > #27 0x0000000107c03778 in ImplSVMain() at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/svmain.cxx:281 > #28 0x0000000107c060b8 in SVMain() at /Volumes/TML13/lo/ios-optimised-cp-6.0/vcl/source/app/svmain.cxx:319 > #29 0x0000000104f0d004 in ::soffice_main() at /Volumes/TML13/lo/ios-optimised-cp-6.0/desktop/source/app/sofficemain.cxx:167 > #30 0x0000000104f6be40 in lo_startmain(void*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/desktop/source/lib/init.cxx:4371 > #31 0x00000001074224bc in osl_thread_start_Impl(void*) at /Volumes/TML13/lo/ios-optimised-cp-6.0/sal/osl/unx/thread.cxx:234
Congratulations, this crash (assertion failure) happens also on desktop LibreOffice. At least on macOS. On Linux, it seems to get stuck in a loop.
The hack on Linux is caused by a different root cause, see my comment from a moment ago in https://gerrit.libreoffice.org/#/c/67741/ . That code is related to the XDG_* thingies which are Linux-only.
hang, not hack.
Created attachment 150109 [details] Pre-edited sample Attaching a pre-edited sample, the changes only need to be accepted via Edit -> Track Changes -> Accept all.
In Linux I get an assertion failure in a debug build, with the same message as Tor's in comment 7 (no crash otherwise). Interestingly there's no assertion if the button is clicked in the Manage Changes dialog. The menu item was added in the following commit, but I don't know what the difference might be compared to the button. Henry, does the assert ring any bells to you? https://cgit.freedesktop.org/libreoffice/core/commit/?id=2db44bd017daac8f668393bca24911e95125857a author Henry Castro <hcastro@collabora.com> 2017-11-04 12:18:53 -0400 committer Henry Castro <hcastro@collabora.com> 2017-11-08 04:28:01 +0100 sw lok: add Accept/Reject All tracked changes, tdf#101977
Aron, I can reproduce it, working...
Aron, https://gerrit.libreoffice.org/#/c/69441/ Would you please verify to merge master after build success?
Henry Castro committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/+/2ac8d81a00bc9061f88dfd13a6a08873d92a5b86%5E%21 tdf#124162: Crash when trying to accept changes It will be available in 6.3.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Henry Castro committed a patch related to this issue. It has been pushed to "libreoffice-6-2": https://git.libreoffice.org/core/+/0a4249232be237a93ce92bec74780d8cee77fe5c%5E%21 tdf#124162: Crash when trying to accept changes It will be available in 6.2.3. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Should now be fixed in all relevant branches, including cp-6.0 from which the iOS app that Nicolas uses is built. Nicolas, please resolve once you get the next build of the app and have verified.
Thanks to all involved persons! I do very much appreciate the support and help to get those things fixed! Will test the next release and keep my fingers crossed until then! I wish you all a nice day! Best, Nicolas
Nicolas, please mark as verified when you have eventually verified that the bug is gone.
Fixed in 0.1 (23). Thanks a lot @Collabora
Let's use verified status, thanks for retesting Nicolas!