Welcome to The Bug Genie
Please fill in your username and password below, and press "Continue" to log in.If you have not already registered, please use the "Register new account" tab to do so.
![]() Please wait while updating issue type...
Could not save your changes
This issue has been changed since you started editing it
Data that has been changed is highlighted in red below. Undo your changes to see the updated information
You have changed this issue, but haven't saved your changes yet. To save it, press the Save changes button to the right
This issue is blocking the next release
![]() Create a comment There are no comments
The following issues are duplicates of this issue:
58aa36d
Apr 24, 14:44 - Preceeded by b4a3ae2a9a46cda1675893180b8f96c7e3a50505
Log entry
CMakeLists.txt: Don't use -fwhole-program with GCC < 4.5 and Boost < 1.41. (fixes bug #243) Changed files
Affected issues
58aa36d
Apr 24, 14:44 - Preceeded by b4a3ae2a9a46cda1675893180b8f96c7e3a50505
Log entry
CMakeLists.txt: Don't use -fwhole-program with GCC < 4.5 and Boost < 1.41. (fixes bug #243) Changed files
Affected issues
64c2352
May 24, 22:01 - Preceeded by c979ef0861ba07c598f9946c1e90488c2ad5fc7a
Log entry
Don't use the -fwhole-program compiler flag -fwhole-program can be used to tell the gcc that everything that makes up the final program is included in the current command, which allows it to use more aggressive optimizations. This can result in smaller and faster code. However, cmake always uses at least two commands to compile each executable, even with the unity build: one for building the user code and one for linking all libraries. Using the -fwhole-program option here can cause the compiler to not properly internalize some C++ objects (such as typeids) that are used in both the user code and external libraries, resulting in unexpected behavior. From my tests, there is no measurable performance gain and the file size reduction for the arx executable is 'only' around 18%. I think the potential problems outweigh those benefits, so -fwhole-program must go. This only affects unity builds as -fwhole-program was only used for those. Unity builds are still possible and recommended. In the future we can look into using link-time optimizations, but those are not stable enough in current gcc versions to be enabled by default. Also, quick tests show no real benefits. See crash report #245 See also commit 58aa3 and crash report #243 Changed files
Affected issues
64c2352
May 24, 22:01 - Preceeded by c979ef0861ba07c598f9946c1e90488c2ad5fc7a
Log entry
Don't use the -fwhole-program compiler flag -fwhole-program can be used to tell the gcc that everything that makes up the final program is included in the current command, which allows it to use more aggressive optimizations. This can result in smaller and faster code. However, cmake always uses at least two commands to compile each executable, even with the unity build: one for building the user code and one for linking all libraries. Using the -fwhole-program option here can cause the compiler to not properly internalize some C++ objects (such as typeids) that are used in both the user code and external libraries, resulting in unexpected behavior. From my tests, there is no measurable performance gain and the file size reduction for the arx executable is 'only' around 18%. I think the potential problems outweigh those benefits, so -fwhole-program must go. This only affects unity builds as -fwhole-program was only used for those. Unity builds are still possible and recommended. In the future we can look into using link-time optimizations, but those are not stable enough in current gcc versions to be enabled by default. Also, quick tests show no real benefits. See crash report #245 See also commit 58aa3 and crash report #243 Changed files
Affected issues
|
|||||||||||||||||||||||||||||||||||||||||||||
Really delete this comment?
arxcrash-5121-2646930522
Really delete this comment?
"Abnormal termination" (SIGABRT) could mean that an assert was triggered (if arx was build in debug mode), in which case the assert message should have been logged.
It could also be caused by other things, but more information should still be available in console output.
If you installed arx-libertatis from the ppa, could you please also install the arx-libertatis-debug package so there will hopefully be more information in the GDB stack trace.
If you compiled from source yourself you could enable a debug build by passing
to cmake and then running make again.
Really delete this comment?
Really delete this comment?
No problem - the crash reporter is just not smart enough to combine issues from different builds / versions.
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
As this only affects a few users (you need GCC < 4.5 *and* Boost < 1.41 to trigger the bug, which is pretty much just Ubuntu Lucid users), this won't be getting it's own patch release.
I have however updated the lucid package in the ppa with the fix (version 1.0.1-0ppa2~lucid). Could you test it and post here if it fixes the crash for you so I can close this bug?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?