| Summary: | Kontact crashes on CentOS | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Kris <krisgamrat> |
| Component: | rhel | Assignee: | Timothy Pearson <kb9vqf> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | albator78, bugwatch |
| Priority: | P5 | ||
| Version: | 3.5.13.2 [Trinity] | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Attachments: | kontact crash backtrace | ||
Comment on attachment 1422 [details]
kontact crash backtrace
Fixing auto-assigned mime type. Bugzilla didn't let me change it earlier when I attached it.
This is in fact the same bug as #1160 (and maybe others) Assertion failed in khtml::Cache::clear() The assert is in tdelibs/misc/loader.cpp , in function void Cache::clear() . I remember we already had it before, but here it is again. The workaroung was to build with "-DNDEBUG" to avoid compiling the piece of code which causes the assert. But apparently it was not done in this build. In the automake-built packages, you just have to add parameter "--disable-debug" then it defines NDEBUG . Now let's look at cmake-built packages: All, I think we have a more general build issue with the CMAKE packages. The -DNDEBUG stuff is defined in: cmake/modules/FindTQt.cmake # Set compiler flags according to build type set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-DNDEBUG" ) set( CMAKE_C_FLAGS_RELWITHDEBINFO "-DNDEBUG" ) According to the CMAKE documentation (see CMAKE_BUILD_TYPE) : http://www.cmake.org/Wiki/CMake_Useful_Variables These variables are used only if we run cmake with -DCMAKE_BUILD_TYPE=RelWithDebInfo OK, I was unaware of this, and this is not documented in http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild . But I see that the Debian/Ubuntu packages have the flag in their "rules" file (at least in tdelibs). Lucky guys :-) BUT wait ! The TDE documentation shows that we should use other CMAKE flags: -DCMAKE_C_FLAGS:STRING="$CPUOPTIONS" \ -DCMAKE_CXX_FLAGS:STRING="$CPUOPTIONS $DEBUG_CMAKE_OPT" \ And also, in root CMakeLists.txt, I see: set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") Then, these flags are ignored in debian/ubuntu packages ? Not good either. So what do we do now ? Do we convert check every CMAKE file to ensure that variables are the "RelWithDebInfo" ones ? Or do we revert back to build with "cmake -DCMAKE_BUILD_TYPE=None" ? Also, I think the "-DNDEBUG" flag should NOT appear hardcoded in one of our Cmake module. It should be given in the cmake command-line => just need to update the wiki accordingly. E.G we could write: cmake path/to/trinity/module \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$CPUOPTIONS" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="$CPUOPTIONS $DEBUG_CMAKE_OPT" \ [...] But, how to manage the fact that the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS can have different name in our CMakeLists.txt ? I've uploaded package trinity-tdelibs-3.5.13.2-2 (and other updates) in the download server. Now we must wait for the mirrors to synchronize. When it's available, you should get the update with the normal "yum update" command. Package fixing this issue is in the mirrors now. Closing bug. |
Created attachment 1422 [details] kontact crash backtrace Every time I exit Kontact, it crashes. This does not seem to happen when logging out with Kontact open. I am using CentOS 6. Attached is the backtrace. To the best of my knowledge, I have the needed debuginfo packages (the ones for tdebase and tdepim), however several times in the backtrace "No symbol table info available." If I'm missing a debuginfo package, let me know and I'll provide a new backtrace.