Latest Posts

Topic: Compiling without AddressSanitizer

GunChleoc
Avatar
Topic Opener
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-11-25, 04:20

We have a new feature that lets us compile using AddressSanitizer, which will help us chase down bugs and crashes. This means that debug builds will now crash more frequently, in order to show the issues.

It is still possible to compile without AddressSanitizer by running compile.sh -a, or with the CMake option -DOPTION_ASAN=OFF.

Release builds will be compiled without AddressSanitizer - use compile.sh -r to get a release build.

There is also a new option to switch compilers. Run compile.sh -h or compile.sh --help for more info.


Busy indexing nil values

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 19:48
Posts: 2439
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-11-25, 10:46

Good to know, thanks face-smile.png


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
Tibor

Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-11-25, 19:46

I am not familiar with this stuff, so I wonder if it will produce some additional outputs to console or just crash as usual face-smile.png ?


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 19:48
Posts: 2439
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-11-26, 09:02

Here on archlinux additional console output comes up when quitting the game.

I have just compiled with the compile script as usual, without making a symlink explained in the help. But i did only made some small tests so far... resulting in additional output regarding leaked memory in WLApplication.


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
GunChleoc
Avatar
Topic Opener
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-11-26, 12:26

We get a leak from libmesa on xwindows system, so that one will always appear.

We have quite a lot of stuff to go through already, so best compile without the AddressSanitizer until we have achieved a pretty clean state.

The symlink will make the output more meaningful, explaining which line in the code the problem comes from. It's just a bunch of Hex addresses otherwise. Depending on your system, the symlink will already be set per default.


Busy indexing nil values

Top Quote