Giter Club home page Giter Club logo

libzim's People

Contributors

akuendig avatar aryana101a avatar begasus avatar cscott avatar data-man avatar hashworks avatar jasco avatar kelson42 avatar kelvinhammond avatar kiranmathewkoshy avatar legoktm avatar locutusofborg avatar maekitalo avatar maneeshpm avatar mgautierfr avatar miguelrocha avatar mohamed-sameh-khalil avatar mohit909 avatar mornfall avatar nirbheek avatar rgaudin avatar shaopenglin avatar swills avatar teeks99 avatar theduchy avatar veloman-yunkan avatar xiaoyifang avatar xvitaly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libzim's Issues

Getting rid of the namespaces

The ZIM namespaces in the ZIM force to rewrite directory/file structure following a certain scheme.

This is/was necessary to distinguish file types and allow certain features (like the ZIM file suggestion system which should only returns articles - and not images).

The problem is that by not respecting the original directory/file organisation, it breaks the links between the contents, forces the URL rewriting and in many case this is really annoying for the people creating ZIM files.

For these reasons we should remove the namespaces and find a few new ideas to keep the level of features without using them. Of course this would be a serious ZIM spec change, so we need to find solutions to keep backward compatibility in the libzim.

Remark: Of course zimwriterfs needs to be modified too.

Does not build on Mac OS X

Hi All,

Has anyone build libzim on a Mac? Is it a supported platform for dev?

I wanted to test some things out (exploring pybind11) and after installing the dependencies and running ninja I ran into this error:

...
FAILED: src/zim@sha/buffer.cpp.o
c++  -Isrc/zim@sha -Isrc -I../src -Iinclude -I../include -I/usr/local/Cellar/xz/5.2.3/include -I/usr/local/Cellar/xapian/1.4.4/include -I/usr/local/Cellar/icu4c/59.1/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O0 -g -MMD -MQ 'src/zim@sha/buffer.cpp.o' -MF 'src/zim@sha/buffer.cpp.o.d' -o 'src/zim@sha/buffer.cpp.o' -c ../src/buffer.cpp
../src/buffer.cpp:45:68: error: use of undeclared identifier 'MAP_POPULATE'

It seems like MAP_POPULATE is a linux-only thing: https://stackoverflow.com/questions/35568112/use-of-undeclared-identifier-map-populate but I know libzim or did I misconfigure something?

I'm fine working under linux too, just wanted to check if someone is doing dev on libzim on a Mac and knows a workaround.

Here are the dependency-installation steps through homebrew:

brew install zlib
brew install xapian
brew upgrade icu4c
meson . build

I'm on Yosemite 10.10.5

Correctly handle the lib soname.

From @mgautierfr on March 6, 2017 17:23

With the 1.3 version, we add a new API (getOffset, ...), but we haven't change the soname.

So, the linker may link with the wrong library.
This is what happen on a debian if the zimlib (1.2) deb package is installed.
As the system libzim.so and the locally built one have the same soname, the linker use the first one (1.2) and fails because it cannot found getOffset.

The actual soname is 2.0.0. We should change it to 2.1.0

Copied from original issue: wikimedia/openzim#8

Crash of Kiwix Android when calling getTitle()

Quite how I ended up here I don't know, however here's the story:

  • I wanted to test issues related to search for a particular ZIM file (See kiwix/kiwix-android#311)
  • The device, a Nook HD+ running CyanogenMod 6.0.1, had an old release of Kiwix Android, version 1.99
  • I uninstalled that version and installed one built from master at kiwix/kiwix-android@b9c78f7
  • The app crashes shortly after selecting 'Get Content'

The crash happens each time I try. The file exists in local (internal) storage (see below). The device also has an sd-card with ZIM files.

adb shell
root@ovation:/ # ls -l /storage/emulated/0/Download/oer4schools_en_all_2015-11.zim
-rw-rw----    1 root         sdcard_rw    2639873739 Apr  4  2016 /storage/emulated/0/Download/oer4schools_en_all_2015-11.zim

Here's an extract from the Android log:

12-15 14:18:39.868 24671 24761 I kiwix   : Opening ZIM file /storage/emulated/0/Download/oer4schools_en_all_2015-11.zim
12-15 14:18:39.950 24671 24760 D android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 14:18:39.990 24671 24760 D android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 14:18:40.012 24671 24760 D kiwix   : Searching directory /mnt
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0x44fcc530
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]     from java.lang.String org.kiwix.kiwixlib.JNIKiwixReader.getTitle()

Here's the full contents of the Android log (cleared before starting the app by adb logcat -c):

