Bug 93281 - LibreOffice Viewer for Android worked only once; after that, it always crashes.
Summary: LibreOffice Viewer for Android worked only once; after that, it always crashes.
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Android Viewer (show other bugs)
Version:
(earliest affected)
5.0.0.0.alpha0+ Master
Hardware: Other Android
: medium critical
Assignee: Not Assigned
URL:
Whiteboard: target:5.1.0
Keywords:
: 88858 91785 93950 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-08-08 16:42 UTC by Marcos Capelli
Modified: 2016-10-25 19:21 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments
ODT file (52.71 KB, application/vnd.oasis.opendocument.text)
2015-09-02 21:06 UTC, Marcos Capelli
Details
ODS file (11.25 KB, application/vnd.oasis.opendocument.spreadsheet)
2015-09-02 21:07 UTC, Marcos Capelli
Details
Error message screenshot (61.30 KB, image/png)
2015-09-02 21:44 UTC, Marcos Capelli
Details
Forced interruption screenshot (144.21 KB, image/png)
2015-09-02 22:20 UTC, Marcos Capelli
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcos Capelli 2015-08-08 16:42:58 UTC
LibreOffice version: 5.0.0.0.alpha1+
Build ID: ab465b9
Android version: 4.4.2
Kernel version: 3.4.0-perf
Smartphone: Sony Experia E1 Dual E2114
Internal storage free space: 0.7 GB
SD card free space: 1.9 GB
Instalation method: downloaded and installed directly to the smartphone from Google Play Store on Aug-07-2015.
Description: Soon after installing LibreOffice Viewer, it was possible to open a ".odt" file, successfuly. Edit mode was not enabled. After viewing the file, it was manually closed. Minutes later, a new attempt to open the very same file was not successful. LibreOffice crashed and an error message appeared, informing that "LibreOffice Viewer stopped". The same behaviour occurs over and over, for this file and for all other files that have been tested - including ".odt", ".ods" and ".docx" as well.
Comment 1 Robinson Tryon (qubit) 2015-09-02 15:39:29 UTC
(In reply to Marcos Capelli from comment #0)
> Smartphone: Sony Experia E1 Dual E2114

This is an ARM-based system, right?

> Description: Soon after installing LibreOffice Viewer, it was possible to
> open a ".odt" file, successfuly. Edit mode was not enabled. After viewing
> the file, it was manually closed. Minutes later, a new attempt to open the
> very same file was not successful. LibreOffice crashed and an error message
> appeared, informing that "LibreOffice Viewer stopped". The same behaviour
> occurs over and over

Some q's:

- What happens if you force-quit LibreOffice Viewer and/or restart the phone?

- Does reinstalling LibreOffice Viewer fix the problem?

- Would it be possible for you to attach the original ODT file?
  (It's possible that this file somehow triggered the breakage)

Status -> NEEDINFO
Comment 2 Marcos Capelli 2015-09-02 21:06:34 UTC
Created attachment 118361 [details]
ODT file
Comment 3 Marcos Capelli 2015-09-02 21:07:08 UTC
Created attachment 118362 [details]
ODS file
Comment 4 Marcos Capelli 2015-09-02 21:44:16 UTC
Created attachment 118365 [details]
Error message screenshot
Comment 5 Marcos Capelli 2015-09-02 22:20:34 UTC
Created attachment 118366 [details]
Forced interruption screenshot
Comment 6 Marcos Capelli 2015-09-02 22:28:43 UTC
(In reply to Robinson Tryon (qubit) from comment #1)

Hello Robinson,

Thanks for your attention; here are the answers to your questions:

Q: This is an ARM-based system, right?
A: Yes, the system is based on a "Qualcomm Snapdragon 200 MSM8210 - ARM Cortex-A7" CPU.


Q: What happens if you force-quit LibreOffice Viewer and/or restart the phone?
A: Let's see:

I went into the Android "configurations/applications/LibreOffice Viewer" and clicked on the "force interruption" button. After a couple of seconds that button went into a disabled state, so I assumed that the application was successfully interrupted (please refer to "Force interruption screenshot" PNG file in the attachments session of this bug report). After that, I tried to open a document file; the application launched, but it crashed again. If this procedure is not what you refer to as "force-quit", please let me know so I can do the test.

Tried to do that same "force interruption" + restarting the phone. Did not work.

Tried to restart the phone only. Did not work, too.

Exitting LibreOffice Viewer upon a crash (i.e., by clicking the "OK" button of the error message) causes the application to close without affecting any other phone functionalities.

If I relaunch the application, browse folders through it and try to open any file, it crashes, so I have to click the "OK" button of the error message and exit the application.

If I use a file manager ("File Commander", for instance) to select any document file and click on it to open, LibreOffice Viewer is called (because of the file extension associated), then it starts loading itself but, before the document file can be viewed, the application crashes and I have to click the "OK" button of the error message to exit the application.

So this means that no matter if I click on a file to launch LibreOffice Viewer, or firstly start the app to open a file through it. The application will crash, and clicking the "OK" button of the error message is always needed.

If you would like to see what this "error message" that I refer to looks like, please see attached "Error message screenshot" PNG file in the attachments session - words in Portuguese mean "The LibreOffice Viewer has stopped", with the options "INFORM" and "OK").



Q: Does reinstalling LibreOffice Viewer fix the problem?
A: I uninstalled and then installed again from Google App Store. The very same version (5.0.0.0.alpha1+, Build ID: ab465b9), and got the very same results.


Q: Would it be possible for you to attach the original ODT file?
A: Sure; please see it named as "ODT file" in the attachments session of this bug report.


By the way let me share the following:

1- After reinstalling LibreOffice and trying to open the ".odt" file, it opens successfully for the first time. If I try to open the VERY SAME file, LibreOffice will not open it, and will not open any other document files as well.

2- In this other test, after reinstalling LibreOffice and trying to open the ".odt" file, it opens successfully for the fist time. If I try to open A DIFFERENT document file, LibreOffice will not open that different document file, and will not open any other document files as well - please notice that this test is slightly different than the above.

3- Then I repeated the two tests above, but now using an ".ods" file as the first file to be opened. Results are all the same: the ".ods" file is succesfuly opened just once after each LibreOffice reinstallation, and then it never more can be opened, as well as any other document files.

4- The ONLY one condition in which the application seems to work is when I launch LibreOffice Viewer WIHTOUT OPENING any document file - meaning that the application is launched and apparently is ready to open document files, since I can browse the folders through it, check the settings, check the "about" information, and other things different than viewing a document file. No problems happen in this condition, and I can leave the app without an error message appearing...


I hope this information can add some value to the investigation. I'll be glad if I can help any further.

Cheers,

Marcos Capelli
Comment 7 Marcos Capelli 2015-09-02 23:06:43 UTC
Dear Robinson and other people who might be interested:

I've made some additional test here on my own, and found out something that allows me to open document files "at least for a while".

I went into Android's "Configurations/Applications/LibreOffice Viewer". This took me to the LibreOffice Viewer "application information" screen, in which among other options, there is one named "Clear chache".

I've found the cache had 32.00Kb. After clearing, its value decreased to "12.00Kb" - I did this without doing "force interruption" and without doing any other thing.

I then launched the LibreOffice Viewer application, browsed some folders through it, and I could successfuly open various files in a "single session" - If you read the bug report logs, you will see that I was never able to do so.

After viewing various files (".odt", ".ods" and ".docx") randomly, I exitted the application without facing any error message.

When I launched LibreOffice Viewer again, I wasn't able to open any file anymore (the "old" error message appeared). By repeating the "clear cache" procedure, I could use the application and viewed several files in a "single session". By exitting the app and relaunching it, the problem reappeared - no files could be opened, confirming that this problem reapeats over and over.

So in this point I believe the cache thing must be investigated. Until a fix is provided, the possible workaround is having the cache cleared everytime before the app is launched - not comfortable from a user perspective, but at least it helps.

Regards,

Marcos Capelli
Comment 8 eular.frank 2015-09-23 17:11:59 UTC
The same issue appears on my Samsung Galaxy S5 with cyanogenmod (kltechnduo) and Samsung Tab2 7.0 with cyanogenmod (p3110). I fetched the app from F-Droid.

The log is obtained via adb logcat from my SGS5:

V/WindowManager(  690): Adding window Window{6dcc71b u0 SurfaceView} at 8 of 14 (before Window{109d1615 u0 org.documentfoundation.libreoffice/org.libreoffice.LibreOfficeMainActivity})
I/ActivityManager(  690): Displayed org.documentfoundation.libreoffice/org.libreoffice.LibreOfficeMainActivity: +2s911ms (total +3s60ms)
I/Timeline(  690): Timeline: Activity_windows_visible id: ActivityRecord{2922ab3 u0 org.documentfoundation.libreoffice/org.libreoffice.LibreOfficeMainActivity t2459} time:14460738
D/audio_hw_primary(  260): out_standby: enter: stream (0xb5880740) usecase(1: low-latency-playback)
D/hardware_info(  260): hw_info_append_hw_type : device_name = speaker
I/stderr  (17714): LOK init failed -- restart required
I/LibreOffice(17714): New sal thread started and attached res=0
I/LibreOffice/androidinst(17714): Android: CreateSalInstance!
F/libc    (17714): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 17740 (Thread-1369)
I/DEBUG   (  256): property debug.db.uid not set; NOT waiting for gdb.
I/DEBUG   (  256): HINT: adb shell setprop debug.db.uid 100000
I/DEBUG   (  256): HINT: adb forward tcp:5039 tcp:5039
I/LibreOffice/androidinst(17714): AttachCurrentThread res=0 env=0x99057460
I/DEBUG   (  256): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  256): Build fingerprint: 'samsung/klteduoszm/klteduoszm:5.0/LRX21T/G9008WZMU1BOC2:user/release-keys'
I/DEBUG   (  256): Revision: '10'
I/DEBUG   (  256): ABI: 'arm'
I/DEBUG   (  256): pid: 17714, tid: 17740, name: Thread-1369  >>> org.documentfoundation.libreoffice <<<
I/DEBUG   (  256): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
I/DEBUG   (  256):     r0 00000000  r1 af242870  r2 0deb6816  r3 00000000
I/DEBUG   (  256):     r4 a2fd6ab8  r5 b6e36e04  r6 b6e36e04  r7 b6e36e04
I/DEBUG   (  256):     r8 af24289c  r9 00000000  sl b4aee200  fp b3506884
I/DEBUG   (  256):     ip 9e7424cd  sp af242848  lr 9fb9f951  pc 9fb9e1d2  cpsr 600f0030
I/DEBUG   (  256): 
I/DEBUG   (  256): backtrace:
I/DEBUG   (  256):     #00 pc 01cdf1d2  /mnt/asec/org.documentfoundation.libreoffice-1/lib/arm/liblo-native-code.so
I/DEBUG   (  256):     #01 pc 0deb6812  <unknown>
W/Thread-1369(17740): type=1701 audit(0.0:318): auid=4294967295 uid=10094 gid=10094 ses=4294967295 subj=u:r:untrusted_app:s0 reason="memory violation" sig=11
I/DEBUG   (  256): 
I/DEBUG   (  256): Tombstone written to: /data/tombstones/tombstone_01
W/ActivityManager(  690):   Force finishing activity 1 org.documentfoundation.libreoffice/org.libreoffice.LibreOfficeMainActivity
I/Choreographer(17714): Skipped 37 frames!  The application may be doing too much work on its main thread.
I/BootReceiver(  690): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
I/WindowState(  690): WIN DEATH: Window{109d1615 u0 org.documentfoundation.libreoffice/org.libreoffice.LibreOfficeMainActivity}
Comment 9 savignac06 2015-09-23 19:04:21 UTC
Marcos Capelli wrote:
"I went into Android's "Configurations/Applications/LibreOffice Viewer". This took me to the LibreOffice Viewer "application information" screen, in which among other options, there is one named "Clear chache".
I've found the cache had 32.00Kb. After clearing, its value decreased to "12.00Kb" - I did this without doing "force interruption" and without doing any other thing."
After a crash when opening .ods / .doc files, I remembered the cache clearing which Marcos spoke of and I did so. I didn't notice the size of my own cache but, as he explained, after that I could open those files I couldn't before. And so I agree that the cache thing might probably be investigated.
Comment 10 Expresso2 2015-09-24 12:32:41 UTC
I am using a Samsung Galaxy Tab 4 running Android 4.4.2.  Downloaded and installed LibreOffice Viewer present version from Google Play on Sept 19, 2015 and deleted and reinstalled it on Sept 22, 2015.  Having the same problem as Marcos.  When I use LibreOffice Viewer once to open a .odt file I cannot do so again.  When I try to open the same .odt file a second time I get the error message "LibreOffice Viewer has stopped".  This occurs even when I try to open .rtf files.  Once I clear the tablet's memory cache I can then open the .odt file desired. Whenever I want to view a .odt file on my tablet, I am now clearing the tablet's cache memory before I open the LibreOffice Viewer app.
Comment 11 Christian Lohmaier 2015-10-03 20:01:53 UTC
*** Bug 93950 has been marked as a duplicate of this bug. ***
Comment 12 Christian Lohmaier 2015-10-03 20:03:53 UTC
*** Bug 88858 has been marked as a duplicate of this bug. ***
Comment 13 Christian Lohmaier 2015-10-03 20:18:02 UTC
*** Bug 91785 has been marked as a duplicate of this bug. ***
Comment 14 Commit Notification 2015-10-03 20:56:21 UTC
Christian Lohmaier committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=1a6ec13d0805b7aa8c3bdcbfcc444c4916dfc817

tdf#93281 clean cache directory on each start

It will be available in 5.1.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 15 Robinson Tryon (qubit) 2015-10-07 21:55:35 UTC
(In reply to Commit Notification from comment #14)
> tdf#93281 clean cache directory on each start
> 
> It will be available in 5.1.0.
> 
> The patch should be included in the daily builds available at
> http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More

Dropping Severity -> Critical (we don't use 'blocker' anymore).

Marcos (et al): Can someone test with a daily Android build and see if this crasher continues to persist? I'd love to see this one Resolved!
Comment 16 Marcos Capelli 2015-10-08 04:12:17 UTC
Dear Robinson, Christian and all,

Life is beautiful again :-)

After updating to version "5.1.0.0.alpha1+ Buuild ID: 1a6ec13", I am now able to open those files (and others) that I wasn't able before, several times without a crash. Here are the file extensions that I tested:

.ods
.xlsx
.odt
.doc
.docx
.odp
.pps

It will be good if the others who have reported problems could also share their experience before closing this bug.

Rgds,

Marcos
Comment 17 Chaitra 2015-10-10 06:46:25 UTC
Verified that the bug reported in bug description https://bugs.documentfoundation.org/show_bug.cgi?id=93950 is not occurring on the latest build number specified above.

I was able to open more than 10 files without clearing my cache each time.

Life's really good again!! :)

Thanks
-Chaitra