| Summary: | Crash after device was put into "stand by" mode | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Nicolas Christener <contact> |
| Component: | iOS Editor | Assignee: | Not Assigned <libreoffice-bugs> |
| Status: | VERIFIED FIXED | ||
| Severity: | normal | CC: | aron.budea, xiscofauli |
| Priority: | medium | ||
| Version: | unspecified | ||
| Hardware: | Other | ||
| OS: | iOS | ||
| Whiteboard: | target:6.3.0 | ||
| Crash report or crash signature: | Regression By: | ||
| Attachments: | Crash after "stand by" | ||
|
Description
Nicolas Christener
2019-01-07 18:02:14 UTC
Created attachment 148111 [details]
Crash after "stand by"
Moving to NEW At first I thought it might be hard to debug this as the device does not go into "stand by" mode when an app is being debugged in Xcode. but I could reproduce it by pressing the lock button and unlocking it.
> libc++abi.dylib: terminating with uncaught exception of type std::length_error: vector
But sadly the thread where that abort message is generated does not have any vector operation in the call stack, huh? Investigating.
The immediate cause of the crash is that in DocumentViewController.mm, in the block ("lambda") for the thread started by the dispatch_async() call in the userContentController:didReceiveScriptMessage: instance method, the fakeSocketAvailableDataLength() function returns -1 and that return value is passed to the constructor for std::vector<char> buf(n). The root cause is more complicated; for some reason a new Document object gets constructed even if an existing one is active.
Tor Lillqvist committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/online/+/8dce31364219ed5a41a4f8f530ab658d4aff7778%5E%21 tdf#122543: Ignore duplicate calls to loadFromContents on same Document The above fix (also in the cp-6.0 branch) helps. Will be included in the next build of the app. I mean collabora-online-4 branch, not cp-6.0 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! |