adb logcat -c
Julians-MBP:kiwix-android julianharty$ adb logcat 
--------- beginning of system
12-15 14:18:34.650   152   458 E NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'UID' not found
--------- beginning of main
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470222000, current time 46877438945136, call time 46877438914618.  Using current time instead.
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470252000, current time 46877439189277, call time 46877438914618.  Using current time instead.
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470252000, current time 46877439402900, call time 46877438914618.  Using current time instead.
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470283000, current time 46877439586005, call time 46877438914618.  Using current time instead.
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470283000, current time 46877439799628, call time 46877438914618.  Using current time instead.
12-15 14:18:39.426   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470283000, current time 46877439860663, call time 46877438914618.  Using current time instead.
12-15 14:18:39.427   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470283000, current time 46877439921698, call time 46877438914618.  Using current time instead.
12-15 14:18:39.427   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470283000, current time 46877440013251, call time 46877438914618.  Using current time instead.
12-15 14:18:39.427   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569470313000, current time 46877440074286, call time 46877438914618.  Using current time instead.
12-15 14:18:39.465   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569509712000, current time 46877478251780, call time 46877478251780.  Using current time instead.
12-15 14:18:39.465   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569509712000, current time 46877478343333, call time 46877478251780.  Using current time instead.
12-15 14:18:39.465   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569509712000, current time 46877478404368, call time 46877478251780.  Using current time instead.
12-15 14:18:39.465   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569509712000, current time 46877478495920, call time 46877478251780.  Using current time instead.
12-15 14:18:39.473   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569517555000, current time 46877486125315, call time 46877486094797.  Using current time instead.
12-15 14:18:39.473   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569517555000, current time 46877486216868, call time 46877486094797.  Using current time instead.
12-15 14:18:39.481   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569526161000, current time 46877494731272, call time 46877494731272.  Using current time instead.
12-15 14:18:39.481   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569526161000, current time 46877494822825, call time 46877494731272.  Using current time instead.
12-15 14:18:39.481   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569526161000, current time 46877494883860, call time 46877494731272.  Using current time instead.
12-15 14:18:39.482   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569526191000, current time 46877494944895, call time 46877494731272.  Using current time instead.
12-15 14:18:39.482   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569526191000, current time 46877495005930, call time 46877494731272.  Using current time instead.
12-15 14:18:39.491   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504618967, call time 46877504618967.  Using current time instead.
12-15 14:18:39.491   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504741037, call time 46877504618967.  Using current time instead.
12-15 14:18:39.491   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504802073, call time 46877504618967.  Using current time instead.
12-15 14:18:39.491   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504863108, call time 46877504618967.  Using current time instead.
12-15 14:18:39.492   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504924143, call time 46877504618967.  Using current time instead.
12-15 14:18:39.492   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877504985178, call time 46877504618967.  Using current time instead.
12-15 14:18:39.492   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536079000, current time 46877505046213, call time 46877504618967.  Using current time instead.
12-15 14:18:39.492   467   518 W EventHub: An input event from /dev/input/event2 has a timestamp that appears to have been generated using the wrong clock source (expected CLOCK_MONOTONIC): event time 1229569536109000, current time 46877505107248, call time 46877504618967.  Using current time instead.
12-15 14:18:39.497   467   979 I ActivityManager: START u0 {act=android.intent.action.GET_CONTENT cat=[android.intent.category.OPENABLE] typ=// cmp=org.kiwix.kiwixmobile/.zim_manager.ZimManageActivity (has extras)} from uid 10072 on display 0
12-15 14:18:39.508 24671 24671 D kiwix   : onPause Save currentzimfile to preferences: null
12-15 14:18:39.653 24671 24671 I kiwix   : ZimManageActivity successfully bootstrapped
12-15 14:18:39.868 24671 24761 I kiwix   : Opening ZIM file /storage/emulated/0/Download/oer4schools_en_all_2015-11.zim
12-15 14:18:39.950 24671 24760 D android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 14:18:39.990 24671 24760 D android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 14:18:40.012 24671 24760 D kiwix   : Searching directory /mnt
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0x44fcc530
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]     from java.lang.String org.kiwix.kiwixlib.JNIKiwixReader.getTitle()
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410] "Thread-617" prio=5 tid=34 Runnable
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   | group="main" sCount=0 dsCount=0 obj=0x13016e20 self=0x5c454c00
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   | sysTid=24761 nice=0 cgrp=default sched=0/0 handle=0x5e4cd930
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   | state=R schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   | stack=0x5e3cb000-0x5e3cd000 stackSize=1038KB
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   | held mutexes= "mutator lock"(shared held)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #00 pc 00361b95  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+116)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #01 pc 003430bf  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+138)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #02 pc 00259bf9  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+844)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #03 pc 0025a2e5  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+68)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #04 pc 00343eff  /system/lib/libart.so (art::Thread::DecodeJObject(_jobject*) const+174)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #05 pc 000e82b9  /system/lib/libart.so (art::JniMethodEndWithReference(_jobject*, unsigned int, art::Thread*)+56)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #06 pc 003f03cf  /system/lib/libart.so (artQuickGenericJniEndTrampoline+362)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #07 pc 000ed515  /system/lib/libart.so (art_quick_generic_jni_trampoline+52)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #08 pc 000e8e11  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #09 pc 003f4b2f  /system/lib/libart.so (art_quick_invoke_stub+170)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   native: #10 pc 00100cf4   (Java_org_kiwix_kiwixlib_JNIKiwixReader_getTitle__+470992915)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixlib.JNIKiwixReader.getTitle(Native method)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.ZimContentProvider.getZimFileTitle(ZimContentProvider.java:135)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.utils.files.FileSearch.fileToBook(FileSearch.java:186)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   - locked <0x07a8fc8b> (a java.lang.Class<org.kiwix.kiwixmobile.utils.files.FileSearch>)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.utils.files.FileSearch.onFileFound(FileSearch.java:225)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.utils.files.FileSearch.scanMediaStore(FileSearch.java:100)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.utils.files.FileSearch.lambda$scan$1$FileSearch(FileSearch.java:70)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at org.kiwix.kiwixmobile.utils.files.FileSearch$$Lambda$1.run(unavailable:-1)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.052 24671 24761 F art     : art/runtime/java_vm_ext.cc:410] 
12-15 14:18:40.067 24671 24760 D kiwix   : Found /mnt/sdcard/Download/wikipedia_en_for-schools_2013-01.zim
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] Runtime aborting...
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] Aborting thread:
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] "Thread-617" prio=5 tid=34 Native
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=0 dsCount=0 obj=0x13016e20 self=0x5c454c00
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24761 nice=0 cgrp=default sched=0/0 handle=0x5e4cd930
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=R schedstat=( 0 0 0 ) utm=1 stm=3 core=1 HZ=100
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x5e3cb000-0x5e3cd000 stackSize=1038KB
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes= "abort lock"
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00361b95  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+116)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 003430bf  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+138)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 003263e3  /system/lib/libart.so (art::Runtime::Abort()+622)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 000f6e4d  /system/lib/libart.so (art::LogMessage::~LogMessage()+2184)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 00259e89  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1500)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0025a2e5  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+68)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 00343eff  /system/lib/libart.so (art::Thread::DecodeJObject(_jobject*) const+174)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #07 pc 000e82b9  /system/lib/libart.so (art::JniMethodEndWithReference(_jobject*, unsigned int, art::Thread*)+56)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #08 pc 003f03cf  /system/lib/libart.so (artQuickGenericJniEndTrampoline+362)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #09 pc 000ed515  /system/lib/libart.so (art_quick_generic_jni_trampoline+52)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #10 pc 000e8e11  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #11 pc 003f4b2f  /system/lib/libart.so (art_quick_invoke_stub+170)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #12 pc 00100cf4   (???)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixlib.JNIKiwixReader.getTitle(Native method)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.ZimContentProvider.getZimFileTitle(ZimContentProvider.java:135)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.fileToBook(FileSearch.java:186)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x07a8fc8b> (a java.lang.Class<org.kiwix.kiwixmobile.utils.files.FileSearch>)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.onFileFound(FileSearch.java:225)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.scanMediaStore(FileSearch.java:100)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.lambda$scan$1$FileSearch(FileSearch.java:70)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch$$Lambda$1.run(unavailable:-1)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] Dumping all threads without appropriate locks held: thread list lock mutator lock
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] All threads:
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] DALVIK THREADS (34):
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366] "Thread-617" prio=5 tid=34 Runnable
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=0 dsCount=0 obj=0x13016e20 self=0x5c454c00
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24761 nice=0 cgrp=default sched=0/0 handle=0x5e4cd930
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=R schedstat=( 0 0 0 ) utm=4 stm=3 core=1 HZ=100
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x5e3cb000-0x5e3cd000 stackSize=1038KB
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes= "abort lock" "mutator lock"(shared held)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00361b95  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+116)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 003430bf  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+138)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0034c95d  /system/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+528)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 0034d459  /system/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*)+200)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0034d965  /system/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+124)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 00326319  /system/lib/libart.so (art::Runtime::Abort()+420)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 000f6e4d  /system/lib/libart.so (art::LogMessage::~LogMessage()+2184)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #07 pc 00259e89  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1500)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #08 pc 0025a2e5  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+68)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #09 pc 00343eff  /system/lib/libart.so (art::Thread::DecodeJObject(_jobject*) const+174)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #10 pc 000e82b9  /system/lib/libart.so (art::JniMethodEndWithReference(_jobject*, unsigned int, art::Thread*)+56)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #11 pc 003f03cf  /system/lib/libart.so (artQuickGenericJniEndTrampoline+362)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #12 pc 000ed515  /system/lib/libart.so (art_quick_generic_jni_trampoline+52)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #13 pc 000e8e11  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #14 pc 003f4b2f  /system/lib/libart.so (art_quick_invoke_stub+170)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #15 pc 00100cf4   (Java_org_kiwix_kiwixlib_JNIKiwixReader_getTitle__+470992915)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixlib.JNIKiwixReader.getTitle(Native method)
12-15 14:18:40.992 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.ZimContentProvider.getZimFileTitle(ZimContentProvider.java:135)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.fileToBook(FileSearch.java:186)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x07a8fc8b> (a java.lang.Class<org.kiwix.kiwixmobile.utils.files.FileSearch>)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.onFileFound(FileSearch.java:225)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.scanMediaStore(FileSearch.java:100)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch.lambda$scan$1$FileSearch(FileSearch.java:70)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at org.kiwix.kiwixmobile.utils.files.FileSearch$$Lambda$1.run(unavailable:-1)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] "main" prio=5 tid=1 Native
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x73bf53b8 self=0x42236500
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24671 nice=-6 cgrp=default sched=0/0 handle=0x4008fb38
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=246 stm=36 core=1 HZ=100
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0xbe397000-0xbe399000 stackSize=8MB
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 003ee3e9  /system/lib/libart.so (art::GoToRunnable(art::Thread*)+496)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 000e8265  /system/lib/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+8)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002a0fd7  /data/dalvik-cache/arm/system@[email protected] (Java_android_view_ThreadedRenderer_nFence__J+90)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ThreadedRenderer.nFence(Native method)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ThreadedRenderer.fence(ThreadedRenderer.java:393)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2453)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.Choreographer.doCallbacks(Choreographer.java:670)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.Choreographer.doFrame(Choreographer.java:606)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.os.Handler.handleCallback(Handler.java:739)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.os.Handler.dispatchMessage(Handler.java:95)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.os.Looper.loop(Looper.java:148)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.app.ActivityThread.main(ActivityThread.java:5466)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.reflect.Method.invoke!(Native method)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] "Signal Catcher" prio=5 tid=2 WaitingInMainSignalCatcherLoop
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd20a0 self=0x44fcf000
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24675 nice=0 cgrp=default sched=0/0 handle=0x42dd4930
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x42cd8000-0x42cda000 stackSize=1014KB
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040f04  /system/lib/libc.so (__rt_sigtimedwait+12)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001cd4b  /system/lib/libc.so (sigwait+22)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0032d40d  /system/lib/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+60)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 0032f051  /system/lib/libart.so (art::SignalCatcher::Run(void*)+200)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0003f863  /system/lib/libc.so (__pthread_start(void*)+30)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 00019f2b  /system/lib/libc.so (__start_thread+6)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] "JDWP" prio=5 tid=3 WaitingInMainDebuggerLoop
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd50a0 self=0x42236a00
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24677 nice=0 cgrp=default sched=0/0 handle=0x42f50930
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x42e54000-0x42e56000 stackSize=1014KB
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040e20  /system/lib/libc.so (__pselect6+20)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001c0bd  /system/lib/libc.so (select+60)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 003f3745  /system/lib/libart.so (art::JDWP::JdwpAdbState::ProcessIncoming()+200)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 00265a77  /system/lib/libart.so (art::JDWP::JdwpState::Run()+298)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002668d7  /system/lib/libart.so (art::JDWP::StartJdwpThread(void*)+10)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0003f863  /system/lib/libc.so (__pthread_start(void*)+30)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 00019f2b  /system/lib/libc.so (__start_thread+6)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] "FinalizerDaemon" prio=5 tid=4 Waiting
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd13a0 self=0x48396f00
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24679 nice=0 cgrp=default sched=0/0 handle=0x4315a930
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x43058000-0x4305a000 stackSize=1038KB
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002b9895  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1080)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ba587  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+138)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002cc55d  /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0000056d  /data/dalvik-cache/arm/system@[email protected] (Java_java_lang_Object_wait__JI+96)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting on <0x0e681168> (a java.lang.ref.ReferenceQueue)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait(Object.java:423)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:101)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x0e681168> (a java.lang.ref.ReferenceQueue)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:72)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366] "FinalizerWatchdogDaemon" prio=5 tid=5 Waiting
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd1400 self=0x48397400
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24680 nice=0 cgrp=default sched=0/0 handle=0x47165930
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x47063000-0x47065000 stackSize=1038KB
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.993 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002b9895  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1080)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ba587  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+138)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002cc52f  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+30)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0000037f  /data/dalvik-cache/arm/system@[email protected] (Java_java_lang_Object_wait__+74)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting on <0x060d4981> (a java.lang.Daemons$FinalizerWatchdogDaemon)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForObject(Daemons.java:255)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x060d4981> (a java.lang.Daemons$FinalizerWatchdogDaemon)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:227)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] "HeapTaskDaemon" prio=5 tid=6 Blocked
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd1460 self=0x48397900
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24681 nice=0 cgrp=default sched=0/0 handle=0x4726a930
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=4 stm=1 core=0 HZ=100
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x47168000-0x4716a000 stackSize=1038KB
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 001d7e61  /system/lib/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+92)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 001d8371  /system/lib/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+60)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0000037f  /data/dalvik-cache/arm/system@[email protected] (Java_dalvik_system_VMRuntime_runHeapTasks__+74)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at dalvik.system.VMRuntime.runHeapTasks(Native method)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting to lock an unknown object
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:355)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] "Binder_1" prio=5 tid=7 Native
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cdd0a0 self=0x48398300
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24682 nice=0 cgrp=default sched=0/0 handle=0x4beb8930
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4bdbc000-0x4bdbe000 stackSize=1014KB
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040d58  /system/lib/libc.so (__ioctl+8)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001a8c5  /system/lib/libc.so (ioctl+14)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0001ee41  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 0001f323  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0001f3c1  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 00023c45  /system/lib/libbinder.so (???)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 0001011b  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+110)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #07 pc 0005fb57  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+70)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #08 pc 0003f863  /system/lib/libc.so (__pthread_start(void*)+30)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #09 pc 00019f2b  /system/lib/libc.so (__start_thread+6)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] "ReferenceQueueDaemon" prio=5 tid=8 Waiting
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd1340 self=0x42237900
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24678 nice=0 cgrp=default sched=0/0 handle=0x43055930
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x42f53000-0x42f55000 stackSize=1038KB
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002b9895  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1080)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ba587  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+138)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002cc52f  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+30)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0000037f  /data/dalvik-cache/arm/system@[email protected] (Java_java_lang_Object_wait__+74)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting on <0x0ad3ca26> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:147)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x0ad3ca26> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] "Binder_2" prio=5 tid=9 Native
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12ce00a0 self=0x48399700
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24684 nice=0 cgrp=default sched=0/0 handle=0x4bfb7930
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4bebb000-0x4bebd000 stackSize=1014KB
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040d58  /system/lib/libc.so (__ioctl+8)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001a8c5  /system/lib/libc.so (ioctl+14)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0001ee41  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 0001f323  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0001f3c1  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 00023c45  /system/lib/libbinder.so (???)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 0001011b  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+110)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #07 pc 0005fb57  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+70)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #08 pc 0003f863  /system/lib/libc.so (__pthread_start(void*)+30)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #09 pc 00019f2b  /system/lib/libc.so (__start_thread+6)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366] "Binder_3" prio=5 tid=10 Native
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d610a0 self=0x44fd0400
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24686 nice=0 cgrp=default sched=0/0 handle=0x4c0b6930
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4bfba000-0x4bfbc000 stackSize=1014KB
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040d58  /system/lib/libc.so (__ioctl+8)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001a8c5  /system/lib/libc.so (ioctl+14)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0001ee41  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+132)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 0001f323  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
12-15 14:18:40.994 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 0001f3c1  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 00023c45  /system/lib/libbinder.so (???)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #06 pc 0001011b  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+110)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #07 pc 0005fb57  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+70)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #08 pc 0003f863  /system/lib/libc.so (__pthread_start(void*)+30)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #09 pc 00019f2b  /system/lib/libc.so (__start_thread+6)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "Thread-589" prio=5 tid=11 Native
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd2880 self=0x48397e00
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24699 nice=0 cgrp=default sched=0/0 handle=0x4d3cf930
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4d2cd000-0x4d2cf000 stackSize=1038KB
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040b90  /system/lib/libc.so (__accept4+8)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 00000d61  /system/lib/libnetd_client.so (???)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 00084b6d  /system/lib/libandroid_runtime.so (???)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002550c9  /data/dalvik-cache/arm/system@[email protected] (Java_android_net_LocalSocketImpl_accept__Ljava_io_FileDescriptor_2Landroid_net_LocalSocketImpl_2+116)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.net.LocalSocketImpl.accept(Native method)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.net.LocalSocketImpl.accept(LocalSocketImpl.java:331)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at android.net.LocalServerSocket.accept(LocalServerSocket.java:90)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at com.android.tools.ir.server.Server$SocketServerThread.run(Server.java:165)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "pool-1-thread-1" prio=5 tid=12 Waiting
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12f79220 self=0x4839c900
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24703 nice=0 cgrp=default sched=0/0 handle=0x4d4d4930
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4d3d2000-0x4d3d4000 stackSize=1038KB
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002b9895  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1080)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ba587  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+138)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002cc55d  /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0000056d  /data/dalvik-cache/arm/system@[email protected] (Java_java_lang_Object_wait__JI+96)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting on <0x0328d667> (a java.lang.Object)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x0328d667> (a java.lang.Object)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1038)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "AsyncTask #1" prio=5 tid=13 Waiting
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12ffa4c0 self=0x4839d800
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24707 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0x4d973930
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4d871000-0x4d873000 stackSize=1038KB
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 000f9459  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+80)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002b9895  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1080)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ba587  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+138)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #04 pc 002cc55d  /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #05 pc 0000056d  /data/dalvik-cache/arm/system@[email protected] (Java_java_lang_Object_wait__JI+96)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   - waiting on <0x0460dc14> (a java.lang.Object)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   - locked <0x0460dc14> (a java.lang.Object)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1038)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "Chrome_DBThread" prio=5 tid=14 Native
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd10a0 self=0x44fd1800
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24713 nice=0 cgrp=default sched=0/0 handle=0x4e0a6930
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x4dfaa000-0x4dfac000 stackSize=1014KB
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0003f67f  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_internal_t*, pthread_mutex_t*, timespec const*)+56)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002dfa19  /system/app/webview/webview.apk (???)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "Chrome_FileThread" prio=5 tid=15 Native
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd21c0 self=0x4839dd00
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24714 nice=0 cgrp=default sched=0/0 handle=0x57143930
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x57047000-0x57049000 stackSize=1014KB
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040c30  /system/lib/libc.so (__epoll_pwait+20)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001a241  /system/lib/libc.so (epoll_pwait+26)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0001a24f  /system/lib/libc.so (epoll_wait+6)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ff0a3  /system/app/webview/webview.apk (???)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366] "Chrome_FileUserBlockingThread" prio=5 tid=16 Native
12-15 14:18:40.995 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cd5100 self=0x44fd2c00
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24715 nice=0 cgrp=default sched=0/0 handle=0x57242930
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x57146000-0x57148000 stackSize=1014KB
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0003f67f  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_internal_t*, pthread_mutex_t*, timespec const*)+56)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002dfa19  /system/app/webview/webview.apk (???)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366] "Chrome_ProcessLauncherThread" prio=5 tid=17 Native
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12cdd7c0 self=0x4839fb00
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24716 nice=0 cgrp=default sched=0/0 handle=0x57341930
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x57245000-0x57247000 stackSize=1014KB
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 000175a4  /system/lib/libc.so (syscall+28)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0003f67f  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_internal_t*, pthread_mutex_t*, timespec const*)+56)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 002dfa19  /system/app/webview/webview.apk (???)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366] "Chrome_CacheThread" prio=5 tid=18 Native
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12ce0100 self=0x4de8c000
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | sysTid=24717 nice=0 cgrp=default sched=0/0 handle=0x57440930
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | stack=0x57344000-0x57346000 stackSize=1014KB
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   | held mutexes=
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #00 pc 00040c30  /system/lib/libc.so (__epoll_pwait+20)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #01 pc 0001a241  /system/lib/libc.so (epoll_pwait+26)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #02 pc 0001a24f  /system/lib/libc.so (epoll_wait+6)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   native: #03 pc 002ff0a3  /system/app/webview/webview.apk (???)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366]   (no managed stack frames)
12-15 14:18:40.996 24671 24761 F art     : art/runtime/runtime.cc:366] 
12-15 14:18:41.102 24762 24761 W google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----
12-15 14:18:41.102 24762 24761 W google-breakpad: O A arm 02 armv7l 3.0.101+ #1 SMP PREEMPT Mon Feb 22 03:51:56 EST 2016
12-15 14:18:41.102 24762 24761 W google-breakpad: S 0 5E4CB7C0 5E4CB000 00003000
12-15 14:18:41.118 24762 24761 W google-breakpad: S 5E4CB000 0800000088907F4C9445584001000000000000004345564088907F4CF0D7FC4488907F4C00D41B590020405C240000007412594080907F4C9445584088907F4C00D41B59EF7356400800000088907F4C9445584001000000000000004345564088907F4C0010855B0020405C0093B4497412594080907F4C94455840F0D7FC4490D41B592400000090D41B5958B14C5E1200000090D41B59020000003CB14C5E00000000FF1D634201000000A4C9DE42F0266F4204B24C5E54B14C5EA04B7042E04B70420093B44954B14C5E0000000000000000DCB24C5E020000003CB14C5E00000000538B61420033234248B14C5E688E584054B14C5E34B14C5EC98D624234B14C5E94CEDD42A4C9DE426D040000B0A2D14D09000A00080A845B080A845B00C0000000000000A8531D420D825540080A845B50B14C5E48B14C5E080A845BAC0B845BC006785E0030000000000000C006785E0D825540C006785E80B14C5E70B14C5EA4531D42AC0B845B6F8255402004845B01000000AC0B845BFFFFFFFF
12-15 14:18:41.119 24762 24761 W google-breakpad: S 5E4CB180 AC0B845B01000000AC0B845B1F00000074125940C294950C944558400C000000C4B14C5EB8B24C5E000000009CB24C5E200000005CFDFFFF343F6E426DCF544000000000FFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFF0040000001B24C5EBBB24C5E0B000000080000000802FFFFB8B24C5E0B00000097733A420A0000005400000000000000A87B6C70BC8E584099A55240C294950C02000000FFFFFFFFB48E58407EF31B594BFF3942A3B24C5E0300000000000000A6B24C5E2000000091A92C4000000000000000000000000090B24C5E90B24C5EB8B24C5E9CB54C5EBBB24C5E68B54C5E200000005CFDFFFFBBA52C409CB54C5E2000000090B24C5E3103000050083040A6B24C5E3890144059061440D0B24C5E07000000ECB24C5E0B00000024B34C5E010000006CE56B420400000084B34C5E1D000000ECB24C5E84B34C5E6C340058279F0042C1D9335A04F6B901ED03000000FF00000000080000B960C1D9335A04F6B901006CE56B426CE56B42
12-15 14:18:41.119 24762 24761 W google-breakpad: S 5E4CB300 00000000688E584084B34C5ED9B74C5EA0006F428C9E70427CE56B42030914400802FFFF07000000FF03000024B34C5E010000006CE56B420400000084B34C5E1D000000F0B24C5EC096845B1D000000050000000000845B0C0000001D00000005000000C294950C688E5840688E584084B34C5E6CE56B4207000000E5091440A4B74C5E6172742F72756E74696D652F72756E74696D652E63633A3336365D2000206174206A6176612E6C616E672E5468726561642E72756E285468726561642E6A6176613A383138290053656172636824244C616D62646124302E72756E28756E617661696C61626C653A2D31290065617263682E6A6176613A36332900683E292068656C6420627920746872656164203334003A44657846696C653A3A436F64654974656D20636F6E73742A2C206172743A3A536861646F774672616D652A292B3834290072616D65262C206172743A3A4A56616C7565292B333533383229003A4A56616C75652A292B313832290011785E6F8255402004845B01000000
12-15 14:18:41.120 24762 24761 W google-breakpad: S 5E4CB480 AC0B845B01000000E811785E3CEA6B4258B54C5E0100000001B54C5E0039B4490047455C9CB54C5EE04B7042D8F7FFFF9CB54C5E30B54C5E64B54C5E0039B4490047455C6FEE2B40384C7042E04B70420047455C01EA5F42FCB44C5EF0B54C5E00000000D4B54C5E20000000384C70426CB54C5E58B54C5E98B74C5E688E5840984B7042E84B7042C49E704234B54C5E18F56B4228EA6B423CEA6B420040000001B54C5EF3B54C5E0B0000000800000000000000000057000B000000004C455CE0FB8E4800C02742004C455C4300000057000000005C5640911300008413000000C83B58444C7042A04B70425008304000000000000000000000000000E01B5984F31B59FFFF1B5901200000FF1F000088907F4C00D31B590020405C7FFFFFFF7412594080907F4C9445584088907F4C00D31B59EF7356400000000000000000000000006CE86B4240EB6B423CEA6B4230BA20420100000090E52142FFFFFF7FFFFFFF7FC294950C0A00000000000000000000007FFFFFFF20BA204200D31B59
12-15 14:18:41.120 24762 24761 W google-breakpad: S 5E4CB600 80000000FCF7FFFF004C455C2089704284D31B5999F55F420139B449EAB64C5E01000800BC9E70426CB64C5EE8B64C5E0B000000D33B3A4200000000688E584060006F426C006F4264696E4284696E42C294950C290000000C0000000000785E17000000290000000C000000E58B5540000000000C000000000000000C0000000000000000C000000000785E290000009C00785EED8C55400C000000000E785E00C0000000531D4200000000000E785E08531D4200531D4294455840998E55400000000000C00000000000000D00000000907A5E00701D4200C00000BFA65540A0A6000080907F4C0020405C88907F4C00C000002D00000000000000B95F564047A36D423CEA6B4288773600A0B74C5E00000000374F3A4222000000C294950C88907F4C0039B4490020405C0039B4497412594080907F4C9445584088907F4C0039B449EF735640E0B720427DF95F4218EB6B426CE86B4240EB6B423CEA6B42000000000100000000C9FE440039B449004C455C3839B449D8F7FFFF34B84C5E
12-15 14:18:41.121 24762 24761 W google-breakpad: S 5E4CB780 E04B70420039B449D8F7FFFF34B84C5EE04B7042D9B74C5EDFFFFFFF0000000030D94C5E30D94C5E0B000000E1EC544078D94C5E80D94C5E30D94C5E55EF544078D94C5E0600000000000000C0B37042000000000FB75240E4B74C5EB188524000907A5EDFFFFFFFFFFFFFFF0000000034B84C5ED23113000039B449000000000033234270645240C294950C59825D42FFFFFFFFEF7356400090795EFF0700003CB84C5E18F56B4228EA6B423CEA6B426A00000000000000000000000100000001000000C294950C39B9865BC294950C00000000A039B4493A0900005CB94C5E20897042A9B84C5EA0006F428C9E70427CE56B42518E3A429A01000039B5FC57688E5840D839B449688E5840688E5840004C455CB0BA204270E56B4200ACFC576CE56B4220897042410900003A09000000ACFC57C294950C39A9865B4CB94C5E004C455C48B94C5E208970425CB94C5E60B94C5E74B94C5EA4B94C5E8DBE5042FFFFFFFFC9E8154D07000000A3F2154D28B94C5E384C7042C49E704261B94C5E
12-15 14:18:41.121 24762 24761 W google-breakpad: S 5E4CB900 688E5840984B7042E84B704218F56B42F8A1214200000000430000002839B4492839B44918F56B4228EA6B423CEA6B42C048C94C104808002CBA4C5E000000000000430001000000F00F0000B8471A4D5CB94C5E3C56244DC8B94C5EA039B449410900003909000000ACFC57444C7042F04B70425008304000000000000000000000000000A0865B39A9865BFFAF865B01100000FF0F000000A0865B39A9865B10000000584C7042021000000600000000000000000000000000000070B94C5E50083040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000C294950CBCBA4C5E688E5840000000000000000000C02742BCBB4C5E30C5FC44C0BB4C5E20897042E9C250422CBA4C5E54BA4C5E3100000021000000F058FD44C294950C0001000030C5FC44688E5840E0FB8E4800000000035F5F42C45A6E4230C5FC4418191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132330000000038393A3B3C3D3E3F
12-15 14:18:41.122 24762 24761 W google-breakpad: S 5E4CBA80 404142434445464748494A4B4C4D4E4F505152535455565788907F4C20CCFD440020405C8039B4497412594080907F4C9445584088907F4C20CCFD44EF735640808182838485004088907F4C0039B4490020405C8039B4497412594080907F4C94455840A7026A420039B449EF735640B96D5540A4745840CC8C2C4D18F56B423CEA6B421C00000058BB4C5E00000000004C455C0000000000005700C294950CB9E85440004C455C30C5FC441826405C000000001826405C30C5FC44C0BB4C5E004C455CBDA23942EE7E524C000000004C0000001826405C30C5FC44D3236A424C000000E9EC154D8557174D4C58CB4CBCBB4C5EE096664378BC4C5E1C0000004C00000000000000004C455C19F5394230C5FC441826405C004C455C0BF539420100000078BD4C5E688E584000000000E096664300000000010000008061F112E09666434820405CB8BC4C5E1B000000540000000000000000000000D0082B70004C455C336B6A4208C14C5E00000000B8BC4C5EC8BC4C5E70F5404760E1F412
12-15 14:18:41.122 24762 24761 W google-breakpad: S 5E4CBC00 74BD4C5EA04B70428061F112944558401000000078BC4C5E1C0000004C00000000000000E096664344BC4C5E13AE3942000000008061F1127412594080907F4C944558400800000078BC4C5E1C0000004C0000000000000000000000E0966643004C455C336B6A4230C14C5E0000000078BC4C5E88BC4C5E741259408061F1129445584010000000B8BC4C5E1B000000540000000000000000000000D0082B70004C455C336B6A4208C14C5E00000000B8BC4C5EC8BC4C5E70F5404760E1F41274BD4C5EA04B7042E04B7042004C455C14BD4C5E01010000F8BC4C5E8C4C455C688E5840E096664330C14C5EEB133A4230C14C5EEE7E524C58BD4C5E688E5840EE7E524C0400000054BD4C5E004C455C54BD4C5E0000000098D54C5E98C14C5E688E5840D0082B7008C14C5EC294950C08C14C5E04000000EE7E524C004C455C30C14C5E6CBA0000A8BD4C5EBCF7FFFF8061F112BF84644230C14C5EEE7E524C688E584078EB0E4C8061F112C294950C00000000040000004EA66F70004C455C
12-15 14:18:41.122 24762 24761 W google-breakpad: S 5E4CBD80 C0B370422D84644298C14C5EC8BD4C5E20897042C17D4B4208C14C5E4EA66F7098AD814894B439700100000098C14C5EE0966643000000008061F1128061F112C0B3704209F02B7270C14C5E08BE4C5E20897042C17D4B42000000000000000001000000688E58407A13A34C0100000030C14C5E6E10000000000000004C455C0000000011BE4C5E11BE4C5E1BBE4C5E14000000000000000000000078E2427001000000688E5840DA1141470100000008C14C5E7010000000000000C294950C50083040FCFFFFFF98C14C5E7A13A34C01010000004C455CC0B370426E10000004020000AB9E4B426E10000030C14C5E00332342C0B3704262000000004C455C98C14C5EA7744A42D0082B708CBF4C5ED0082B70080000005900000070C14C5EC0B370426F7137427010000008C14C5E0300000000000000080000006E00000098C14C5E6E100000C01570420373374230C14C5E208970420D060000688E5840688E58407A13A34C1D000000004C455C0000000054BF4C5E3013A34C20897042
12-15 14:18:41.123 24762 24761 W google-breakpad: S 5E4CBF00 24C04C5E3CC04C5E688E584044C14C5ED0BF4C5EC0157042A4E93642C0157042D0BF4C5E34C04C5E4CC04C5E64C04C5E7CC04C5EE4BF4C5EF8BF4C5EC0157042A4E93642C0157042F81C3742C0157042FC1C37420CC04C5E20C04C5E94C04C5EACC04C5EC4C04C5EDCC04C5E01000000010000009C0C0100206D7F4828000000794D4547760600000000000060E1F41220000000C294950C0000000000000000688E584070270000004C455C0000000040AB814838C04C5E48092B70A3F43E42010000004FD25542C0C04C5E020000001CC04C5E38C04C5E688E584001000000CCC04C5ED0C04C5E30C04C5E2089704250C04C5E0800000000000000050000000000000000000000004C455C08000000FEFFFFFF98C04C5EB850ED6FD4C04C5E01000000B850ED6F004C455C01000000D4C04C5E0100000070D4F36F004C455C01000000004C455C18AB8148A4C04C5E02000000688E5840F034234210000000A4C04C5E851D3D4200000000000000000000000009000000010000000026D412
12-15 14:18:41.123 24762 24761 W google-breakpad: S 5E4CC080 88C04C5E90C04C5E688E5840DCC04C5E00000000FFFFFFFF02000000000000000000000002000000130000000300000010000000010000000100000068060000010000001C0C0100206D7F48180000002E4D45470000000034C24C5EC294950C40C12242004C455C70C14C5E0033234210C14C5EC8C44C5E24C14C5E7C11414710C14C5EC294950CD0082B70004C455C98C14C5E0033234238C14C5EC8C44C5E4CC14C5E3013A34C38C14C5ED3DE4942000000000000000020897042C0B3704251DE494230C54C5EC8C14C5E0000000000000000BCF7FFFF60E1F412C17D4B4203000000C0B3704251DE494230C54C5EC8C14C5E2089704298C14C5EBCF7FFFF00000000C17D4B42000000000000000000000000000000000300000030C54C5E883F66431D0000008061F11200000000000000008061F112000000000000000000000000206D7F4802000000EF4C454700000000C294950C091D18403013A34C03000000688E584020CADE4200000000C8C44C5E7100000000000000004C455C
12-15 14:18:41.124 24762 24761 W google-breakpad: S 5E4CC200 0000000001000000688E584058C34C5E01000000004C455C40C1224254C24C5E4CC34C5E40C34C5E0034204230C54C5EC0B3704222030000C0157042C294950C50C24C5E883F6643C8AA814860E1F41240C1224230C54C5EC0B3704271000000E5020000F17A374271000000C8C44C5E0100000084592A710A00000020CADE4236000000004C455C58C34C5E216C5640A4C9DE422089704243040000004C455C688E5840DCC44C5E51000000DCC24C5E003420420200000068C34C5ECCC34C5EE4C34C5EFCC34C5E14C44C5E7CC34C5E90C34C5EC0157042A4E93642C0157042F81C3742C0157042FC1C3742A4C34C5EB8C34C5E2CC44C5E44C44C5E5CC44C5E74C44C5E50E3CB00080000002CC34C5E00000000EB551840787CB4490100080008000000C294950C000000000026D412030000002089704298F7FFFF030000006000000090C64C5EA026031360E1F412000000000000000060E1F4122089704200000000010000000026D412004C455C01000000196A3B42BC728F4800000000
12-15 14:18:41.124 24762 24761 W google-breakpad: S 5E4CC380 688E584058C44C5ED09E6843A026031360C44C5E00F053480004000008000000900000008F31434288907F4C004C455C58C44C5E407CB4497412594080907F4C9445584088907F4CB0E11A59A7026A42C0F73A588492FC44F4C34C5E004C455C00342042004C455C003420424098CB000200000002000000B02603132F5F56425CC44C5E60C44C5E90B02647004C455C00000000688E5840C0B370420052F01298F7FFFF2089704240C12242C294950C00332342E8C54C5E90C64C5E29026C4200000000F4C54C5E2089704200000000C8C54C5EB1803B420000000000C64C5ED8C54C5ED5016C423C0000004D5C56402089704220046F42688E5840B1803B4200000000C294950CF0C54C5E64C54C5E507430700000000050743070C294950C688E5840004C455C30C54C5E00332342D0C44C5E80C84C5EE4C44C5EA4C9DE42D0C44C5ED3DE4942000000000000000098F7FFFFC0B3704240C122420020020018EB6B42000000000000000040F83A580020405CA02A704274125940C0B37042
12-15 14:18:41.125 24762 24761 W google-breakpad: S 5E4CC500 51DE4942E8C84C5E80C54C5E2089704230C54C5EBCF7FFFFA0260313C17D4B42C8C54C5E00F05348002000000800000007000000E8C84C5EB0A2D14D36000000306DF41260E1F4120000000060E1F4120000000000000000A0260313306DF41260E1F4120000000060E1F4120000000000000000A02603137579534240F83A58A02A7042681B6F4290C64C5E01000000B8C54C5EA4C9DE4207000000688E584082CDDE420100000080C84C5E7110000000000000004C455C000057003CEA6B4200332342C0B3704262000000004C455CE8C84C5EA7744A42E0FB8E480000000090C64C5E0000000040F83A5800000000E0FB8E48C294950CE0FB8E48B0A2D14D000000000800000040C12242E8C84C5EC0B37042711000006D040000F17A37427110000080C84C5E3CEA6B42D81D2C70A4C74C5E82CDDE4213000000004C455C00005700E0FB8E484CCDDE42208970420000000060A5EB6F688E584094C84C5E004C455CD81D2C70A4C74C5E69A2394220C74C5E84C74C5E9CC74C5EB4C74C5E
12-15 14:18:41.125 24762 24761 W google-breakpad: S 5E4CC680 CCC74C5E34C74C5E48C74C5EC0157042A4E93642C0157042F81C3742C0157042FC1C37425CC74C5E70C74C5EE4C74C5EFCC74C5E14C84C5E2CC84C5E0000000000000000000000000000000000000000000000000000000000000000000000000000000070A5EB6F60A5EB6FA026031304000000D81D2C70A4C74C5ED7A96F7220C8167070A5EB6FA0260313040000000400000060A5EB6FA026031360A5EB6F20212C707061F11204000000E1C84E72A81B2C700000000000000000000000000000000000000000D0C74C5ED85A956F4C0000007061F112681F2C70F7D94E72681F2C70580000000000000005D44E72D81D2C70A026031300000000D0C74C5E1C0000004C0000000000000013AE3942000000007061F112004C455C08000000D0C74C5E1C0000004C0000000000000000000000681F2C70004C455C336B6A4298CC4C5E00000000D0C74C5EE0C74C5ED8C74C5E7061F112F8C74C5E7061F11238C84C5E030000000000000013AE3942000000007061F112A026031313AE3942
12-15 14:18:41.125 24762 24761 W google-breakpad: S 5E4CC800 AE2E16710200000038C84C5E03000000000000000000000000000000901A2C70004C455C004C455C6CC84C5E0100080050C84C5E8C4C455C688E5840681F2C7098CC4C5EEB133A4298CC4C5E2C6C6B7098CC4C5EC294950C2C6C6B70004C455CE8C84C5E0033234288C84C5E98CC4C5E9CC84C5E4CCDDE4288C84C5ED3DE4942000000000000000000000000C0B370422C6C6B70004C455C98CC4C5E0000000000000000BCF7FFFF7061F112BF84644298CC4C5EC0B3704251DE494200CD4C5E30C94C5E20897042E8C84C5EBCF7FFFFA0260313C17D4B42C0B3704209F02B7200CD4C5E30C94C5E0600000000CD4C5EC8A3D14D130000000000000000000000000000000000000060C1EE12A02603130000000000000000000000000000000060C1EE12A026031303000000688E58401AD1DE420200000098CC4C5E72200000C0B370424CCDDE4206000000688E58403CD1DE420200000098CC4C5E6E20000000000000004C455C0300000000CD4C5E901A2C7000000000000000007061F112
12-15 14:18:41.126 24762 24761 W google-breakpad: S 5E4CC980 A0260313000000007061F112A0260313010008007220000000CD4C5E40C122421AD1DE42C294950C40A4D14DFCFFFFFF00CD4C5E3CD1DE4201000800004C455CC0B370426E200000C0010000AB9E4B426E20000098CC4C5E0035F612C0B3704262080000004C455C00CD4C5E24CA4C5E1CCB4C5E10CB4C5E900F000000CD4C5EC0B3704222020000C0157042C294950C20CA4C5E1CCB4C5E1CCB4C5E901A2C707061F1127600000000CD4C5E6E200000C01570420373374298CC4C5E98CC4C5E0000000000000000000000003CD1DE4276000000004C455C28CB4C5E0000000040D0DE42208970425602000000000000688E5840ACCC4C5E0C00000000000000003420420200000038CB4C5E9CCB4C5EB4CB4C5ECCCB4C5EE4CB4C5E4CCB4C5E60CB4C5EC0157042A4E93642C0157042F81C3742C0157042FC1C374274CB4C5E88CB4C5EFCCB4C5E14CC4C5E2CCC4C5E44CC4C5EB097CB0004CB4C5EF8CA4C5E00000000000000000100080000CB4C5E000000000000000040B7067000000000
12-15 14:18:41.126 24762 24761 W google-breakpad: S 5E4CCB00 D84BED6F0200000000000000A050F0121000000000000000000000007061F11200000000000000007061F1120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C294950C00000000004C455C00CD4C5E00332342
12-15 14:18:41.127 24762 24761 W google-breakpad: S 5E4CCC80 A0CC4C5ED0D04C5EB4CC4C5E40D0DE42A0CC4C5ED3DE4942A02603137061F11200000000C0B37042000000000000000000000000000000000000000000000000000000000000000000000000C0B3704251DE494238D14C5E68CD4C5E2089704200CD4C5EBCF7FFFF60C1EE12C17D4B42000000000000000000000000000000000A00000038D14C5E40A4D14D76000000A054F012000000007061F1120035F6128090F0127060F112B0A0F012A02603130000000060C1EE12A054F012000000007061F1120035F6128090F0127060F112B0A0F012A02603130000000060C1EE120000000000000000000000000000000000000000000000000000000040D0DE420A000000688E584038CDDE4201000000D0D04C5E6E10000000000000004C455C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C294950C00000000FCFFFFFF38D14C5E38CDDE4201000800004C455CC0B370426E100000
12-15 14:18:41.127 24762 24761 W google-breakpad: S 5E4CCE00 CC010000AB9E4B426E100000D0D04C5E00332342C0B3704262000000004C455C38D14C5EA7744A42000000000000000000000000000000000000000000000000000000000000000000000000000000000D00000000000000080000001000000038D14C5E6E100000C015704203733742D0D04C5E0000000000000000000000000000000038CDDE4210000000004C455C000000000000000008CDDE42208970420000000000000000688E5840E4D04C5E0000000000000000000000000000000070CF4C5ED4CF4C5EECCF4C5E04D04C5E1CD04C5E84CF4C5E98CF4C5EC0157042A4E93642C0157042F81C3742C0157042FC1C3742ACCF4C5EC0CF4C5E34D04C5E4CD04C5E64D04C5E7CD04C5E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.128 24762 24761 W google-breakpad: S 5E4CCF80 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C294950C00000000004C455C38D14C5E00332342D8D04C5EE0D44C5EECD04C5E08CDDE42D8D04C5ED3DE4942000000000000000000000000C0B370420000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.128 24762 24761 W google-breakpad: S 5E4CD100 00000000C0B3704251DE494220D54C5E78D14C5E2089704238D14C5EBCF7FFFF60C1EE12C17D4B42000000000000000000000000000000000500000020D54C5EA0A3D14D100000000000000001000000000000000000000060C1EE120000000000000000000000000000000060C1EE120000000000000000000000000000000000000000000000000000000008CDDE4205000000688E58405CC4DE4201000000E0D44C5E6E10000000000000004C455C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C294950C00000000FCFFFFFF20D54C5E5CC4DE4211100800004C455CC0B370426E100000BC010000AB9E4B426E100000E0D44C5E00332342C0B3704262000000004C455C20D54C5EA7744A4220D54C5E5440000008000000C0B37042004C455CF75C4A42000000000000000000000000000000000E00000000000000080000006E00000020D54C5E6E100000C015704203733742
12-15 14:18:41.128 24762 24761 W google-breakpad: S 5E4CD280 E0D44C5E000000000000000000000000000000005CC4DE4212000000004C455C000000000000000028C4DE42208970420000000000000000688E5840A4D54C5E0000000000000000000000000000000080D34C5EE4D34C5EFCD34C5E14D44C5E2CD44C5E94D34C5EA8D34C5EC0157042A4E93642C0157042F81C3742C0157042FC1C3742BCD34C5ED0D34C5E44D44C5E5CD44C5E74D44C5E8CD44C5E0D82554098109C5B50D34C5E38D34C5E2C01405C8001405CB409445C0030000000000000B409445C0D825540B409445C70D34C5E60D34C5EE4011C428001405C6F82554098109C5BFFFFFFFF8814485CFFFFFFFFB409445CFFFFFFFF8001405C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E062000688E5840004C455CE0FB8E487CD74C5EE15E5F420000000000000000000000000000000000000000000000000000000002000000
12-15 14:18:41.129 24762 24761 W google-breakpad: S 5E4CD400 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C294950C000000000100000002000000C294950C98F7FFFF00000000A4D54C5E004C455CE8D44C5E00D03C5EE8D44C5E0000000068D64C5E95DB4942000000000000000020D54C5E28C4DE42000000000000000000000000004C455C98D54C5EA4D54C5E60D54C5E20D54C5E8C4C455C37116A4200000000000000000500000000000000F8AB835B1200000060C1EE12000000000000000000000000D012031360C1EE12000000000000000000000000D012031300000000010000000200000001000000020000000000405C688E58406D3EDF4228C4DE4220D64C5E
12-15 14:18:41.129 24762 24761 W google-breakpad: S 5E4CD580 010000003401405C3401405C40181C4240181C420000000020D64C5E8CD74C5E0000000040181C420020405CC294950CBCE4584068D74C5E7849704200FE6B426D3EDF420100000068D64C5E28D64C5E94D64C5E01000000000000000000000001000000000000000000000020D54C5E05000000C294950C688E5840D0702C70D0120313206E01135400000000000000004C455CD0702C70BCD64C5E87F53942D024327000000000000000006CD74C5E88116F42688E5840E0B72042000000000000000000C8264202000000004C455C00A82642688E584020BA2042000000001C00000002000000D01203130000000001000000D0120313206E01135400000000000000D0702C70BCD64C5EF3C82D72D0702C70C294950C01000000FFFFFFFF00000000F0D64C5E1B00000013AE394200000000206E011388026F4210000000F0D64C5E1B000000540000000000000000000000D0702C70004C455C336B6A42ECD74C5E00000000F0D64C5E00D74C5E40EB6B42206E01130000000001000000
12-15 14:18:41.130 24762 24761 W google-breakpad: S 5E4CD700 000000006CD74C5E88116F42688E5840E0B72042000000000000000000C8264202000000004C455C00A82642688E584020BA2042000000001C0000000200000000000000004C455C8CD74C5E0100080070D74C5E8C4C455C688E5840D0702C70ECD74C5EEB133A42ECD74C5E4EA66F70688E5840000000004EA66F7004000000E0FB8E4800C02742004C455C00000000000000000000000000903C5E0200000000A82642C294950C18EB6B4204D84C5EECD74C5EC4D84C5ED8D74C5EBCD84C5E00000000C48D3E70D0702C70972B5D42ECD74C5E4EA66F70F85C2C704EA66F700000000001001000688E584000000000000000004EA66F70010000000400000004D84C5E206E011370E088430100000000000000C294950C44D84C5E688E58400100000080D94C5EC4D84C5EF8A12142BCD84C5EF13561420A0000009021EF12DCB970420000000061642D36004C455C01001000E0FB8E48D0702C70C4D84C5E14000000BCD84C5EC0B37042F57F5F4200000000000000000000000000000000
12-15 14:18:41.130 24762 24761 W google-breakpad: S 5E4CD880 00000000688E5840C49E7042B0D84C5E18F56B4228EA6B423CEA6B424CB87042FFFFFFFF00300000FFFFFFFF01000000000057000000000030D94C5E7800000088FB0840004C455CE0FB8E4800C02742004C455C430000005700000000000000145468726561642D36313700C294950C4A90574030D94C5E70D94C5E30D94C5E7800000088FB084024D0B8BE00903C5EAD7D5F4265E8544045E8544038D94C5E45E854402D8F524078D94C5E0000000030893C5E00000000B96000005F6000000100000000903C5E304910000010000000000000000000000300000000000000AD7D5F42004C455C000000000030EF5B010000000050100078D94C5E30D94C5E160000000000000000000000C294950C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000080907F4C01000000FFFFFFFF00000000
12-15 14:18:41.131 24762 24761 W google-breakpad: S 5E4CDA00 0000000001000000004C455C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000028FE4400000000000000000100000000E21A59000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.131 24762 24761 W google-breakpad: S 5E4CDB80 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.131 24762 24761 W google-breakpad: S 5E4CDD00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.132 24762 24761 W google-breakpad: S 5E4CDE80 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.132 24762 24761 W google-breakpad: C 0600004000000000B96000000600000078D94C5E80D94C5E30D94C5E0B0000000C01000000A8264208A22142010000000000000006000000C0B74C5E65EF5440CC125540100007400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12-15 14:18:41.132 24762 24761 W google-breakpad: M 40044000 00000000 00005000 4D3826678324B6F2EA4242B4A3AEBD070 app_process32
12-15 14:18:41.133 24762 24761 W google-breakpad: M 4001B000 00000000 00006000 56199D55412AF12BD07F09DA24897DA10 libETC1.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40026000 00000000 00007000 C2BF962DA0FB77C052F4FBCAA5E659950 libusbhost.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 4002D000 00000000 00006000 4665F90E58EADE4DF04FFF092A08149F0 libprocessgroup.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40033000 00000000 00007000 D0089E3D565F3A6AFD388E0F68E8445F0 libwpa_client.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40065000 00000000 00009000 3C64086A4D4A0E4999796BDC12925A6C0 libspeexresampler.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 4006F000 00000000 0001D000 910110AD0096CC04A93C8488FF03CDD60 linker
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40092000 00000000 0002B000 0A12336283840E9F2AB2948C9B525C550 libandroidfw.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 400BD000 00000000 00017000 66142BB63B85B8C96B1C4DA40F8587730 libexpat.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 400D4000 00000000 00009000 77FC8B56D01507C2DD9DEAEF154A2E8E0 libnetutils.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 400E1000 00000000 0000A000 E3CCE50D03B9A0FE48EDEEEB2FC7F5280 liblog.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 400EB000 00000000 0000A000 DF92A7A9DEC930A37CD924DA8D9EA29E0 libGLESv1_CM.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 400F8000 00000000 00009000 7A674116E2EA741EE9DFC5B240785AB70 libaudioutils.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40101000 00000000 00006000 A47A724F99A1BBF9FB1760653B6536F40 libnetd_client.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40108000 00000000 00005000 09F9AB62E97CA67608C6F96AEBC1B2680 libmemtrack.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40112000 00000000 00009000 3E32D459C6B7071352EC46E1FB5BC0E60 libnativehelper.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 4011B000 00000000 0000B000 5A17D9240CBC586DB838D850B7A5C8850 libcamera_metadata.so
12-15 14:18:41.133 24762 24761 W google-breakpad: M 40128000 00000000 00005000 C230E7FA62412FA4ADBD3350B085DBC00 libhardware.so
12-15 14:18:41.134 24762 24761 W google-breakpad: M 4012D000 00000000 00006000 CDF233AC5D587495B4D18A5C6405B8790 libnativebridge.so
12-15 14:18:41.135 24762 24761 W google-breakpad: M 40133000 00000000 00005000 71C2CF8DF2A7CD8198942B0FC1B7ACB00 libsync.so
12-15 14:18:41.135 24762 24761 W google-breakpad: M 40138000 00000000 00012000 6E217F2A3AA3C05C4C9CD2088CFDB3750 libcutils.so
12-15 14:18:41.135 24762 24761 W google-breakpad: M 4014C000 00000000 0001B000 D02777EC80B6B01028934BA3DEC381D10 libutils.so
12-15 14:18:41.135 24762 24761 W google-breakpad: M 40167000 00000000 0002E000 3911AF2BB44E9A35C6D4A85F4FB8645B0 libbinder.so
12-15 14:18:41.135 24762 24761 W google-breakpad: M 40195000 00000000 0000B000 F09C91FC021467F98468F9E4CD7B0D000 libbacktrace.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 401A0000 00000000 00005000 85FA8BD0F5C6A3E3051DEAD499B7D6390 libradio_metadata.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 401A7000 00000000 00022000 4BD46F65653E455BCEA39EC2856E32700 libm.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 401EB000 00000000 00010000 097D9650CFE4739343D2009C1915DF820 libui.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 401FB000 00000000 0000F000 0012E110E34040F826E184B95D8E5EF00 libGLESv2.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 4020B000 00000000 0001F000 35ECF9E3C5F7F17D289DF8D7D8F2FFEC0 libinput.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 4022C000 00000000 0000A000 CECBFA85315B806DC99907AD26BEFC160 libhardware_legacy.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40237000 00000000 00006000 1C1D34EF7A8B75D94CAF3093743D22600 libstagefright_http_support.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 4023D000 00000000 00005000 E5820B8A5C5095C6BFA7F2B19D1795F90 libstagefright_enc_common.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40244000 00000000 0002C000 669213BB467BAE1986A25CDFA52E57BC0 libwilhelm.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40270000 00000000 00090000 C19E40A62DBF88282AF1D70EFFB643790 libc++.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40301000 00000000 00005000 96CBE111A0E81B0C012717986AD4AF000 libsigchain.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40307000 00000000 00040000 06ADDCC52CFC1D2FF0EE68F583AF39F60 libinputflinger.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40347000 00000000 0000E000 2187BA73371CD3E299B73C31D79D07C40 libradio.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 40358000 00000000 0005B000 F3A177556BBCC7BABF4A2A9B9407A66D0 libgui.so
12-15 14:18:41.136 24762 24761 W google-breakpad: M 403B3000 00000000 00012000 38A7084FE5C45372FB6160EDBE6AF41D0 libselinux.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 403CB000 00000000 000DD000 CBA1616B599CC4F7F43A7219E10CE40B0 libandroid_runtime.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 404A9000 00000000 0002D000 E1AFC25AF4C33AC4659CC435B8A8FF7B0 libcamera_client.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 404D6000 00000000 00026000 1A56E1826C8CAEECDB96E6E3B8917FB10 libssl.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 404FC000 00000000 00011000 F79012A2C07C18DFEB2795631643122B0 libimg_utils.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 4050F000 00000000 00079000 31882BBAF3B954B026A85D5D5E78E2F00 libc.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40592000 00000000 0026E000 BFBED7818D0D64C5291A45B32802448F0 libskia.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40804000 00000000 00065000 C23954BFAAE129423B0328F358E8C9120 libsqlite.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 4086A000 00000000 00068000 02DB0D2C5A83C477BE3AA5DA02E1E65A0 libEGL.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 408D5000 00000000 00053000 16293794D16CADB5CF223873734E2D260 libsonivox.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 4092D000 00000000 0009D000 840DCD5B7B25CB2A0B6FCD89DB4F9B740 libcrypto.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 409CA000 00000000 0011F000 4A28F2EC919428432D274FAE43A4B3780 libicuuc.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40AED000 00000000 00173000 A93DB1EFDA863F3863FB272B4A957B5B0 libicui18n.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40C60000 00000000 000AF000 0D932F245C68696D3BDD200ED5462E5F0 libmedia.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40D0F000 00000000 00035000 B7E7D9FF7273BA4D08FA8940301927790 libjpeg.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40D44000 00000000 0004A000 561B6508EBD412CB121EFFA43B297EDC0 libharfbuzz_ng.so
12-15 14:18:41.137 24762 24761 W google-breakpad: M 40D8E000 00000000 0001D000 95ADA7324F414A77FBB69997F503E2F30 libz.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 40DAB000 00000000 003FC000 F222D66A9ED35712E04E9CF7BDB906340 libpdfium.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 411A8000 00000000 0000E000 A51D5202571927455A7BBAD7568B72F60 libsoundtrigger.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 411B6000 00000000 00011000 956AFB304C1D709904C6EEF99E5C929A0 libminikin.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 411C7000 00000000 0006E000 0D030ED02D13FE5EC5487313C54E9F330 libhwui.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41235000 00000000 0016A000 A44B06581282ACD831C5F2C92046AA0A0 libstagefright.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 4139F000 00000000 0001B000 6DEB49A6F4AD350FF8BCC68E82A838EC0 libstagefright_foundation.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 413BA000 00000000 00007000 A1A946BF4F8B16EE4998432C2ABE24090 libeffects.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 413C1000 00000000 0000B000 52F5014EFBF1825CCC4743F0508D15FE0 libbase.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 413CC000 00000000 00012000 BFF6644AFE8B86FC4520E955290386960 libunwind.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41424000 00000000 00007000 5300D6F253BDF43946531BF07FC0098E0 libstdc++.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 4142B000 00000000 0002A000 425CA4704D6DEE0303E4955075F7591F0 libpng.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41455000 00000000 0005E000 BBB8ED968C90A8D75AA304F039F595620 libft2.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 414B3000 00000000 00071000 6021550CDF07A54EA09E59FD10E9B9300 libGLES_trace.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41524000 00000000 00014000 0AF545CA3669E4A6E081BF0ACF1ADA480 libnl.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41538000 00000000 00014000 B6328A48893FD088BDD002F1064B63840 libpcre.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 4154C000 00000000 0000B000 C03C901773ADFCB1E0AACDBA644D1EE90 libnbaio.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41557000 00000000 00042000 8A9A195A7723B194FB65B6B41C8340B60 libRS.so
12-15 14:18:41.138 24762 24761 W google-breakpad: M 41599000 00000000 00021000 9037F2C024B9BD1C744352B79E587E970 libRScpp.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 415BA000 00000000 0001A000 C3E122B766129882B80D8FC4CDFD863D0 libdrmframework.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 415D4000 00000000 0000A000 6D36E5F8ED0563768F8424308C920B510 libmediautils.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 415DE000 00000000 0003C000 10E081F6CE75680AEE30E05B5362996D0 libopus.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 4161A000 00000000 00032000 4A5655C6D0BE8861976C3DB7502B536D0 libstagefright_omx.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 4164C000 00000000 00007000 54CBEB74E71FB803445DFFC20B3FC7620 libstagefright_yuv.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 41653000 00000000 0001D000 6E6CC396A53C82AFB8987E9ACD1800AC0 libvorbisidec.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 41670000 00000000 00007000 4E55E7EFB4CF358BED345BB2069E1C7F0 libpowermanager.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 41677000 00000000 00009000 8BC56C4A257DE608D98FD5609EA3BA990 libstagefright_avc_common.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 41680000 00000000 0001A000 6C048D4E394004E1F7E5B65E16D65F440 libprotobuf-cpp-lite.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 4169A000 00000000 0000E000 B66E8083BB8A62B0003A2D1E4EE8BE9B0 libcommon_time_client.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 416A8000 00000000 0005B000 6FB44CA4D7125E48B8D10143AF60EC170 libbcc.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 41703000 00000000 00038000 6C2B9D0BA4EB6801D156CFF609486B9D0 libbcinfo.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 4173B000 00000000 00A5D000 EDE1F15A740FCB2793F3F4B7D4A9DB6E0 libLLVM.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 422C0000 00000000 0044A000 F2B243B7B062A14D3C13CDA9BBF7CA5E0 libart.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 428F0000 00000000 00036000 155423B50B233F9A21C72F36793D0D250 libjavacore.so
12-15 14:18:41.139 24762 24761 W google-breakpad: M 47B91000 00000000 00018000 88270FE8DAE9FA85820330D4BEB315CA0 libmtp.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47BA9000 00000000 0000D000 E9E2D3EB991F711A0A84105057D5CC3C0 libjhead.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47BB7000 00000000 00006000 902B803CCBCCA29D4C5C5F166B4A0C2E0 libemoji.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47BC3000 00000000 00003000 EAFFFF98FF9AEAFF38FFFF7FF0B0B0800 libEGL_POWERVR_SGX544_112.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47E33000 00000000 00004000 BDD6B06C691624EA0795CE3DCCD032150 libpvrANDROID_WSEGL_SGX544_112.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47E37000 00000000 0002C000 C792FB468130AFA06B4E53BA876FA9D00 libexif.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47E63000 00000000 00010000 12BF7C2F69084E958F0EEFBEA048D7AF0 libstagefright_amrnb_common.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47E73000 00000000 00007000 F53D20E9D7758CF62FECA0A26635083F0 libkeystore-engine.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47EBD000 00000000 00010000 28D80A16E585EC4D1949C5C8F7DAB84A0 libffmpeg_extractor.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47EEC000 00000000 0000B000 81EE19942B7CACB63697A40C278F778E0 libffmpeg_utils.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47EF7000 00000000 00019000 E8DB869C9A9BFCDFEA112A8C8C2134DE0 libjavacrypto.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47F17000 00000000 00020000 365155C2F6FDD7020A5B0EC1E9E73A740 libswresample.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47F37000 00000000 0000F000 2431C4DB267102822EE77B093A0A9DC20 libkeystore_binder.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 47F46000 00000000 0000B000 6706B62CE5D1EEF54A6D7A0F725A2FF20 libkeymaster_messages.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 480A7000 00000000 00017000 C184ECCD9484B9718DD4F67F526C970F0 libsoftkeymasterdevice.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 480F3000 00000000 0001C000 611E7572AE147AAB12DC45ABF16FB8AA0 libkeymaster1.so
12-15 14:18:41.140 24762 24761 W google-breakpad: M 48205000 00000000 0000A000 8568D2AE27512EFFC582EBB37738EF2A0 libcompiler_rt.so
12-15 14:18:41.142 24762 24761 W google-breakpad: M 4826C000 00000000 00012000 06DDDA1D0E71EF488E5C36D636D822060 libIMGegl_SGX544_112.so
12-15 14:18:41.142 24762 24761 W google-breakpad: M 48416000 00000000 00005000 77EB48237C52BEAB2C31A14D14F669C70 libjnigraphics.so
12-15 14:18:41.142 24762 24761 W google-breakpad: M 48451000 00000000 00012000 96BF677C306AF19A59D8C102788B2D490 libandroid.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 48478000 00000000 00049000 37FB52C96FBA9735C4A59D87295793F60 libmedia_jni.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 484CA000 00000000 00006000 E2CB516F5BC1B1B92B6B4ACF3B3305A90 libwebviewchromium_loader.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 484D1000 00000000 00008000 E041F9848754CCCF6198970BBD36558C0 gralloc.omap4470.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 485B9000 00000000 00007000 E064EEE42B3A04D3AE5C2DBFDF6B3B170 libpvr2d_SGX544_112.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 485E7000 00000000 00069000 382C7F8E8D9C36C707A0FEEBF1F675B80 libavutil.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 486DC000 00000000 00005000 69CE0EC6E789AEBFE131C6A2C27249F40 libcorkscrew.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 48708000 00000000 00030000 CA2F1627CC8A7D8993EE5373282FB9F40 libsrv_um_SGX544_112.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 4876C000 00000000 00006000 C12E62346A27C40024A676192B567CB10 libwebviewchromium_plat_support.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 48848000 00000000 00076000 A6DD75288481A14C82B698BCF41ECAEE0 libGLESv1_CM_POWERVR_SGX544_112.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 48920000 00000000 00064000 3C8F5A58DBB85765FBB76AC68E985A1A0 libGLESv2_POWERVR_SGX544_112.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 4B40E000 00000000 00137000 53DD62C11959018D8C44821813FCCBCD0 libusc_SGX544_112.so
12-15 14:18:41.143 24762 24761 W google-breakpad: M 4CAC0000 00000000 00803000 D06996CBF546E0BB0448DDA18A2D939A0 libkiwix.so
12-15 14:18:41.144 24762 24761 W google-breakpad: M 4E0B7000 00000000 00A63000 C679AB0D112B3C47E91104D025354BDC0 libavcodec.so
12-15 14:18:41.144 24762 24761 W google-breakpad: M 4F1E8000 00000000 001C4000 50629A30B1E6D650AC4A58775B1495210 libavformat.so
12-15 14:18:41.144 24762 24761 W google-breakpad: M 4FE46000 007F2000 01AE1000 488126E5DCB08224E6C1664CC97A94320 libwebviewchromium.so
12-15 14:18:41.144 24762 24761 W google-breakpad: -----END BREAKPAD MICRODUMP-----
12-15 14:18:41.166 24671 24761 W google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
12-15 14:18:41.166 24671 24761 W google-breakpad: Chrome build fingerprint:
12-15 14:18:41.166 24671 24761 W google-breakpad: 2.3
12-15 14:18:41.166 24671 24761 W google-breakpad: 55
12-15 14:18:41.166 24671 24761 W google-breakpad: 023f32a1-4862-425f-a49b-e5b1792614ed
12-15 14:18:41.166 24671 24761 W google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
12-15 14:18:41.166 24671 24761 E chromium: ### WebView Version 44.0.2403.119 (code 246011900)
--------- beginning of crash
12-15 14:18:41.166 24671 24761 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 24761 (Thread-617)
12-15 14:18:41.167   153   153 I DEBUG   : property debug.db.uid not set; NOT waiting for gdb.
12-15 14:18:41.167   153   153 I DEBUG   : HINT: adb shell setprop debug.db.uid 100000
12-15 14:18:41.167   153   153 I DEBUG   : HINT: adb forward tcp:5039 tcp:5039
12-15 14:18:41.270   153   153 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-15 14:18:41.270   153   153 F DEBUG   : Build fingerprint: 'Android/cm_ovation/ovation:6.0.1/MMB29U/160222:userdebug/test-keys'
12-15 14:18:41.270   153   153 F DEBUG   : Revision: '0'
12-15 14:18:41.270   153   153 F DEBUG   : ABI: 'arm'
12-15 14:18:41.270   153   153 F DEBUG   : pid: 24671, tid: 24761, name: Thread-617  >>> org.kiwix.kiwixmobile <<<
12-15 14:18:41.270   153   153 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
12-15 14:18:41.320   153   153 F DEBUG   : Abort message: 'art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0x44fcc530'
12-15 14:18:41.320   153   153 F DEBUG   :     r0 00000000  r1 000060b9  r2 00000006  r3 5e4cd978
12-15 14:18:41.320   153   153 F DEBUG   :     r4 5e4cd980  r5 5e4cd930  r6 0000000b  r7 0000010c
12-15 14:18:41.320   153   153 F DEBUG   :     r8 4226a800  r9 4221a208  sl 00000001  fp 00000000
12-15 14:18:41.320   153   153 F DEBUG   :     ip 00000006  sp 5e4cb7c0  lr 4054ef65  pc 405512cc  cpsr 40070010
12-15 14:18:41.358   153   153 F DEBUG   : 
12-15 14:18:41.358   153   153 F DEBUG   : backtrace:
12-15 14:18:41.359   153   153 F DEBUG   :     #00 pc 000422cc  /system/lib/libc.so (tgkill+12)
12-15 14:18:41.359   153   153 F DEBUG   :     #01 pc 0003ff61  /system/lib/libc.so (pthread_kill+32)
12-15 14:18:41.359   153   153 F DEBUG   :     #02 pc 0001c70b  /system/lib/libc.so (raise+10)
12-15 14:18:41.359   153   153 F DEBUG   :     #03 pc 000198ad  /system/lib/libc.so (__libc_android_abort+34)
12-15 14:18:41.359   153   153 F DEBUG   :     #04 pc 0001746c  /system/lib/libc.so (abort+4)
12-15 14:18:41.359   153   153 F DEBUG   :     #05 pc 00326255  /system/lib/libart.so (art::Runtime::Abort()+224)
12-15 14:18:41.359   153   153 F DEBUG   :     #06 pc 000f6e4d  /system/lib/libart.so (art::LogMessage::~LogMessage()+2184)
12-15 14:18:41.359   153   153 F DEBUG   :     #07 pc 00259e89  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1500)
12-15 14:18:41.359   153   153 F DEBUG   :     #08 pc 0025a2e5  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+68)
12-15 14:18:41.359   153   153 F DEBUG   :     #09 pc 00343eff  /system/lib/libart.so (art::Thread::DecodeJObject(_jobject*) const+174)
12-15 14:18:41.359   153   153 F DEBUG   :     #10 pc 000e82b9  /system/lib/libart.so (art::JniMethodEndWithReference(_jobject*, unsigned int, art::Thread*)+56)
12-15 14:18:41.360   153   153 F DEBUG   :     #11 pc 003f03cf  /system/lib/libart.so (artQuickGenericJniEndTrampoline+362)
12-15 14:18:41.360   153   153 F DEBUG   :     #12 pc 000ed515  /system/lib/libart.so (art_quick_generic_jni_trampoline+52)
12-15 14:18:41.360   153   153 F DEBUG   :     #13 pc 000e8e11  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
12-15 14:18:41.360   153   153 F DEBUG   :     #14 pc 003f4b2f  /system/lib/libart.so (art_quick_invoke_stub+170)
12-15 14:18:41.360   153   153 F DEBUG   :     #15 pc 00100cf4  <unknown>
12-15 14:18:42.825   467 24770 W ActivityManager: Process org.kiwix.kiwixmobile has crashed too many times: killing!
12-15 14:18:42.825   467 24770 W ActivityManager:   Force finishing activity org.kiwix.kiwixmobile/.zim_manager.ZimManageActivity
12-15 14:18:42.827   153   153 F DEBUG   : 
12-15 14:18:42.827   153   153 F DEBUG   : Tombstone written to: /data/tombstones/tombstone_07
12-15 14:18:42.827   153   153 E DEBUG   : AM write failed: Broken pipe
12-15 14:18:42.828   467   484 I BootReceiver: Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
12-15 14:18:42.850   467 24770 W ActivityManager:   Force finishing activity org.kiwix.kiwixmobile/.KiwixMobileActivity
12-15 14:18:42.856   467 24770 W ActivityManager: Wtf, activity ActivityRecord{eabf370 u0 org.kiwix.kiwixmobile/.KiwixMobileActivity t56 f} in proc activity list not using proc ProcessRecord{b00778c 24671:org.kiwix.kiwixmobile/u0a72}?!? Using null instead.
12-15 14:18:42.856   467 24770 W ActivityManager: Wtf, activity ActivityRecord{367ee31 u0 org.kiwix.kiwixmobile/.zim_manager.ZimManageActivity t56 f} in proc activity list not using proc ProcessRecord{b00778c 24671:org.kiwix.kiwixmobile/u0a72}?!? Using null instead.
12-15 14:18:42.856   146   146 E lowmemorykiller: Error writing /proc/24671/oom_score_adj; errno=22
12-15 14:18:42.890   467   478 D GraphicsStats: Buffer count: 6
12-15 14:18:42.890   467  1034 I WindowState: WIN DEATH: Window{c56dbbc u0 org.kiwix.kiwixmobile/org.kiwix.kiwixmobile.KiwixMobileActivity}
12-15 14:18:43.435   159   159 I Zygote  : Process 24671 exited due to signal (6)
12-15 14:18:43.448   467 24770 I ActivityManager: Killing 24671:org.kiwix.kiwixmobile/u0a72 (adj 9): crash
12-15 14:18:43.496   467   486 W art     : Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo) from ActivityManagerService.java:12872 waiters=0 for 663ms
12-15 14:18:43.496   467   482 W art     : Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo) from ActivityManagerService.java:12872 waiters=1 for 658ms
12-15 14:18:43.497   467   467 W art     : Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo) from ActivityManagerService.java:12872 waiters=2 for 631ms
12-15 14:18:43.498   467   481 W art     : Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo) from ActivityManagerService.java:12872 waiters=4 for 142ms
12-15 14:18:43.498   467   858 W art     : Long monitor contention event with owner method=void com.android.server.am.ActivityManagerService.crashApplication(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo) from ActivityManagerService.java:12872 waiters=3 for 609ms
12-15 14:18:43.499   467   486 I Choreographer: Skipped 38 frames!  The application may be doing too much work on its main thread.
12-15 14:18:43.503   467   858 W ActivityManager: Spurious death for ProcessRecord{b00778c 0:org.kiwix.kiwixmobile/u0a72}, curProc for 24671: null
12-15 14:18:43.738   467   598 W InputMethodManagerService: Got RemoteException sending setActive(false) notification to pid 24671 uid 10072

