New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Too many open libraries #6

Closed
m-kuhn opened this Issue Feb 18, 2015 · 11 comments

Comments

Projects
None yet
3 participants
@m-kuhn
Copy link
Member

m-kuhn commented Feb 18, 2015

We should try to reduce the number of libraries. A system threshold is hit on some devices.

Candidates:

  • QwtPolar (0.2.9 ships without)
  • QScintilla
  • Print support?
  • GDAL monolithic build?

https://drive.google.com/file/d/0B4viNCOF63D-dXJZRnNyazByUHc/view

@saultdon

This comment has been minimized.

Copy link

saultdon commented Feb 18, 2015

I tried with 0.2.9 and it's still crashing on start for the RangerX.

Here's the link to the log:
https://drive.google.com/file/d/0B4viNCOF63D-cEVDUkhUcVVJME0/view?usp=sharing

@saultdon

This comment has been minimized.

Copy link

saultdon commented Mar 18, 2015

It got a little farther with 0.3.2.

The black screen popped up, then shortly a small window that said something like "unpacking post install files" appeared then when that got to 100%, the app crashed.

Here's my log for it.

https://drive.google.com/file/d/0B4viNCOF63D-czhFSmtIcTBZb28/view?usp=sharing

Just tried on 0.3.3 same behaviour as above.

@m-kuhn

This comment has been minimized.

Copy link
Member

m-kuhn commented Mar 24, 2015

The unpacking part is new and is pure (startup) Java that is executed before the libraries are loaded. Therefore the unpacking process already takes place before the loading libraries issue surfaces.

@m-kuhn m-kuhn added the bug label Mar 26, 2015

@m-kuhn

This comment has been minimized.

Copy link
Member

m-kuhn commented Mar 31, 2015

If someone feels experimental he may install CyanogenMod or another custom ROM to check if it is an OS issue. Just make sure you get Android 4.x. And be aware that this may void your warranty! You have been warned!

@m-kuhn

This comment has been minimized.

Copy link
Member

m-kuhn commented May 29, 2015

If you find a line containing the following text in your logcat, you are affected by this problem:

Cannot load library: soinfo_alloc(linker.cpp:287): too many libraries when loading 

E.g.

W/Qt      ( 2360): qrc:/qml/qgismobileapp.qml:18 ((null)): qrc:/qml/qgismobileapp.qml:18:1: plugin cannot be loaded for module "QtQuick": Cannot load library /data/data/org.kde.necessitas.ministro/files/dl/1/stable/qml/QtQuick.2/libqtquick2plugin.so: (Cannot load library: soinfo_alloc(linker.cpp:287): too many libraries when loading "libqtquick2plugin.so")
@saultdon

This comment has been minimized.

Copy link

saultdon commented May 29, 2015

It's funny that on a consumer tablet like the EVGA Tegra Note or Samsung Galaxy Tab 4 that qfield opens and runs.

But on a industry/military grade tablet like Xplore Technologies RangerX - won't.

Is this like a kernel env. variable that needs to be changed? I wonder if it's as simple as increasing the ulimit or something... There's more RAM on the RangerX than there is in the Tegra Note or Galaxy Tab 4 too.

If I knew, I could talk to the manufacturers to patch the devices we have.

@mbernasocchi

This comment has been minimized.

Copy link
Member

mbernasocchi commented May 29, 2015

I remember investigating this deeply, and it is indeed a hardcoded value in android builds, I'll try to digg up my bug report

@mbernasocchi

This comment has been minimized.

Copy link
Member

mbernasocchi commented May 29, 2015

@mbernasocchi

This comment has been minimized.

@mbernasocchi

This comment has been minimized.

Copy link
Member

mbernasocchi commented Jun 2, 2015

ok I had a bit of a further look,
in https://android.googlesource.com/platform/bionic/+/android-cts-4.2_r2/linker/linker.cpp
SO_MAX is still present, in
https://android.googlesource.com/platform/bionic/+/android-4.3_r0.9/linker/linker.cpp
it is not any more, so I think we should suggest android 4.3 to 4.4.4 as best OS versions for QField

@m-kuhn m-kuhn added the wontfix label Dec 1, 2015

@m-kuhn

This comment has been minimized.

Copy link
Member

m-kuhn commented Dec 1, 2015

We can't really do anything about it.
You are adviced to look for a device >= 4.3.

@m-kuhn m-kuhn closed this Dec 1, 2015

m-kuhn added a commit that referenced this issue Jul 7, 2016

Fix crash
Fixes

```
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint:
'samsung/lt03ltexx/lt03lte:5.1.1/LMY47X/P605XXU1EOI5:user/release-keys'
Revision: '11'
ABI: 'arm'
pid: 9589, tid: 9621, name: QtThread  >>> ch.opengis.qfield <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdc
    r0 9a888d38  r1 000000d8  r2 00000000  r3 9b657718
    r4 9a888d38  r5 00000000  r6 9e6988a0  r7 00000001
    r8 00000000  r9 9e6988a8  sl 9a889194  fp 9d53e1d0
    ip aef517c0  sp 9a888d38  lr aef1706f  pc 9b25e58a  cpsr 800e0030

backtrace:
    #00 pc 002c558a
/data/app/ch.opengis.qfield-1/lib/arm/libqgis_core.so
(QgsFields::QgsFields(QgsFields const&)+9)
    #1 pc 0002406b  /data/app/ch.opengis.qfield-1/lib/arm/libqfield.so
(FeatureModel::resetAttributes(bool)+28)
    #2 pc 0002d22d  /data/app/ch.opengis.qfield-1/lib/arm/libqfield.so
    #3 pc 0002d39b  /data/app/ch.opengis.qfield-1/lib/arm/libqfield.so
(FeatureModel::qt_metacall(QMetaObject::Call, int, void**)+30)
    #4 pc 001847b9  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Core.so
(QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**)+44)
    #5 pc 00133d73  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
    #6 pc 000ff6dd  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
    #7 pc 000ff89b  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
    #8 pc 000ffce5  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
(QV4::QObjectMethod::callInternal(QV4::CallData*) const+1040)
    #9 pc 000d1d5d  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
    #10 pc 001086af  /data/app/ch.opengis.qfield-1/lib/arm/libQt5Qml.so
(QV4::Runtime::callProperty(QV4::ExecutionEngine*, int,
QV4::CallData*)+374)
    #11 pc 000074b5  <unknown>
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment