Comments (24)
Looks like the issue is caused by linking with system harfbuzz instead of using OM's harfbuzz.
CC @Ferenc-
from organicmaps.
linking with system harfbuzz
That is absolutely NOT an issue, and it transitively happens anyway on pretty much every Linux distro, because the system harfbuzz is typically dynamically linked to libQt6Gui.so
.
Anyhow, I have tried out https://aur.archlinux.org/packages/organicmaps-git in a fresh new and reproducible X86_64 Arch Linux environment, and it builds and runs just fine on my end. So this issue must be specific to the user's current environment.
Also the fact that there is not a single organicmaps specific function call in the attached backtrace, but a whole lot of Qt specific ones hints at something wrong with the system provided Qt dependency.
from organicmaps.
I would check the build with harf-buzz linked dynamically from the system, by disabling the statically linked one from our repo.
from organicmaps.
I would check the build with harf-buzz linked dynamically from the system, by disabling the statically linked one from our repo.
I have checked, and haven't noticed any difference.
from organicmaps.
I meant @Popolon can check that. @Ferenc- can you please share your branch?
from organicmaps.
Ok, I can compile it another way if you give me some instructions about it. June version work, there are probably difference between june and jully version that could help?
from organicmaps.
The current master
branch works just fine on my end. Please try the master
branch and preferably in a fresh new and reproducible environment, because the backtrace you sent suggests a broken Qt.
from organicmaps.
June version work, there are probably difference between june and jully version that could help?
The desktop app was migrated to Qt6. June version was the last based on Qt5.
from organicmaps.
The same problem on fresh updated Archlinux with fresh build using AUR - Segmentation fault.
from organicmaps.
Is the crash log exactly the same?
Do you have an officially installed Qt6 package?
Qt is linked with harfbuzz dynamic lib. OM is linked with harfbuzz static lib. It can be the cause.
@Ferenc- did you test it on the same Linux version?
from organicmaps.
Is the crash log exactly the same?
I had to install older version: one which works with qt5 -- it was working.
But for now have no installation to test, because didn't find how to add new bookmark on the map.
So, cannot reproduce exact error message.
Do you have an officially installed Qt6 package?
Qt6 installed via package manager pacman.
Here is my qt6 package list (after organic maps was uninstalled):
local/qt6-5compat 6.6.2-1 (qt6)
local/qt6-base 6.6.2-4 (qt6)
local/qt6-declarative 6.6.2-1 (qt6)
local/qt6-imageformats 6.6.2-1 (qt6)
local/qt6-multimedia 6.6.2-1 (qt6)
local/qt6-multimedia-ffmpeg 6.6.2-1
local/qt6-svg 6.6.2-1 (qt6)
local/qt6-translations 6.6.2-1 (qt6)
local/qt6-wayland 6.6.2-1 (qt6)
The harfbuzz package version installed is 8.3.0-2 .
from organicmaps.
@ioctl-user as mentioned here before. You are kindly requested to provide some sort of, at least partially reproducible environment. Your personal system, that only you have access to and is broken in whatever way, does not help us here, and just adds noise to the conversation.
Here is a reproducible environment step-by-step:
- You get and install
distrobox
by whatever means. - Pull the latests archlinux image:
podman pull quay.io/toolbx-images/archlinux-toolbox@sha256:cf7dd147c2b05b80132d4eb96c1b5ab44b3941f106f11c4bcf93d293d891dc43
- Create the archlinux box
distrobox create --image quay.io/toolbx-images/archlinux-toolbox@sha256:cf7dd147c2b05b80132d4eb96c1b5ab44b3941f106f11c4bcf93d293d891dc43 --name archlinux-latest
- Enter the box
distrobox enter archlinux-latest
- Build organicmaps with synched dependencies
cd /tmp
git clone https://aur.archlinux.org/organicmaps-git.git
cd organicmaps-git/
makepkg --syncdeps --yes
# You press Y twice when prompted for
# Proceed with installation? [Y/n] Y
- Install built package
makepkg --install
# You press Y when prompted for
# Proceed with installation? [Y/n] Y
- Start organicmaps
OMaps
And I have tried this many times. There was no sign of crash.
from organicmaps.
@Ferenc- Did you installed harfbuzz? it is needed by most of os packages.
from organicmaps.
Have you tried what is written here ? Have you not seen that harfbuzz 8.3.0-2
is installed in that environment?
from organicmaps.
@ioctl-user as mentioned here before. You are kindly requested to provide some sort of, at least partially reproducible environment. Your personal system, that only you have access to and is broken in whatever way, does not help us here, and just adds noise to the conversation.
No, I didn't tried steps you wrote above. But, I can believe, that if I will reproduce them, there will be no such error.
But I don't think there are many people, that really work in distrobox-created environment.
Unfortunately, this problem appears not only in my case.
from organicmaps.
I use harfbuzz 8.3.0-2, update all packages frequently, and have crash.
from organicmaps.
@ioctl-user do you use Wayland or X11. my desktop x86_64 where it crash is XFCE/X11, the one it work on aarc64/armv8 is Phosh/Wayland.
Does distrobox use Wayland, this could be a way to search. I will try by starting a Wayland session on the same computer.
For the branch, I use the PKGBUILD here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=organicmaps-git So it uses master branch.
from organicmaps.
@ioctl-user do you use Wayland or X11. my desktop x86_64 where it crash is XFCE/X11, the one it work on aarc64/armv8 is Phosh/Wayland.
Does distrobox use Wayland, this could be a way to search. I will try by starting a Wayland session on the same computer.
For the branch, I use the PKGBUILD here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=organicmaps-git So it uses master branch.
I'm running X11 on x86_64. Building organicmaps via paru and using makepkg also.
from organicmaps.
Tried with GNOME/Wayland session yesterday, same crash. I wonder, if that's just the fact to have some X11 libs installed? Some more clues, not sure it could help, I have harfbuzz + harfbuzz-icu both 8.3.0-2.
Harfbuzz-icu dependencies: libharfbuzz.so=0-64 libicuuc.so=74-64
As some functions names are missing in GDB. I wonder, how to obtain all debugs infos. ArchLinux doesn't divide .so and "*-dev" packages as Debian and derivatives.
from organicmaps.
You can try to link Harfbuzz dynamically instead of building it in OM. There is a big chance that your crash is related. Check previous PRs by @Ferenc-
from organicmaps.
When I look at CMake options I don't find anything related to harfbuzz:
cmake -LAH| grep -i harf
The only options related to shared libs obtained with
cmake -LAH| grep -i SHARED
Are here:
-- Shared libraries ........... OFF C compiler: GNU Building with Qt Positioning CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com // Flags used by the linker during the creation of shared libraries during all build types. CMAKE_SHARED_LINKER_FLAGS:STRING= // Flags used by the linker during the creation of shared libraries during DEBUG builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= // Flags used by the linker during the creation of shared libraries during MINSIZEREL builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= // Flags used by the linker during the creation of shared libraries during RELEASE builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= // Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= // If set, runtime paths are not added when installing shared libraries, but are added when building. // If set, runtime paths are not added when using shared libraries. // Build a shared expat library EXPAT_SHARED_LIBS:BOOL=OFF // Build shared libraries. JANSSON_BUILD_SHARED_LIBS:BOOL=OFF // Use shared (DLL) run-time lib even when Google Test is built as static lib. gtest_force_shared_crt:BOOL=OFF // Build gtest with internal symbols hidden in shared libraries.
from organicmaps.
https://github.com/organicmaps/organicmaps/blob/master/3party/CMakeLists.txt#L50
from organicmaps.
Suppressed the line with harfbuzz, remade the package, and it works this way with last release (2024_03_05)
from organicmaps.
Harfbuzz should be moved into system deps for Linux builds because of its conflict with Qt.
from organicmaps.
Related Issues (20)
- Poor ranking of street search results in Russian
- Few search results are shown on the map
- Add brand / store chains search suggestions / groupings
- Some Metro/Subway entrances do not display the name of the station
- Addresses are not found in Japan
- [android] Allow users to share bug reports without requiring an email client HOT 2
- [android] Pixel 4a on Calyx OS has weak GPS signal
- Search when adding POIs doesn't match category names HOT 1
- POI Clustering HOT 1
- Address search doesn't work for an isolated dwelling
- [ios] Building a long bicycle route crashes OM on iPhone 8 HOT 4
- Simple Mode Not Appearing When Adding/Editing POI Opening Hours
- Impossible to navigate after the pass point deletion
- [search] Notre-Dame de Paris has a low ranking in the search results
- Improve visibility of status bar
- Add bookmark type "distillery"
- [Android] Export bookmarks to local device HOT 2
- Hiking route is not calculated on a border between regions
- A bookmark is placed on a wrong place, ignoring the selection
- Load and save optional timestamp for each track point
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 organicmaps.