More OSX Build Issues

When running ninja:

(libzim) ➜  build git:(master) ✗ ninja
[12/40] Compiling C++ object 'src/zim@sha/file_reader.cpp.o'.
FAILED: src/zim@sha/file_reader.cpp.o
c++  -Isrc/zim@sha -Isrc -I../src -Iinclude -I../include -I/usr/local/Cellar/xz/5.2.3/include -I/usr/local/Cellar/xapian/1.4.5/include -I/usr/local/Cellar/icu4c/59.1/include -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O0 -g -Werror -Wall -pthread -MMD -MQ 'src/zim@sha/file_reader.cpp.o' -MF 'src/zim@sha/file_reader.cpp.o.d' -o 'src/zim@sha/file_reader.cpp.o' -c ../src/file_reader.cpp
In file included from ../src/file_reader.cpp:22:
In file included from ../src/file_reader.h:23:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4032:35: error: no viable overloaded '='
                __e->__weak_this_ = *this;
                ~~~~~~~~~~~~~~~~~ ^ ~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4070:5: note: in instantiation of function template specialization 'std::__1::shared_ptr<const zim::Buffer>::__enable_weak_this<zim::Buffer>' requested here
    __enable_weak_this(__p);
    ^
../src/file_reader.cpp:124:19: note: in instantiation of function template specialization 'std::__1::shared_ptr<const zim::Buffer>::shared_ptr<zim::MMapBuffer>' requested here
    auto buffer = std::shared_ptr<const Buffer>(new MMapBuffer(fd, local_offset, size));
                  ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4984:15: note: candidate function not viable: no known conversion from 'std::__1::shared_ptr<const zim::Buffer>' to 'const std::__1::weak_ptr<zim::Buffer>' for 1st argument
    weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT;
              ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4995:15: note: candidate function not viable: no known conversion from 'std::__1::shared_ptr<const zim::Buffer>' to 'std::__1::weak_ptr<zim::Buffer>' for 1st argument
    weak_ptr& operator=(weak_ptr&& __r) _NOEXCEPT;
              ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:4991:9: note: candidate template ignored: could not match 'weak_ptr' against 'shared_ptr'
        operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT;
        ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:5002:9: note: candidate template ignored: could not match 'weak_ptr' against 'shared_ptr'
        operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT;
        ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:5009:13: note: candidate template ignored: disabled by 'enable_if' [with _Yp = const zim::Buffer]
            is_convertible<_Yp*, element_type*>::value,
            ^
1 error generated.
[17/40] Compiling C++ object 'src/zim@sha/search.cpp.o'.
ninja: build stopped: subcommand failed.

Ninja Version:

(libzim) ➜  build git:(master) ✗ ninja --version
1.8.2

C++ Version:

(libzim) ➜  build git:(master) ✗ c++ --version
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

Improve low memory buffer management.

Once #37 is implemented, we can start to implement new kind of low level classes to handle different memory region differently.

For example:

  • If the memory is uncompressed, we can copy only part corresponding to the article without copying all the cluster.
  • mmap all region contained in one zim part, independently of if the memory is compressed or not.
  • If the memory is uncompressed and in a one zim part, we can simply open again this part and read/copy/mmap the file. It would allow us to have a full new file descriptor and be totally independent from the File to read in it (so no lock and synchronization between thread)
  • opening different fd can allow different thread to read the data in the same time instead of locking each other.

Do partial cluster decompression

Currently, a whole compressed cluster is always decompressed, even if the interesting blob is the first one (and the cluster have other blobs). The zimlib will become faster if the decompression just stop at the time the requested blob is found. Probably we should also prefer LZMA over LZMA2 as LZMA just provide features we do not need here (and cost us a few bits in each cluster).

Moved from https://phabricator.wikimedia.org/T148282

