Comments (2)
I have investigated this further. The issue will be fixed on the Apple side here:
kiwix/kiwix-apple#868
The reason it was failing is that we had calls to Kiwix::Manager->readOPDS()
from multiple threads at the same time!
From the more detailed crash report, I can see that both Thread 1 and Thread 6 are calling the same:
![Screenshot 2024-07-15 at 12 16 03](https://private-user-images.githubusercontent.com/6784320/348670476-c2a6be84-04af-44f0-9977-9de81e5da68d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0NTU1NzEsIm5iZiI6MTcyNDQ1NTI3MSwicGF0aCI6Ii82Nzg0MzIwLzM0ODY3MDQ3Ni1jMmE2YmU4NC0wNGFmLTQ0ZjAtOTk3Ny05ZGU4MWU1ZGE2OGQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjNUMjMyMTExWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NmNmM2EwODZiZTRhZmFiZmVjOWY3YWZlMzUyZmYwOTQwZjc2ZWZhMTEwNjQ2YTc3OTUwZjdlOGFlYmM2YWExMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.u1t4zDr25orYhTJvYANJeDg0gAW0N47Ga13V2ZcaMGw)
![Screenshot 2024-07-15 at 12 15 55](https://private-user-images.githubusercontent.com/6784320/348670480-aff88b8b-b9a9-4cde-b263-db0436f90233.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0NTU1NzEsIm5iZiI6MTcyNDQ1NTI3MSwicGF0aCI6Ii82Nzg0MzIwLzM0ODY3MDQ4MC1hZmY4OGI4Yi1iOWE5LTRjZGUtYjI2My1kYjA0MzZmOTAyMzMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjNUMjMyMTExWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDk2ODZiMmNjY2QyYTdkMDZkNjlmODg4ZDFjYzJhYWQxZTU3Yjg1OTY1YmY3ZWY2MjUzZjExODdjMjg0ZTliNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.xuIxyNoOLMoZ-lN5sdGL_bbkjVWBBVfARrbRJriOnlY)
from libkiwix.
From first investigation, from trace, apple application is using icu73.
But we are loading icu data version 58 (https://github.com/kiwix/libkiwix/blob/main/src/tools/stringTools.cpp#L39-L49)
We do use version 73, see https://github.com/kiwix/kiwix-build/blob/main/kiwixbuild/dependencies/icu4c.py#L17. The only question is why do we use what looks like to be an outdated .dat
file!?
from libkiwix.
Related Issues (20)
- sync releases with library users HOT 5
- Add IPV6 support HOT 2
- To import bookmarks in android we require the `library.xml` HOT 10
- Suggestions for improving Kiwix-server for blind people HOT 5
- Remove `KIWIX_DATA_DIR` HOT 3
- βBlkβ language is not displayed properly in Kiwix Serve language filter HOT 7
- library.kiwix.org appears to have stopped updating HOT 1
- Release 14.0.0
- Edge case: kiwix-serve style & script injection fails if optional </head> tag is not present HOT 2
- Add download button in the preview of ZIMs in library.kiwix.org HOT 3
- Kiwix Server viewer βhomeβ button is most of he time not big enough HOT 1
- `kiwix::getDataDirectory()` should be moved to `kiwix/kiwix-desktop` repository HOT 1
- Relax the Content-Security-Policy to allow `mailto:` links in the Kiwix Serve iframe HOT 2
- ZIM size advertized in library is in MB while users see a MiB value in many other places HOT 2
- Remove Multiple Languages filter
- `OPDSParser.parse` is always returning true HOT 8
- ZIM Illustration is resized in the catalog UI and hence a bit blurry HOT 2
- Expose support for i18n/translation in the public C++ API HOT 2
- kiwix-serve raises 500 error on `Or` search term
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libkiwix.