Sourcetrail
Sourcetrail copied to clipboard
UI freeze after clicking "Edit" - "Preferences..."
(Arch Linux)
(2021.1.30 binary tarball does NOT have this issue)
Steps to reproduce
- Download and extract 2021.1.30 source code tarball
1. Apply this patch to setup/Linux/createPackages.sh
---
+++
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
# index sample projects
@@ -50,8 +50,6 @@
cp -R ../../../../bin/app/data/syntax_highlighting_rules .
cp -R ../../../../bin/app/data/fonts .
cp -R ../../../../bin/app/data/gui .
-cp -R ../../../../bin/app/data/java .
-cp -R ../../../../bin/app/data/python .
cp -R ../../../../bin/app/data/fallback .
cp -R ../../../../bin/app/user/projects fallback/
cp -R ../../../../bin/app/data/license .
@@ -81,6 +81,9 @@
createIcon 64x64
createIcon 48x48
+### END ###
+exit 0
+### END ###
# Version for filename
2. Build with these CMake configurations (cmake -B build -LA)
-- Version: 0.0.0
-- setting up the buildtype for versioning
bash: ''
-- 'Treat warnings as errors' policy is disabled
-- Found LLVM 11.1.0
-- Trying to find Clang compiler headers in '.' build config in directory '/usr/./lib/clang/11.1.0/include'.
-- Found headers for '.' build config.
-- Found Qt 5.15.2
-- Building the Java indexer will be skipped. You can enable building this target by setting 'BUILD_JAVA_LANGUAGE_PACKAGE' to 'ON'.
-- Building the Python indexer will be skipped. You can enable building this target by setting 'BUILD_PYTHON_LANGUAGE_PACKAGE' to 'ON'.
CMake Warning (dev) at /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
qt5_use_modules is not part of the official API, and might be removed in Qt
6.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
CMakeLists.txt:745 (qt5_use_modules)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at /usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
qt5_use_modules is not part of the official API, and might be removed in Qt
6.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
CMakeLists.txt:746 (qt5_use_modules)
This warning is for project developers. Use -Wno-dev to suppress it.
-- create symlink: /home/darren/.cache/yay/sourcetrail_build_from_source/src/Sourcetrail-2021.1.30/bin/app/data -> /home/darren/.cache/yay/sourcetrail_build_from_source/src/Sourcetrail-2021.1.30/build/app/data
-- Configuring done
-- Generating done
-- Build files have been written to: /home/darren/.cache/yay/sourcetrail_build_from_source/src/Sourcetrail-2021.1.30/build
-- Cache values
BUILD_CXX_LANGUAGE_PACKAGE:BOOL=ON
BUILD_JAVA_LANGUAGE_PACKAGE:BOOL=OFF
BUILD_PYTHON_LANGUAGE_PACKAGE:BOOL=OFF
Boost_DATE_TIME_LIBRARY_RELEASE:STRING=/usr/lib/libboost_date_time.a
Boost_DIR:PATH=/usr/lib64/cmake/Boost-1.75.0
Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/libboost_filesystem.a
Boost_INCLUDE_DIR:PATH=/usr/include
Boost_PROGRAM_OPTIONS_LIBRARY_RELEASE:STRING=/usr/lib/libboost_program_options.a
Boost_SYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/libboost_system.a
Boost_USE_STATIC_LIBS:BOOL=ON
CCACHE_PROGRAM:FILEPATH=CCACHE_PROGRAM-NOTFOUND
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
CMAKE_AR:FILEPATH=/usr/bin/ar
CMAKE_BUILD_TYPE:STRING=Release
CMAKE_COLOR_MAKEFILE:BOOL=ON
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
CMAKE_CXX_FLAGS:STRING=
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
CMAKE_C_FLAGS:STRING=
CMAKE_C_FLAGS_DEBUG:STRING=-g
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
CMAKE_EXE_LINKER_FLAGS:STRING=
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
CMAKE_INSTALL_PREFIX:PATH=/opt/sourcetrail
CMAKE_LINKER:FILEPATH=/usr/bin/ld
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
CMAKE_MODULE_LINKER_FLAGS:STRING=
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_NM:FILEPATH=/usr/bin/nm
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
CMAKE_READELF:FILEPATH=/usr/bin/readelf
CMAKE_SHARED_LINKER_FLAGS:STRING=
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
CMAKE_SKIP_RPATH:BOOL=NO
CMAKE_STATIC_LINKER_FLAGS:STRING=
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
CMAKE_STRIP:FILEPATH=/usr/bin/strip
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
Clang_DIR:PATH=/usr/lib64/cmake/clang
DOCKER_BUILD:BOOL=OFF
LLVM_DIR:PATH=/usr/lib/cmake/llvm
Qt5Core_DIR:PATH=/usr/lib64/cmake/Qt5Core
Qt5Gui_DIR:PATH=/usr/lib64/cmake/Qt5Gui
Qt5Network_DIR:PATH=/usr/lib64/cmake/Qt5Network
Qt5PrintSupport_DIR:PATH=/usr/lib64/cmake/Qt5PrintSupport
Qt5Svg_DIR:PATH=/usr/lib64/cmake/Qt5Svg
Qt5Widgets_DIR:PATH=/usr/lib64/cmake/Qt5Widgets
Qt5_DIR:PATH=/usr/lib64/cmake/Qt5
TREAT_WARNINGS_AS_ERRORS:BOOL=ON
boost_date_time_DIR:PATH=/usr/lib64/cmake/boost_date_time-1.75.0
boost_filesystem_DIR:PATH=/usr/lib64/cmake/boost_filesystem-1.75.0
boost_headers_DIR:PATH=/usr/lib64/cmake/boost_headers-1.75.0
boost_program_options_DIR:PATH=/usr/lib64/cmake/boost_program_options-1.75.0
boost_system_DIR:PATH=/usr/lib64/cmake/boost_system-1.75.0
-
Run
setup/Linux/createPackages.sh
-
Run
AppDir/usr/bin/sourcetrail
-
Click
Recent Projects:
-tictactoe_cpp
-
Click
Edit
-Preferences...
-
UI freeze
-
If I wait for several minutes the preferences window will eventually render
The root of this issue is the following bug in Boost.Process https://github.com/boostorg/process/issues/69.
wait_for
does not return when the process exits during the waiting time.
On my Linux machine, the "Edit" interface invokes the 2 compilers "clang" and "gcc", which leads to the window freezing for the full timeout of 2x30s. Thankfully one doesn't have to reconfigure too often :wink:
~using Doxygen as a workaround~