GPL 3 compatibility

I noticed that libzim is licensed under GPL 2. Kiwix, a project that depends on it (and it seems you work closely with them), is licensed GPL 3. Or at least, the latest versions of the Kiwix codebase is GPL 3. GPL 2 and GPL 3 are not compatible with each other.

Can libzim be changed to "GPL 2 or later"? Xapian (another Kiwix dependency), for instance, does this.

compilation failed

I tried to install the libzim from github, but instructions seems not so clear for me. First need I to clone the git?
I follow all the instruction till the Compilation section. When need I to clone the git repo, in wich folder need I to work?
sudo apt-get install liblzma-dev libmagic-dev zlib1g-dev libgumbo-dev this is ok but :
cd ../zimlib && ./autogen.sh && ./configure && make && cd ../zimwriterfs
Where can I find the zimlib folder?

Is cd ../zimlib right? Maybe you want to write libzim?
Because the make still failed. But I did not run it.
Meson and ninja seems to run well... but the end of the install with ninja have also problem:
..github/libzim/build$ sudo ninja install
log: reading configuration file: install
die: error: unable to read configuration file

Maybe the readme can be more explicite :)

Make libzim thread safe

A lot of operation in libzim are mainly read readonly content.

There are few synchronizations to have :

  • In the istream. As we need to seek at a specific place to read, a read of content must be done in the whole.
  • Cluster cache.
  • Different article in the same cluster. Header and memory read must be sync, but once, all thread can read in the "memory pool" without looking each other.

But for now, there is notion of thread concurrency in zimlib and user has to access the lib one thread at the time and lock a lot of read only thread safe operation.

Will probably need #37 to be implemented first.

"/" in path becomes "%2f" when running zimdump

Hi, when I try to executing zimdump wikipedia.zim -D wikipedia, I discover that the "/" character becomes "%2f", for example in the "-" folder, there will be j%2fjs_module%2fsite.js, I guess it's j/js_module/site.js because I find it in the HTML header.

What may be the problem?

I am running zimdump on macOS to get the static pages of wikipedia. Thanks!

Missing Dependencies

Looks like you forgot:

  • threads
  • gtest

Also you can see in #66 the configure part(meson) finishes without errors while xapian isn’t installed (and so detected). If there is optional dependencies please say so.

zimwriterfs is segfaulting (with zimwriterfs/libzim git master)

$ zimwriterfs --welcome=index.htm --favicon=favicon.png --language=afr --welcome=Tuisblad.html --inflateHtml  --verbose  --tags=novid --name="kiwix.wikibooks_af_all" --redirects="/srv/kiwix-maintenance/mwoffliner/cac/wikibooks_af/wikibooks_af_all.redirects" --title="Wikibooks" --description="Vanaf Wikibooks" --creator="Wikibooks" --publisher="Kiwix" "/dev/shm//wikibooks_af_all_novid_2017-07/" "/srv/upload/zim2index//wikibooks//wikibooks_af_all_novid_2017-07.zim"
Reading redirects TSV file /srv/kiwix-maintenance/mwoffliner/cac/wikibooks_af/wikibooks_af_all.redirects...
create directory entries
collect articles
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07/j
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07/j/js_modules
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07/m
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07/s
Visiting directory /dev/shm//wikibooks_af_all_novid_2017-07/s/css_modules
Quitting visitor
sort 248 directory entries (aid)
remove invalid redirects from 248 directory entries
sort 248 directory entries (url)
set index
translate redirect aid to index
248 directory entries created
create title index
248 title index created
create clusters
0% ready
Segmentation fault

See the following links to reproduce the pb:

Writer function inefficient mimetype dirent entry rewriting

During the development of zimdiff/zimpatch we had the problem that two ZIM files were almost equal, except that the mimetypes were not sorted in the same way, so all dirent entry mimetype values were different.

This was an issue because zimpatches files were not equal to the original files. To avoid this, the zimlib forces currently the order of the mimetypes in the list in the header. They are sorted alphabeticaly.

Unfortunately, I see two problems with this:

  • This changes the specification of the format (we still don't have changed anything in the specifications)
  • The sorting of the mimetypes is done after all articles are inserted and this needs to rewrite all the dirent entries. Something which is really not efficient/elegant.

I think an alternative approach would be to allow to force the mime-type list before inserting the articles. This would shortcut the dynamic creation of this mime-type list and consequently avoid the two problems listed above.

First reported at https://phabricator.wikimedia.org/T57363

Remove dependency to icu4c.

We are using icu4c only here (https://github.com/openzim/libzim/blob/master/src/search.cpp#L80-L94) to get the ISO-639 2 letters language code from the 3 letters language code stored in the database or in the zimfile.

It seems a pretty big dependency to convert a 3 letters code to a 2 letters code, especially when the 3 letters code comes from a information we control and made especially for this use case.

It would be better to directly store the 2 letters code in the database and use it directly.

We still would have to handle the compatibility with old zim containing 3 letters codes.
The transition from a 3 letters code to a 2 letters code seems to be most of the time to truncate the code to two letters.
There is some exceptions (<100) but it could be easily handle by a conversion map.
(https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1)
If we decide to support only zim we have created (I don't know if we have to do it), it may be even less.

@kelson42 what do you think about this ? It is you who have mainly create the search code in kiwix-lib.
Do I've missed something ?

"Double free or corruption" with fulltext index creation (zimwriterfs)

From @tim-moody on May 17, 2017 18:54

• sudo docker pull openzim/mwoffliner
• sudo docker create openzim/mwoffliner
• sudo docker run -it -v ~/wikishrink:/files -v /etc/localtime:/etc/localtime:ro openzim/mwoffliner

• mwoffliner --mwUrl=https://en.wikipedia.org/ --adminEmail [email protected] --articleList /files/Test_Seed_List_enwiki.lst --cacheDirectory /files/cache --outputDirectory /files/out --filenamePrefix wikishrink --withZimFullTextIndex --verbose

yields Failed to build successfuly the ZIM file /files/out/wikishrink_test_seed_list_enwiki_2017-05.zim (Error by executing zimwriterfs)

Copied from original issue: openzim/mwoffliner#75

Remove Symbian support

We can not test it and Symbian is almost deprecated. That would mean removing the "group" and "symbian" directories.

libzim is not able to deal properly with an empty ZIM file

As requested by @mgautierfr I'm raising this issue here.
The original is kiwix/kiwix-android#326

I believe we're already aware of the behaviour, here's an example that triggered the application dying when it was trying to open a zim file.

I've got a 64GB SD-card formatted with FAT32 (so the older tablet can read the content) with 2 large ZIM files: a fairly old Spanish wikipedia that's been on the card and in the device for a long time, and a newer ZIM file - the german novid wikipedia content I've just added directly (not downloaded using Kiwix Android).

The device is a Lenovo Yoga Tab B6000-H running Android 4.2.2

I'll try testing on other devices that can accept the SD-Card.

Here's an extract of adb logcat. The jdwp messages are flooding log BTW

I/kiwix: Opening ZIM file /storage/sdcard1/wikipedia_es_all_05_201.zimaa
A/libc: ../../SOURCE/libzim/src/file_reader.cpp:90: virtual void zim::FileReader::read(char*, zim::offset_type, zim::offset_type) const: assertion "offset < _size" failed
D/jdwp: sendRequest : Len=0x56
A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 18322 (Thread-863)

The same Spanish ZIM file can be read by an older version of Kiwix Android (version 1.99) installed in a Nook HD+ running CyanogenMod 6.0.1

Reproduced this crash when I created a zero-byte test.zim on a Barnes & Noble Nook HD+ (Android 6.0.1). I doubt the specific device is that relevant though. Anyway, the same assertion failed.
The file was created using a file manager. touch test.zim would also create a similar file (run from adb shell etc.)

12-15 12:15:48.278 22482-22549/org.kiwix.kiwixmobile D/kiwix: Retrieving: content://org.kiwix.kiwixmobile.zim.base/-/j/body.js
12-15 12:15:48.283 22482-22528/org.kiwix.kiwixmobile W/ContentResolver: Failed to get type for: content://org.kiwix.kiwixmobile.zim.base/-/j/body.js (Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference)
12-15 12:15:48.283 22482-22528/org.kiwix.kiwixmobile W/ContentResolver: Failed to get type for: content://org.kiwix.kiwixmobile.zim.base/-/j/body.js (Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference)
12-15 12:15:48.283 22482-22554/org.kiwix.kiwixmobile D/kiwix: reading  -/j/body.js(mime: application/javascript, size: 17200) finished.
12-15 12:15:49.271 22482-22482/org.kiwix.kiwixmobile D/kiwix: Loaded URL: content://org.kiwix.kiwixmobile.zim.base/A/index.html
12-15 12:15:49.297 22482-22482/org.kiwix.kiwixmobile D/kiwix: Loaded URL: content://org.kiwix.kiwixmobile.zim.base/A/index.html
12-15 12:15:50.145 22482-22482/org.kiwix.kiwixmobile I/ListPopupWindow: Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well.
12-15 12:15:52.890 22482-22482/org.kiwix.kiwixmobile D/kiwix: onPause Save currentzimfile to preferences: /storage/6665-3832/Android/data/org.kiwix.kiwixmobile/wikipedia_en_uganda_09_2014 - copy.zim
12-15 12:15:53.089 22482-22482/org.kiwix.kiwixmobile I/kiwix: ZimManageActivity successfully bootstrapped
12-15 12:15:53.263 22482-22558/org.kiwix.kiwixmobile A/libc: ../../SOURCE/libzim/src/file_reader.cpp:90: virtual void zim::FileReader::read(char*, zim::offset_type, zim::offset_type) const: assertion "offset < _size" failed
12-15 12:15:53.308 22482-22557/org.kiwix.kiwixmobile D/android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 12:15:53.431 22482-22557/org.kiwix.kiwixmobile D/android-storage-devices: Unable to create marker file, duplicates may be listed
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: Chrome build fingerprint:
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: 2.3
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: 55
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: 023f32a1-4862-425f-a49b-e5b1792614ed
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
12-15 12:15:53.443 22482-22558/org.kiwix.kiwixmobile E/chromium: ### WebView Version 44.0.2403.119 (code 246011900)
12-15 12:15:53.444 22482-22558/org.kiwix.kiwixmobile A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 22558 (Thread-519)
12-15 12:15:53.461 22482-22557/org.kiwix.kiwixmobile D/kiwix: Searching directory /mnt

[writer] Do not duplicate blob content while creating zim file.

Implementing #122, I've found that the blog content is duplicated while we create the zim file:

  • zimwriterfs open the file and read the content in a buffer.
  • when zimcreator add the blob to the cluster, the content is copied into the internal cluster buffer.
  • Later on, the cluster is written in the zim file.

This is especially important for big files (xapian index) but it should make a speed improvement if we do it for all files.

One solution could be to rewrite the zim::writer::Cluster class to not duplicate the content but keep a reference to the original content and write directly the original content into the zim file. Even better for binary files, we could simply have a reference to the file path, this way it would be the libzim writer who open the file and copy it directly to the zim file. So big binary files would never be copied in memory at all.

However, we need to rewrite a bit how we handle memory management. libzim writer copy the content to allow zimwriterfs to reuse the article. If we keep a reference, we have to change this and be sure who is responsible of the data between libzim and zimwriterfs.

Use std::map instead of std::vector in zimwriter

This is a reminder issue for potential performance improvement of the zim writer.

While building a zim, we store all dirents in a std::vector. This work (very) well while we are only doing only insertion/linear reading, but we are also doing some sort,find and erase in the vector.

For the "find", we use std::binary_search and std::lower_bound using the aid as key. Both methods are probably better implemented (and more logical) in a map than in a vector.

Moreover, we also remove element from the vector. This is very time consuming (linear) as vector has to move (copy) all elements after the removed element.

It should be possible to improve this by using a std::map<std::string, Dirent> where the erase of a element is constant complexity.

This is also probably a specific usecase. I've interrupt a mwoffliner in the middle before launching a zimwriterfs. So I add a "full" redirect article list but not all the articles. So I had to remove all redirect article pointing to non existent article. With a full article set, this is maybe not a problem. As always, this need more investigation before starting patching.

libzim does not compile on Ubuntu 16.04

$ meson . build
The Meson build system
Version: 0.29.0
Source dir: /home/kelson/libzim
Build dir: /home/kelson/libzim/build
Build type: native build
Build machine cpu family: x86_64
Build machine cpu: x86_64
Project name: libzim
Native c compiler: cc (gcc 5.4.0-6ubuntu1)
Native cpp compiler: c++ (gcc 5.4.0-6ubuntu1)
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Native dependency zlib found: YES 1.2.8
Native dependency liblzma found: YES 5.1.0alpha
Dependency bzip2 found: NO
Native dependency xapian-core found: YES 1.4.2
Native dependency icu-i18n found: YES 55.1
Build targets in project: 2

Build failing on Mac OS 10.12.6

Build fails with the following when running ninja
image

image

Output from meson . build:
image

Happy to provide more info.
I'm currently trying to build kiwix-lib locally, which depends on libzim.

Compilation warnings with with gcc 7.2.0 (debian sid)

Here is a pastebin of compile errors i get in debian sid with gcc 7.2.0:

root@debian:/sources/libzim# meson . build
The Meson build system
Version: 0.44.0
Source dir: /sources/libzim
Build dir: /sources/libzim/build
Build type: native build
Project name: libzim
Native C compiler: cc (gcc 7.2.0)
Native C++ compiler: c++ (gcc 7.2.0)
Build machine cpu family: arm
Build machine cpu: armv7l
Found pkg-config: /usr/bin/pkg-config (0.29)
Native dependency zlib found: YES 1.2.8
Native dependency liblzma found: YES 5.2.2
Native dependency xapian-core found: YES 1.4.5
Dependency threads found: YES
Native dependency icu-i18n found: YES 57.1
Configuring config.h using configuration
Dependency GTest found: YES (building self)
Build targets in project: 7
Found ninja-1.8.2 at /usr/bin/ninja
root@debian:/sources/libzim# cd build
root@debian:/sources/libzim/build# ninja
[12/45] Compiling C++ object 'src/zim@sha/fileimpl.cpp.o'.
In file included from ../src/fileimpl.h:29:0,
                 from ../src/fileimpl.cpp:20:
../src/cache.h: In member function ‘void zim::Cache<Key, Value>::put(const Key&, const Value&) [with Key = long long unsigned int; Value = std::shared_ptr<zim::Cluster>]’:
../src/cache.h:229:11: note: parameter passing for argument of type ‘std::map<long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
           data.insert(data.begin(),
           ^~~~
../src/cache.h:237:11: note: parameter passing for argument of type ‘std::map<long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
           data.insert(data.begin(),
           ^~~~
In file included from /usr/include/c++/7/map:61:0,
                 from ../src/fileimpl.h:25,
                 from ../src/fileimpl.cpp:20:
/usr/include/c++/7/bits/stl_map.h: In member function ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, std::map<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = long long unsigned int; _Tp = zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_map.h:863:7: note: parameter passing for argument of type ‘std::map<long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
       insert(const_iterator __position, value_type&& __x)
       ^~~~~~
/usr/include/c++/7/bits/stl_map.h:864:65: note: parameter passing for argument of type ‘std::map<long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
                                                                 ^
In file included from /usr/include/c++/7/map:60:0,
                 from ../src/fileimpl.h:25,
                 from ../src/fileimpl.cpp:20:
/usr/include/c++/7/bits/stl_tree.h: In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique_(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Arg&&) [with _Arg = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_tree.h:1023:2: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
  ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:1026:65: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
                                                                 ^
/usr/include/c++/7/bits/stl_tree.h: In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique_(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Arg&&, _NodeGen&) [with _Arg = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _NodeGen = std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::_Alloc_node; _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_tree.h:2191:7: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h: In member function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::erase(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator) [with _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_tree.h:1125:14: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
  _M_erase_aux(__position);
  ~~~~~~~~~~~~^~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h: In member function ‘std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, const key_type&) [with _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_tree.h:2130:5: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h: In member function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase_aux(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator) [with _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >]’:
/usr/include/c++/7/bits/stl_tree.h:2470:5: note: parameter passing for argument of type ‘std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data>, std::_Select1st<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> > >::const_iterator {aka std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, zim::Cache<long long unsigned int, std::shared_ptr<zim::Cluster> >::Data> >}’ changed in GCC 7.1
     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[19/45] Compiling C++ object 'src/zim@sha/search.cpp.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from ../include/zim/search.h:24,
                 from ../src/search.cpp:20:
/usr/include/c++/7/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Xapian::LatLongCoord; _Alloc = std::allocator<Xapian::LatLongCoord>]’:
/usr/include/c++/7/bits/stl_vector.h:948:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<Xapian::LatLongCoord*, std::vector<Xapian::LatLongCoord> >’ changed in GCC 7.1
    _M_realloc_insert(end(), __x);
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:69:0,
                 from ../include/zim/search.h:24,
                 from ../src/search.cpp:20:
/usr/include/c++/7/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const Xapian::LatLongCoord&}; _Tp = Xapian::LatLongCoord; _Alloc = std::allocator<Xapian::LatLongCoord>]’:
/usr/include/c++/7/bits/vector.tcc:394:7: note: parameter passing for argument of type ‘std::vector<Xapian::LatLongCoord>::iterator {aka __gnu_cxx::__normal_iterator<Xapian::LatLongCoord*, std::vector<Xapian::LatLongCoord> >}’ changed in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:65:0,
                 from ../include/zim/search_iterator.h:23,
                 from ../include/zim/search.h:23,
                 from ../src/search.cpp:20:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = Xapian::LatLongCoord*; _ForwardIterator = Xapian::LatLongCoord*; _Allocator = std::allocator<Xapian::LatLongCoord>]’:
/usr/include/c++/7/bits/stl_uninitialized.h:312:69: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
   _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
                                                                     ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<Xapian::LatLongCoord*>; _ForwardIterator = Xapian::LatLongCoord*; _Tp = Xapian::LatLongCoord]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<Xapian::LatLongCoord*>; _ForwardIterator = Xapian::LatLongCoord*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<Xapian::LatLongCoord*>; _ForwardIterator = Xapian::LatLongCoord*; bool _TrivialValueTypes = false]’:
/usr/include/c++/7/bits/stl_uninitialized.h:76:9: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:76:9: note: parameter passing for argument of type ‘std::move_iterator<Xapian::LatLongCoord*>’ changed in GCC 7.1
[23/45] Compiling C++ object 'src/zim@sha/writer_zimcreatorimpl.cpp.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from ../src/writer/zimcreatorimpl.h:26,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]’:
/usr/include/c++/7/bits/stl_vector.h:948:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >’ changed in GCC 7.1
    _M_realloc_insert(end(), __x);
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:69:0,
                 from ../src/writer/zimcreatorimpl.h:26,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const long long unsigned int&}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]’:
/usr/include/c++/7/bits/vector.tcc:394:7: note: parameter passing for argument of type ‘std::vector<long long unsigned int>::iterator {aka __gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >}’ changed in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {long long unsigned int}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]’:
/usr/include/c++/7/bits/vector.tcc:105:21: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >’ changed in GCC 7.1
    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:65:0,
                 from ../include/zim/blob.h:26,
                 from ../include/zim/writer/articlesource.h:24,
                 from ../src/writer/zimcreatorimpl.h:23,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = long long unsigned int*; _ForwardIterator = long long unsigned int*; _Allocator = std::allocator<long long unsigned int>]’:
/usr/include/c++/7/bits/stl_uninitialized.h:312:69: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
   _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
                                                                     ^
In file included from /usr/include/c++/7/vector:69:0,
                 from ../src/writer/zimcreatorimpl.h:26,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {long long unsigned int}; _Tp = long long unsigned int; _Alloc = std::allocator<long long unsigned int>]’:
/usr/include/c++/7/bits/vector.tcc:394:7: note: parameter passing for argument of type ‘std::vector<long long unsigned int>::iterator {aka __gnu_cxx::__normal_iterator<long long unsigned int*, std::vector<long long unsigned int> >}’ changed in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/memory:65:0,
                 from ../include/zim/blob.h:26,
                 from ../include/zim/writer/articlesource.h:24,
                 from ../src/writer/zimcreatorimpl.h:23,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<long long unsigned int*>; _ForwardIterator = long long unsigned int*; _Tp = long long unsigned int]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<long long unsigned int*>; _ForwardIterator = long long unsigned int*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<long long unsigned int*>; _ForwardIterator = long long unsigned int*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/string:40,
                 from /usr/include/c++/7/stdexcept:39,
                 from ../include/zim/writer/articlesource.h:23,
                 from ../src/writer/zimcreatorimpl.h:23,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = std::move_iterator<long long unsigned int*>; _OI = long long unsigned int*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from /usr/include/c++/7/stdexcept:39,
                 from ../include/zim/writer/articlesource.h:23,
                 from ../src/writer/zimcreatorimpl.h:23,
                 from ../src/writer/zimcreatorimpl.cpp:20:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘decltype (std::__miter_base(__it.base())) std::__miter_base(std::move_iterator<_IteratorL>) [with _Iterator = long long unsigned int*]’:
/usr/include/c++/7/bits/stl_iterator.h:1241:5: note: parameter passing for argument of type ‘std::move_iterator<long long unsigned int*>’ changed in GCC 7.1
     __miter_base(move_iterator<_Iterator> __it)
     ^~~~~~~~~~~~
[33/45] Compiling C++ object 'test/cluster@exe/gtest-all.cc.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/7/bits/stl_vector.h:331:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
    std::__uninitialized_copy_a(__x.begin(), __x.end(),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
           this->_M_impl._M_start,
           ~~~~~~~~~~~~~~~~~~~~~~~
           _M_get_Tp_allocator());
           ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:63:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_algobase.h:456:18: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __result));
                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:61:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/7/bits/cpp_type_traits.h:408:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __miter_base(_Iterator __it)
     ^~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __copy_move_a2(_II __first, _II __last, _OI __result)
     ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/7/bits/stl_iterator.h:983:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
     ^~~~~~~~~~~~
[37/45] Compiling C++ object 'test/dirent@exe/gtest-all.cc.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/7/bits/stl_vector.h:331:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
    std::__uninitialized_copy_a(__x.begin(), __x.end(),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
           this->_M_impl._M_start,
           ~~~~~~~~~~~~~~~~~~~~~~~
           _M_get_Tp_allocator());
           ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:63:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_algobase.h:456:18: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __result));
                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:61:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/7/bits/cpp_type_traits.h:408:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __miter_base(_Iterator __it)
     ^~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __copy_move_a2(_II __first, _II __last, _OI __result)
     ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/7/bits/stl_iterator.h:983:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
     ^~~~~~~~~~~~
[40/45] Compiling C++ object 'test/header@exe/gtest-all.cc.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/7/bits/stl_vector.h:331:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
    std::__uninitialized_copy_a(__x.begin(), __x.end(),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
           this->_M_impl._M_start,
           ~~~~~~~~~~~~~~~~~~~~~~~
           _M_get_Tp_allocator());
           ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:63:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_algobase.h:456:18: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __result));
                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:61:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/7/bits/cpp_type_traits.h:408:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __miter_base(_Iterator __it)
     ^~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __copy_move_a2(_II __first, _II __last, _OI __result)
     ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/7/bits/stl_iterator.h:983:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
     ^~~~~~~~~~~~
[42/45] Compiling C++ object 'test/uuid@exe/gtest-all.cc.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/7/bits/stl_vector.h:331:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
    std::__uninitialized_copy_a(__x.begin(), __x.end(),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
           this->_M_impl._M_start,
           ~~~~~~~~~~~~~~~~~~~~~~~
           _M_get_Tp_allocator());
           ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:63:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_algobase.h:456:18: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __result));
                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:61:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/7/bits/cpp_type_traits.h:408:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __miter_base(_Iterator __it)
     ^~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __copy_move_a2(_II __first, _II __last, _OI __result)
     ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/7/bits/stl_iterator.h:983:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
     ^~~~~~~~~~~~
[44/45] Compiling C++ object 'test/template@exe/gtest-all.cc.o'.
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/7/bits/stl_vector.h:331:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
    std::__uninitialized_copy_a(__x.begin(), __x.end(),
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
           this->_M_impl._M_start,
           ~~~~~~~~~~~~~~~~~~~~~~~
           _M_get_Tp_allocator());
           ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:63:0,
                 from /usr/include/gtest/gtest.h:56,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:287:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:289:63: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     { return std::uninitialized_copy(__first, __last, __result); }
                                                               ^
/usr/include/c++/7/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     uninitialized_copy(_InputIterator __first, _InputIterator __last,
     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:134:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/7/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_uninitialized.h:101:53: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         { return std::copy(__first, __last, __result); }
                                                     ^
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     copy(_II __first, _II __last, _OI __result)
     ^~~~
/usr/include/c++/7/bits/stl_algobase.h:446:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/7/bits/stl_algobase.h:456:18: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
         __result));
                  ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:61:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/7/bits/cpp_type_traits.h:408:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __miter_base(_Iterator __it)
     ^~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __copy_move_a2(_II __first, _II __last, _OI __result)
     ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:420:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/gtest/gtest.h:55,
                 from /usr/src/gtest/src/gtest-all.cc:39:
/usr/include/c++/7/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/7/bits/stl_iterator.h:983:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
     ^~~~~~~~~~~~
[45/45] Linking target test/template.
root@debian:/sources/libzim/build#

The code still compile its just gcc 7.2.0 give a lot of warn errors and i figure you guys should at least look into it.

PS i did this in a chroot of debian armhf using qemu-arm-static in it.

Support article's content bigger than 4Go.

libzim cannot handle article content bigger than 4Go.

All public API variables to store article's size are zim::size_type (defined to uint32_t).
There is also the size of the blog stored in an unsigned which is also a 32 bits integer.
It may have other place where a wrong integer size is used to store a content size. A full audit of libzim would be necessary.

Related to kiwix/kiwix-tools#146

search.cpp: -Werror unused-function

$ meson . build
The Meson build system
Version: 0.41.2
Source dir: /mnt/gentoo/home/haelwenn/Sources/git/github.com/openzim/libzim
Build dir: /mnt/gentoo/home/haelwenn/Sources/git/github.com/openzim/libzim/build
Build type: native build
Project name: libzim
Native c compiler: cc (gcc 5.4.0)
Native cpp compiler: c++ (gcc 5.4.0)
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.28)
Native dependency zlib found: YES 1.2.11
Native dependency liblzma found: YES 5.2.3
Dependency xapian-core found: NO
Dependency threads found: YES
Native dependency icu-i18n found: YES 58.2
Downloading gtest from https://github.com/google/googletest/archive/release-1.8.0.zip
Download size: 1586287
Downloading: ..........
Downloading patch from https://wrapdb.mesonbuild.com/v1/projects/gtest/1.8.0/4/get_zip
Download size: 1277
Downloading: ..........

Executing subproject gtest.

Project name: gtest
Native cpp compiler: c++ (gcc 5.4.0)
Build targets in project: 0

Subproject gtest finished.
Configuring config.h using configuration
Build targets in project: 9
$ cd build
$ ninja
[19/49] Compiling Cpp object 'src/zim@sha/search.cpp.o'.
FAILED: src/zim@sha/search.cpp.o
c++  -Isrc/zim@sha -Isrc -I../src -Iinclude -I../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64-Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O0 -g -Werror -Wall -fPIC -pthread -MMD -MQ 'src/zim@sha/search.cpp.o' -MF 'src/zim@sha/search.cpp.o.d' -o 'src/zim@sha/search.cpp.o' -c ../src/search.cpp
../src/search.cpp:59:28: error: ‘std::map<std::__cxx11::basic_string<char>, int> zim::{anonymous}::read_valuesmap(const string&)’ defined but not used [-Werror=unused-function]
 std::map<std::string, int> read_valuesmap(const std::string &s) {
                            ^
cc1plus: all warnings being treated as errors
[24/49] Compiling Cpp object 'src/zim@sha/writer_zimcreatorimpl.cpp.o'.
ninja: build stopped: subcommand failed.

Please test your code when using -Werror publicly, you should be using it only on your side or with an option if you know it can break.

New build system is not detecting cxxtools and tests are disabled

Hi,

New meson build system is unable to find libcxxtools-dev on Debian possibly due to missing pkg-config files. This disables the unit tests. Its always recommended for Debian package to run the unit tests when they are present but this is not happening with new release.

Previous build had option --enable-unittest which allowed running test. I would highly appreciate a solution for this.

zimwriterfs fails when processing a soft-link for CSS file

Here's what I know, the bug may be more general or very specific to my case. More testing could help identify the extent, for instance to see if the same behavior happens when using soft-links for images, html, etc.

Ingredients:

  • zimwriterfs (I used the current Docker Image that contains it). Note I added a shared folder so I could easily share data between the running Docker image and my macbook. This had to be configured using the command line. See https://github.com/rocker-org/rocker/wiki/Sharing-files-with-host-machine for tips on how to do this.
  • some basic content. I generated it from the https://github.com/julianharty/testing-heuristics project (follow the instructions in the README)
  • create a folder called ./A in the dist folder
  • create a soft-link using ln -s for style.css: ln -s style.css A/style.css
  • run zimwriterfs with the following command (in the extract below) in the running Docker container.

Using a soft-link (ln -s source-file destination-file) caused zimwriterfs to report and error and fail as follows:

root@3090e980e81e:/# zimwriterfs  --uniqueNamespace  -w index.html -f icon.png -l EN -t "Testing Heuristics" -d "Early cut of the testing heuristics material." -c "Julian Harty" -p "Commercetest Ltd." /Volumes/shared/dist/ /Volumes/shared/th-ln.zim

create directory entries
collect articles
zimwriterfs: unable to open file at path: /Volumes/shared/dist/A/style.css
terminate called after throwing an instance of 'int'
Aborted

Copying the file and then re-running the identical zimwriterfs command worked (I had to delete the soft-link first).

rm A/style.css 
cp style.css A/

warc2zim tool

I was trying to find out if there exists any tools to convert between WARC and ZIM formats, but have trouble finding anything related.

Greetings,

Arjen

On Ubuntu Xenial libzim.so is install in an "unsupported" directory

$ sudo ninja install | grep "\.so*"
Installing src/libzim.so to /usr/local/lib/x86_64-linux-gnu/libzim.so

The problem is the location where the libzim is installed

$ find /usr -name "libzim.so*"
/usr/local/lib/x86_64-linux-gnu/libzim.so.0
/usr/local/lib/x86_64-linux-gnu/libzim.so

This is not parsed per default by ld

$ more /etc/ld.so.conf.d/*conf
::::::::::::::
/etc/ld.so.conf.d/fakeroot-x86_64-linux-gnu.conf
::::::::::::::
/usr/lib/x86_64-linux-gnu/libfakeroot
::::::::::::::
/etc/ld.so.conf.d/i386-linux-gnu.conf
::::::::::::::
# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu
::::::::::::::
/etc/ld.so.conf.d/i386-linux-gnu_GL.conf
::::::::::::::
/usr/lib/i386-linux-gnu/mesa
::::::::::::::
/etc/ld.so.conf.d/libc.conf
::::::::::::::
# libc default configuration
/usr/local/lib
::::::::::::::
/etc/ld.so.conf.d/x86_64-linux-gnu.conf
::::::::::::::
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
::::::::::::::
/etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf
::::::::::::::
/usr/lib/x86_64-linux-gnu/mesa-egl
::::::::::::::
/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf
::::::::::::::
/usr/lib/x86_64-linux-gnu/mesa

As a consequence zimwriterfs does not find it

$ sudo ldconfig
kelson@kelson-VirtualBox:~/libzim/build$ zimwriterfs 
zimwriterfs: error while loading shared libraries: libzim.so.0: cannot open shared object file: No such file or directory

We need a solution where this works out-of-the-box, without tweaking LD_LIBRARY_PATH and LD_PATH env variables.

Get/unpack only a part of a content

The zimlib needs to fully unpack a content before giving delivering it to a
third part software.

This has many disadvantages especially if the content is big, a video for
example:

  • This will need pretty much memory
  • This will take time
  • You do not have a random access (necessary to seek in an HTML5 video)

It would be a really good usability improvement to have a method which delivers
only a part of any content.

-- Comment #1 From Tommi Mäkitalo 2010-09-26 22:01:26 -------

The data is always fully uncompressed. There is no way to prevent that. LZMA2
uses 1MB chunks internally and it will always uncompress the whole chunk. If I
try to read only some bytes, LZMA2 will still uncompress the 1MB data and just
return part of it. So it won't save any space nor time if we read only a few
bytes.

The zimlib is designed to prevent unnecessary copies. So if you request an
article, the data is uncompressed and the article point directly to the
uncompressed data. This is one of the reasons, the data is not necessarily zero
terminated. Mostly after the last byte of an article you can find the first
byte of the next article.

The only situation, where it really may save some time is really for very large
articles. If a article data is much larger than 2MB it may take multiple LZMA2
chunks and if you really need only the first MB, you don't really need to
uncompress the whole chunk.

Zim is optimized for many small articles. And I feel, that this matches our
target. I don't think we really need to do optimization for something else.

-- Comment #2 From Emmanuel Engelhart 2010-09-27 08:38:45 -------

If we don't implement that feature, how do we want to display quickly, allow
seeking in a 10MB video or audio file? How do we allow a download window to
appear immediately? This is concrete problems I have, as a user, with my ZIM
files.

The good news is that not all the articles are compressed... In fact the
articles which need this quick random access are mainly not compressed
(audio/video/...) in the ZIM itself. So at least, 90% of what I think user need
would be reach with such a feature for non compressed content.

For the compressed articles, the problem occurs only with big articles which
need a big uncompress time and a big download time... and you already have
written about the solution in such cases.

Moved from https://phabricator.wikimedia.org/T49405

Get rid of istream.

libzim has the ability to read zim file cut in different parts (zimaa, zimab, ...)

To do that, libzim implements a low level istream. This istream has the same interface that the standard c++ istream, but internally can swith from a zim part to another depending "where" we are reading in the (logical zim).
This allow all upper logic to be totally independent of the fact that the zim is cut or not.

This serve us well, but the new functionalities[*] we want need upper logic know more about the underlying data. The Article, Cluster and Blob classes need to know from where the data come from to take performance decisions.

We should probably introduce new classes as : ZimPart, MemoryRegion, CompressedRegion, ... and base upper classes on them.

[*] no copy of data (mmap), range access, direct access to article data without getting the all cluster, zim extensions, ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.