Giter Club home page Giter Club logo

wyrmgus's People

Contributors

akien-mga avatar amdmi3 avatar andrettin avatar bergentroll avatar beworld2018 avatar francot514 avatar mailaender avatar marcelofg55 avatar oejk avatar susnux avatar szunti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wyrmgus's Issues

Compilation issue

Ubuntu 15.04 x86_64, the latest rev. of Wyrmgus (ff6f774), there is a compilation problem than can be fixed by modifying /src/map/map.cpp:1342 to

fprintf(stderr, "Couldn't save map setup : '%s' \n", sms_filename.c_str());

Don't want to create a pull request for this.

Screenshot crash

When attempting to take a screenshot during play or in the main menu, the game immediately crashes without saving the image. I'm on 64-bit Linux Mint and the print screen command on my laptop is fn+insert. This only happens when playing in fullscreen; it does not happen in windowed mode. I can take screenshots in other fullscreen games with no issues.

*** Error in `./stratagus': double free or corruption (!prev): 0x0000000014857020 ***
Aborted

I tested out some other keys to see if they would cause a crash. The volume LEDs and the brightness commands (fn+f9 and fn+f10) do not work but don't cause a crash. The SysRq key combination (fn+delete) causes a crash with similar output to the screenshot.

*** Error in `./stratagus': double free or corruption (!prev): 0x00000000147cc360 ***
Aborted

Return to desktop from fullscreen mode

On Linux at all, when the game is in fullscreen mode, it is not possible to go back to the desktop using Alt+Tab or one of the Ctrl+F# keys which let browse between the multiple desktops.

It would be nice to have this feature added.

A possible workaround would be to have an easy way to toggle the fullscreen mode (like Alt+Return), but this is not the case currently. The fullscreen radio button is even not accessible from the in-game settings, so you need to go back to the main menu to toggle fullscreen.

Add support for stretch mode in fullscreen

Currently playing Wyrmsun on a 1920x1080 monitor, if tend to find the GUI and game mode quite small, especially reading text can quickly be bothersome.

I'd like to be able to play fullscreen with a lower resolution than my monitor's, with the game stretched (maybe preserving aspect ratio), so that everything appears bigger. For example I could play in 1600x900, it would be much more comfortable.

X error when quitting wyrmgus...

wyrmgus started fine, I then changed the resolution of the display and (for safe measures) closed wyrmgus intending to restart it with the new resolution... the X error (GLXBadContext) showed up after I quit but before I got dumped back to the prompt... I'm guessing it is technically a crash bug but since it happened on exit it's not really an issue unless it points to something bigger... I hope not!

Here's the output (if you need me to run any debug mode or anything I'm happy to, just get back to me :)

$ wyrmgus
Can't open file 'preferences.lua': No such file or directory
Stratagus v2.3.0, Copyright (c) 1998-2015 by The Stratagus Project
written by Lutz Sammer, Fabrice Rossi, Vladi Shabanski, Patrice Fortier,
Jon Gabrielson, Andreas Arens, Nehal Mistry, Jimmy Salmon, Pali Rohar,
cybermind, Andrettin and others.
https://launchpad.net/stratagus
Compile options ZLIB VORBIS THEORA FLUIDSYNTH MIKMOD OPENGL LINUX X11

Stratagus may be copied only under the terms of the GNU General Public License
which may be found in the Stratagus source kit.

DISCLAIMER:
This software is provided as-is. The author(s) can not be held liable for any
damage that might arise from the use of this software.
Use it at your own risk.

fluidsynth: error: Get end of file position failed
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/home/willow/.stratagus/wyr/"
fluidsynth: error: Unable to open file ""
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont ""
Failed to load the SoundFont:
Thanks for playing Stratagus.
X Error of failed request: GLXBadContext
Major opcode of failed request: 157 (GLX)
Minor opcode of failed request: 4 (X_GLXDestroyContext)
Serial number of failed request: 4385
Current serial number in output stream: 4387
$

Crash in GSM with random map

I tried to launch new GSM game with my hero but it crashed:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6a94b8a in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0x00007ffff6a94b8a in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00000000006cd971 in CProvince::SetCivilization (this=0x182b0290, 
    civilization=4)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/grand_strategy.cpp:1815
#2  0x00000000006cc7ad in CProvince::SetOwner (this=0x182b0290, 
    civilization_id=4, faction_id=12)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/grand_strategy.cpp:1694
#3  0x00000000006de2fc in SetProvinceOwner (province_name="Don", 
    civilization_name="celt", faction_name="Vana Tribe")
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/grand_strategy.cpp:4162
#4  0x000000000084ab01 in tolua_stratagus_SetProvinceOwner00 (
    tolua_S=0x1d21f60) at /home/kroartem/SVN/Wyrmgus/tolua.cpp:3295
#5  0x00007ffff7bb6220 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#6  0x00007ffff7bc0d8a in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#7  0x00007ffff7bb667d in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#8  0x00007ffff7bb595e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#9  0x00007ffff7bb67eb in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#10 0x00007ffff7bb245c in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#11 0x00000000006f552d in LuaCallback::run (this=0x915e348, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
---Type <return> to continue, or q <return> to quit---

Without heroes GSM starts correctly.
rev 1983f50

Linux Mikmod Issue

The following issue was reporting on the Steam forums when running the game on Linux:

./wyrmsun64: error while loading shared libraries: libmikmod.so.2: cannot open shared object file: No such file or directory

Change upgrade icon logic code

There is some defect in code that shows icons for upgraded units, that can lead to crash. Make your hero to level up. An icon will appear. Now let him die. An icon remains. Now after some time the game will crash with the following stacktrace (it's not full, though):

Program received signal SIGSEGV, Segmentation fault.
0x00000000007eeac0 in CUnit::GetIcon (this=0xb82e240)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:3784
3784        } else if (Type->VarInfo[Variation] && Type->VarInfo[Variation]->Icon.Icon) {
(gdb) bt
#0  0x00000000007eeac0 in CUnit::GetIcon (this=0xb82e240)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:3784
#1  0x000000000071330d in UpdateDisplay ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:268
#2  0x000000000071424e in DisplayLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:564
#3  0x000000000071426a in SingleGameLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:583
#4  0x000000000071450f in GameMainLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:637
#5  0x0000000000627bd7 in StartMap (filename="maps/nidavellir/aurvang.smp", 
    clean=true) at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:179
#6  0x00000000008536dc in tolua_stratagus_StartMap00 (tolua_S=0x2925780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:1067

I was trying to debug it and it seemed like Type was null at this point. And hero's icon was changed to usual miner icon. (though when I was pressing it, it was referring to the place where my hero died).

Tiling bug

Check out the trees near the middle of the screen, just west of my Krieger and Speerkampfer units.

screenshot from 2016-03-13 23 52 59

libpng16 migration

Debian is undergoing libpng16 migration.

Please

  1. replace libpng12-dev with libpng-dev
  2. ensure that stratagus still build.

I might tackle this myself when libpng16 hits unstable;
so this is merely a reminder that doesn't require urgent reaction.

Crash with new Speerkampfer

When I tried to create a speerkampfer, a segfault occured.

Program received signal SIGSEGV, Segmentation fault.
0x000000000075f3b4 in CIcon::DrawUnitIcon (this=0x0, style=..., flags=32, 
    pos=..., text="", player=0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/icons.cpp:187
187     s.Default.Sprite = s.Hover.Sprite = s.Clicked.Sprite = this->G;
(gdb) bt
#0  0x000000000075f3b4 in CIcon::DrawUnitIcon (this=0x0, style=..., flags=32, 
    pos=..., text="", player=0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/icons.cpp:187
#1  0x0000000000766dba in DrawUnitInfo_Training (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/ui/mainscr.cpp:481
#2  0x000000000076729d in DrawUnitInfo_single_selection (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/ui/mainscr.cpp:554
#3  0x0000000000767fbe in DrawUnitInfo (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/ui/mainscr.cpp:735
#4  0x000000000076a2fd in InfoPanel_draw_single_selection (selUnit=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/mainscr.cpp:1507
#5  0x000000000076aa9d in CInfoPanel::Draw (this=0x1d7a748 <UI+712>)
    at /home/kroartem/SVN/Wyrmgus/src/ui/mainscr.cpp:1571
#6  0x00000000006f3bb6 in UpdateDisplay ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:226
#7  0x00000000006f4f8f in DisplayLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:564
#8  0x00000000006f4fa1 in SingleGameLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:583
#9  0x00000000006f524e in GameMainLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:637
#10 0x000000000060c3be in StartMap (filename="maps/earth/prague.smp", 
    clean=true) at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:179
---Type <return> to continue, or q <return> to quit---
#11 0x000000000083540b in tolua_stratagus_StartMap00 (tolua_S=0x1d90f60)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:1067
#12 0x00007ffff7bb6220 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#13 0x00007ffff7bc0d8a in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#14 0x00007ffff7bb667d in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#15 0x00007ffff7bb595e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#16 0x00007ffff7bb67eb in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#17 0x00007ffff7bb245c in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#18 0x00000000006efc71 in LuaCallback::run (this=0x93f5328, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#19 0x00000000007896d4 in LuaActionListener::action (this=0x93f5320, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:495
#20 0x0000000000628d1d in gcn::Widget::generateAction (this=0x93f5180)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#21 0x000000000062c059 in gcn::Button::mouseClick (this=0x93f5180, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#22 0x0000000000628766 in gcn::Widget::_mouseInputMessage (this=0x93f5180, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#23 0x000000000062dc29 in gcn::Container::_mouseInputMessage (this=0x9397d60, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#24 0x0000000000620721 in gcn::Gui::logic (this=0x8f696d0)
---Type <return> to continue, or q <return> to quit---

First time player problem?

I ran wyrmgus for the first time and got this message:

$ wyrmgus
Can't open file 'preferences.lua': No such file or directory
/usr/games/wyrmgus: line 5: 21946 Segmentation fault /usr/lib/games/wyrmgus/wyrmgus -d /usr/share/games/wyrmsun/ "$@"

I'm running Xubuntu 64-bit (14.04) and wyrmgus (1.5.2.-1~getdeb1 from Playdeb) reports:

$ wyrmgus -h
Wyrmsun v2.3.0, Copyright (c) 1998-2015 by The Stratagus Project
written by Lutz Sammer, Fabrice Rossi, Vladi Shabanski, Patrice Fortier,
Jon Gabrielson, Andreas Arens, Nehal Mistry, Jimmy Salmon, Pali Rohar,
cybermind and others.
[snip]

Seems like a file is missing but if you've run it before it's not a problem?

Can't open file 'maps/earth/*.smp': No such file or directory

I start the game with ./stratagus -d /dir/to/wyrmsun/git/repository

It definitely works, but every time I start a quest I see on the console the title message.
But a map loads and the mission is what I expect it to be, so I guess it could find the map after all.

Memory leaks reported by AddressSanitizer

It's just after an immediate exit with the menu. Pretty scary.

=================================================================
==28346==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4893552 byte(s) in 153 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6f444f in NewUnitTypeSlot(std::string const&) Wyrmgus/src/unit/unittype.cpp:1138
    #2 0x6ace6a in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:437
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 107360 byte(s) in 110 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b673f in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1444
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 23424 byte(s) in 183 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6289ad in AddButton(int, int, std::string const&, ButtonCmd, std::string const&, bool (*)(CUnit const&, ButtonAction const&), std::string const&, int, std::string const&, std::string const&, std::string const&, std::string const&, std::string const&, std::string const&, bool) Wyrmgus/src/ui/botpanel.cpp:111
    #2 0x66892f in CclDefineButton Wyrmgus/src/ui/script_ui.cpp:1087
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 9760 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b3ab7 in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1265
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 3360 byte(s) in 15 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5888ba in NewMissileTypeSlot(std::string const&) Wyrmgus/src/missile/missile.cpp:143
    #2 0x5948bd in CclDefineMissileType Wyrmgus/src/missile/script_missile.cpp:231
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 2048 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50efd5a in __interceptor_realloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:59
    #1 0x7f20a4072355 in fluid_rvoice_mixer_set_polyphony (/usr/lib/libfluidsynth.so.1+0x36355)

Direct leak of 2048 byte(s) in 64 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5c53aa in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:513
    #2 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #3 0x5c38cd in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:125
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 1696 byte(s) in 53 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5c53aa in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:513
    #2 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #3 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 1400 byte(s) in 35 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x706bb5 in CclDefineCursor Wyrmgus/src/video/cursor.cpp:482
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 992 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x4a1d1f in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:681
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 960 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d0023 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:301
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 648 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66d0e1 in CclDefineButtonStyle Wyrmgus/src/ui/script_ui.cpp:806
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 384 byte(s) in 8 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b8e3d in CclDefineDecorations Wyrmgus/src/unit/script_unittype.cpp:2164
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 336 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66ab71 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:546
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 288 byte(s) in 9 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x4e356c in CclDefineAi Wyrmgus/src/ai/script_ai.cpp:376
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 256 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66c2c4 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:601
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 256 byte(s) in 8 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5c4891 in RegisterTwoGroups(CSound*, CSound*) Wyrmgus/src/sound/sound.cpp:556
    #2 0x5c8ba4 in MakeSoundGroup(std::string const&, CSound*, CSound*) Wyrmgus/src/sound/sound_id.cpp:149
    #3 0x5c3164 in CclMakeSoundGroup Wyrmgus/src/sound/script_sound.cpp:168
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 224 byte(s) in 7 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7607a5 in tolua_stratagus_CUIButton_new00 Wyrmgus/build/tolua.cpp:7300
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 152 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50efd5a in __interceptor_realloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:59
    #1 0x7f20a3218e40  (/usr/lib/libX11.so.6+0x54e40)

Direct leak of 112 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b8fb1 in CclDefineDecorations Wyrmgus/src/unit/script_unittype.cpp:2172
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 80 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5e9b87 in CclDefineConstruction Wyrmgus/src/stratagus/construct.cpp:191
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 48 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x592ae3 in CclDefineBurningBuilding Wyrmgus/src/missile/script_missile.cpp:353
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Direct leak of 20 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a20e9069 in __strdup (/usr/lib/libc.so.6+0x80069)
    #2 0x7f20a50f0072 in __interceptor_aligned_alloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:69

Direct leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a3222b08 in _XlcDefaultMapModifiers (/usr/lib/libX11.so.6+0x5eb08)

Indirect leak of 39322752 byte(s) in 315 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5cd7ba in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:365
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5590 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:521
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 8924550 byte(s) in 64 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5cd7ba in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:365
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5624 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:529
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c38cd in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:125
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2056520 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5cd7ba in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:365
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5624 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:529
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 272304 byte(s) in 279 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b3b5b in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1272
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 146284 byte(s) in 2927 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051

Indirect leak of 120120 byte(s) in 154 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6f45de in NewUnitTypeSlot(std::string const&) Wyrmgus/src/unit/unittype.cpp:1148
    #2 0x6ace6a in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:437
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 97600 byte(s) in 100 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b3ab7 in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1265
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 38808 byte(s) in 154 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6bc928 in __gnu_cxx::new_allocator<CUnitType::BoolFlags>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x6bc928 in std::allocator_traits<std::allocator<CUnitType::BoolFlags> >::allocate(std::allocator<CUnitType::BoolFlags>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x6bc928 in std::_Vector_base<CUnitType::BoolFlags, std::allocator<CUnitType::BoolFlags> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x6bc928 in std::vector<CUnitType::BoolFlags, std::allocator<CUnitType::BoolFlags> >::_M_default_append(unsigned long) /usr/include/c++/5.1.0/bits/vector.tcc:557
    #5 0x6f4595 in std::vector<CUnitType::BoolFlags, std::allocator<CUnitType::BoolFlags> >::resize(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:676
    #6 0x6f4595 in NewUnitTypeSlot(std::string const&) Wyrmgus/src/unit/unittype.cpp:1146
    #7 0x6ace6a in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:437
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 34728 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a47710da in SDL_CreateRGBSurface (/usr/lib/libSDL-1.2.so.0+0x2c0da)

Indirect leak of 31984 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6f444f in NewUnitTypeSlot(std::string const&) Wyrmgus/src/unit/unittype.cpp:1138
    #2 0x6ace6a in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:437
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 24800 byte(s) in 50 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x4a1d1f in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:681
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 17640 byte(s) in 315 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cd3a7 in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:323
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5590 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:521
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 9360 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce158 in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:148
    #2 0x5d25d3 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:385
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 9360 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce158 in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:148
    #2 0x5cfc89 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:280
    #3 0x5d27e4 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:392
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 9360 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce158 in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:148
    #2 0x5cfc89 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:280
    #3 0x5d2a07 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:399
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 5856 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b673f in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1444
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 5720 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5d3b6d in Spell_AdjustVariable::Parse(lua_State*, int, int) Wyrmgus/src/spell/spell_adjustvariable.cpp:48
    #2 0x5d23d1 in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:104
    #3 0x5d23d1 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 5254 byte(s) in 120 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x70afd41d1ef4cfff  (<unknown module>)

Indirect leak of 4721 byte(s) in 105 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x61600000fd37  (<unknown module>)

Indirect leak of 3584 byte(s) in 64 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cd3a7 in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:323
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5624 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:529
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c38cd in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:125
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2912 byte(s) in 52 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66b0da in CclParseContent Wyrmgus/src/ui/script_ui.cpp:505
    #2 0x66b0da in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2520 byte(s) in 55 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5c54d0 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:517
    #2 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #3 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2176 byte(s) in 16 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x71ab25 in CGraphic::New(std::string const&, int, int) Wyrmgus/src/video/graphic.cpp:597
    #2 0x5943b7 in MissileType::Load(lua_State*) Wyrmgus/src/missile/script_missile.cpp:207
    #3 0x5949a0 in CclDefineMissileType Wyrmgus/src/missile/script_missile.cpp:233
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2015 byte(s) in 31 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x66a852 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:475
    #2 0x66ba5e in CclParseContent Wyrmgus/src/ui/script_ui.cpp:522
    #3 0x66ba5e in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 2006 byte(s) in 22 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0xfffffffe  (<unknown module>)

Indirect leak of 1680 byte(s) in 42 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #3 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #4 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1632 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x71ab25 in CGraphic::New(std::string const&, int, int) Wyrmgus/src/video/graphic.cpp:597
    #2 0x706d8d in CclDefineCursor Wyrmgus/src/video/cursor.cpp:487
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1536 byte(s) in 64 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6af949 in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:741
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1520 byte(s) in 38 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6aaeb7 in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:301
    #2 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1520 byte(s) in 19 object(s) allocated from:
    #0 0x7f20a50efb79 in __interceptor_calloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:54
    #1 0x7f20a3218e0e  (/usr/lib/libX11.so.6+0x54e0e)

Indirect leak of 1386 byte(s) in 22 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x66a532 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:465
    #2 0x66ba5e in CclParseContent Wyrmgus/src/ui/script_ui.cpp:522
    #3 0x66ba5e in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1296 byte(s) in 54 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x669fb7 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:448
    #2 0x66ba5e in CclParseContent Wyrmgus/src/ui/script_ui.cpp:522
    #3 0x66ba5e in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 1116 byte(s) in 38 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x61600000fc7f  (<unknown module>)

Indirect leak of 1000 byte(s) in 25 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 968 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a4770f9b in SDL_CreateRGBSurface (/usr/lib/libSDL-1.2.so.0+0x2bf9b)

Indirect leak of 960 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65ef56 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:599
    #2 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 880 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65ef85 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:601
    #2 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 832 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66f4b3 in __gnu_cxx::new_allocator<CContentType*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x66f4b3 in std::allocator_traits<std::allocator<CContentType*> >::allocate(std::allocator<CContentType*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x66f4b3 in std::_Vector_base<CContentType*, std::allocator<CContentType*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x66f4b3 in void std::vector<CContentType*, std::allocator<CContentType*> >::_M_emplace_back_aux<CContentType*>(CContentType*&&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x66bbc6 in void std::vector<CContentType*, std::allocator<CContentType*> >::emplace_back<CContentType*>(CContentType*&&) /usr/include/c++/5.1.0/bits/vector.tcc:101
    #6 0x66bbc6 in std::vector<CContentType*, std::allocator<CContentType*> >::push_back(CContentType*&&) /usr/include/c++/5.1.0/bits/stl_vector.h:932
    #7 0x66bbc6 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 832 byte(s) in 13 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6b15bc in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:982
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 779 byte(s) in 18 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x63  (<unknown module>)

Indirect leak of 736 byte(s) in 23 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65f337 in ParsePopupConditions Wyrmgus/src/ui/popup.cpp:469
    #2 0x65f337 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:608
    #3 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 704 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a476f8da  (/usr/lib/libSDL-1.2.so.0+0x2a8da)

Indirect leak of 672 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5888ba in NewMissileTypeSlot(std::string const&) Wyrmgus/src/missile/missile.cpp:143
    #2 0x5948bd in CclDefineMissileType Wyrmgus/src/missile/script_missile.cpp:231
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 672 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cd3a7 in LoadWav(char const*, int) Wyrmgus/src/sound/wav.cpp:323
    #2 0x5c9a10 in LoadSample Wyrmgus/src/sound/sound_server.cpp:532
    #3 0x5ca15f in LoadSample(std::string const&) Wyrmgus/src/sound/sound_server.cpp:571
    #4 0x5c5624 in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:529
    #5 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #6 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 640 byte(s) in 8 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65e888 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:593
    #2 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 528 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a476ea67  (/usr/lib/libSDL-1.2.so.0+0x29a67)

Indirect leak of 448 byte(s) in 14 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5c53aa in RegisterSound(std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound.cpp:513
    #2 0x5c8adf in MakeSound(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) Wyrmgus/src/sound/sound_id.cpp:120
    #3 0x5c3a22 in CclMakeSound Wyrmgus/src/sound/script_sound.cpp:133
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 440 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65eae4 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:595
    #2 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 408 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x71ab25 in CGraphic::New(std::string const&, int, int) Wyrmgus/src/video/graphic.cpp:597
    #2 0x665c6c in ParseButtonStyleProperties Wyrmgus/src/ui/script_ui.cpp:788
    #3 0x66dd37 in CclDefineButtonStyle Wyrmgus/src/ui/script_ui.cpp:837
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 408 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x71ab25 in CGraphic::New(std::string const&, int, int) Wyrmgus/src/video/graphic.cpp:597
    #2 0x665c6c in ParseButtonStyleProperties Wyrmgus/src/ui/script_ui.cpp:788
    #3 0x66ddb6 in CclDefineButtonStyle Wyrmgus/src/ui/script_ui.cpp:841
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 400 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x635e8a in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:442
    #3 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #4 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 400 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #3 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #4 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 400 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #3 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #4 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 390 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x660295 in ParsePopupConditions Wyrmgus/src/ui/popup.cpp:547
    #2 0x660295 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:608
    #3 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 384 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66f68f in __gnu_cxx::new_allocator<CPopupContentType*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x66f68f in std::allocator_traits<std::allocator<CPopupContentType*> >::allocate(std::allocator<CPopupContentType*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x66f68f in std::_Vector_base<CPopupContentType*, std::allocator<CPopupContentType*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x66f68f in void std::vector<CPopupContentType*, std::allocator<CPopupContentType*> >::_M_emplace_back_aux<CPopupContentType*>(CPopupContentType*&&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x66c772 in void std::vector<CPopupContentType*, std::allocator<CPopupContentType*> >::emplace_back<CPopupContentType*>(CPopupContentType*&&) /usr/include/c++/5.1.0/bits/vector.tcc:101
    #6 0x66c772 in std::vector<CPopupContentType*, std::allocator<CPopupContentType*> >::push_back(CPopupContentType*&&) /usr/include/c++/5.1.0/bits/stl_vector.h:932
    #7 0x66c772 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 360 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x8241b7  (Wyrmgus/build/stratagus+0x8241b7)

Indirect leak of 352 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e193 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:578
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 352 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e02b in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:574
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 325 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x66a852 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:475
    #2 0x66ae6a in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:558
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 320 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 320 byte(s) in 8 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6bc399 in __gnu_cxx::new_allocator<CBuildRestriction*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x6bc399 in std::allocator_traits<std::allocator<CBuildRestriction*> >::allocate(std::allocator<CBuildRestriction*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x6bc399 in std::_Vector_base<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x6bc399 in void std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_emplace_back_aux<CBuildRestriction* const&>(CBuildRestriction* const&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x6bc54e in std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::push_back(CBuildRestriction* const&) /usr/include/c++/5.1.0/bits/stl_vector.h:923
    #6 0x6ab3eb in CBuildRestrictionAnd::push_back(CBuildRestriction*) Wyrmgus/src/include/unittype.h:466
    #7 0x6ab3eb in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:336
    #8 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 320 byte(s) in 8 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #3 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #4 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #5 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 288 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5ea677 in CclDefineConstruction Wyrmgus/src/stratagus/construct.cpp:274
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 288 byte(s) in 9 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6aac88 in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:288
    #2 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 259 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x7fff0a45973f  (<unknown module>)
    #4 0x827ec7  (Wyrmgus/build/stratagus+0x827ec7)

Indirect leak of 252 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce0eb in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:145
    #2 0x5cfc89 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:280
    #3 0x5d27e4 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:392
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 252 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x66a532 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:465
    #2 0x66ae6a in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:558
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 252 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce0eb in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:145
    #2 0x5cfc89 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:280
    #3 0x5d2a07 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:399
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 252 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x5ce0eb in CclSpellCondition Wyrmgus/src/spell/script_spell.cpp:145
    #2 0x5d25d3 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:385
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 240 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d2843 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:396
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 240 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x65ed31 in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:597
    #2 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 240 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5e9b87 in CclDefineConstruction Wyrmgus/src/stratagus/construct.cpp:191
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 240 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d1dc4 in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:94
    #2 0x5d1dc4 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #3 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #4 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x6043a5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:767
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #5 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #8 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #9 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #10 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #11 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #12 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #13 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x6043ee in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:770
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #5 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #8 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #9 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #10 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #11 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #12 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #13 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x60508e in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:855
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x604b9b in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:818
    #2 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #3 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #4 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x6043a5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:767
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #5 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 200 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x6043ee in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:770
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #5 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 192 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d262c in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:389
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 192 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 192 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66b803 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:515
    #2 0x66b803 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 190 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0xfffe148b2e5  (<unknown module>)

Indirect leak of 176 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a476f8f9  (/usr/lib/libSDL-1.2.so.0+0x2a8f9)

Indirect leak of 160 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #4 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x60436e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:765
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #5 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #4 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #5 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #7 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #8 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #9 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #10 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #11 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #12 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x60436e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:765
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #5 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #8 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #9 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #10 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #11 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #12 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #13 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #7 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #8 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #9 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #10 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #11 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #12 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66b6c3 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:513
    #2 0x66b6c3 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 160 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x6053d5 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:880
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e193 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:578
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a2451 in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:721
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x60539c in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:878
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cfb66 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:277
    #2 0x5d27e4 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:392
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x605423 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:883
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5cfb66 in CclSpellAutocast Wyrmgus/src/spell/script_spell.cpp:277
    #2 0x5d2a07 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:399
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d24a8 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:382
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 128 byte(s) in 16 object(s) allocated from:
    #0 0x7f20a50ef9da in __interceptor_malloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:38
    #1 0x7f20a3219895  (/usr/lib/libX11.so.6+0x55895)

Indirect leak of 128 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66b42a in CclParseContent Wyrmgus/src/ui/script_ui.cpp:509
    #2 0x66b42a in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 121 byte(s) in 16 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 120 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x669fb7 in ParseConditionPanel Wyrmgus/src/ui/script_ui.cpp:448
    #2 0x66ae6a in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:558
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 109 byte(s) in 10 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x635e8a in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:442
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 97 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x7fff0a45935f  (<unknown module>)

Indirect leak of 96 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49f06a in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:611
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 83 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051
    #3 0x61500003d97f  (<unknown module>)

Indirect leak of 80 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x604b9b in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:818
    #2 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #3 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #4 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 80 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x60436e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:765
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #9 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #10 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #11 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #12 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #13 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #14 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 80 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50efd5a in __interceptor_realloc /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_malloc_linux.cc:59
    #1 0x7f20a32197d8  (/usr/lib/libX11.so.6+0x557d8)

Indirect leak of 80 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x60436e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:765
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #6 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #9 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #10 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 72 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49eef7 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:608
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 72 byte(s) in 6 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d31b7 in void std::vector<SpellActionType*, std::allocator<SpellActionType*> >::_M_emplace_back_aux<SpellActionType*>(SpellActionType*&&) (Wyrmgus/build/stratagus+0x5d31b7)
    #2 0x5d244f in void std::vector<SpellActionType*, std::allocator<SpellActionType*> >::emplace_back<SpellActionType*>(SpellActionType*&&) /usr/include/c++/5.1.0/bits/vector.tcc:101
    #3 0x5d244f in std::vector<SpellActionType*, std::allocator<SpellActionType*> >::push_back(SpellActionType*&&) /usr/include/c++/5.1.0/bits/stl_vector.h:932
    #4 0x5d244f in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 72 byte(s) in 9 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6bd293 in __gnu_cxx::new_allocator<CBuildRestriction*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x6bd293 in std::allocator_traits<std::allocator<CBuildRestriction*> >::allocate(std::allocator<CBuildRestriction*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x6bd293 in std::_Vector_base<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x6bd293 in void std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_emplace_back_aux<CBuildRestriction*>(CBuildRestriction*&&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x6aba3f in void std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::emplace_back<CBuildRestriction*>(CBuildRestriction*&&) /usr/include/c++/5.1.0/bits/vector.tcc:101
    #6 0x6aba3f in std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::push_back(CBuildRestriction*&&) /usr/include/c++/5.1.0/bits/stl_vector.h:932
    #7 0x6aba3f in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:374
    #8 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 71 byte(s) in 7 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #4 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #5 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e02b in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:574
    #2 0x49fa4d in ParseAnimation Wyrmgus/src/animation/animation.cpp:641
    #3 0x4a2451 in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:721
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e02b in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:574
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a2451 in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:721
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d1af7 in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:88
    #2 0x5d1af7 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 3 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x604b9b in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:818
    #2 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #3 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #4 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #5 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #4 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #5 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #6 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 64 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x593bd7 in MissileType::Load(lua_State*) Wyrmgus/src/missile/script_missile.cpp:161
    #2 0x5949a0 in CclDefineMissileType Wyrmgus/src/missile/script_missile.cpp:233
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e849 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:592
    #2 0x49fa7e in ParseAnimation Wyrmgus/src/animation/animation.cpp:645
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e849 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:592
    #2 0x49fa4d in ParseAnimation Wyrmgus/src/animation/animation.cpp:641
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 48 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d159c in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:78
    #2 0x5d159c in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 45 byte(s) in 12 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 44 byte(s) in 11 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x714ba8 in CGraphic::GenFramesMap() Wyrmgus/src/video/graphic.cpp:743
    #2 0x71608e in CGraphic::Load(bool) Wyrmgus/src/video/graphic.cpp:847
    #3 0x703a0a in LoadCursors(std::string const&) Wyrmgus/src/video/cursor.cpp:108
    #4 0x61d652 in PreMenuSetup() Wyrmgus/src/stratagus/stratagus.cpp:271
    #5 0x61e872 in stratagusMain(int, char**) Wyrmgus/src/stratagus/stratagus.cpp:782
    #6 0x5f0603 in main Wyrmgus/src/stratagus/main.cpp:37
    #7 0x7f20a208978f in __libc_start_main (/usr/lib/libc.so.6+0x2078f)

Indirect leak of 43 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x7f20a29f4248 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:104
    #2 0x7f20a29f4248 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1051

Indirect leak of 42 byte(s) in 7 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6b5cea in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1411
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x6043a5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:767
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #6 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #9 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #10 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d21aa in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:98
    #2 0x5d21aa in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x6043a5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:767
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #9 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #10 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #11 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #12 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #13 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #14 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #3 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x604847 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:793
    #2 0x60508e in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:855
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5d1629 in CclSpellAction Wyrmgus/src/spell/script_spell.cpp:80
    #2 0x5d1629 in CclDefineSpell Wyrmgus/src/spell/script_spell.cpp:377
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x66b5fe in CclParseContent Wyrmgus/src/ui/script_ui.cpp:511
    #2 0x66b5fe in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #4 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #4 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #4 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #3 0x60508e in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:855
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #9 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #10 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #9 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #10 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #7 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #8 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #9 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #10 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #9 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #10 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #7 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #8 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #7 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #8 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x604daa in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:832
    #3 0x6053d5 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:880
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x602909 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:602
    #2 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #3 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #4 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #5 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #6 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #7 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #8 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x604e0d in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:836
    #3 0x6053d5 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:880
    #4 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #5 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #6 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6ab6a6 in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:354
    #2 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #3 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49e02b in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:574
    #2 0x49fa4d in ParseAnimation Wyrmgus/src/animation/animation.cpp:641
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 32 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x594a93 in __gnu_cxx::new_allocator<MissileConfig*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x594a93 in std::allocator_traits<std::allocator<MissileConfig*> >::allocate(std::allocator<MissileConfig*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x594a93 in std::_Vector_base<MissileConfig*, std::allocator<MissileConfig*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x594a93 in void std::vector<MissileConfig*, std::allocator<MissileConfig*> >::_M_emplace_back_aux<MissileConfig* const&>(MissileConfig* const&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x593cd4 in std::vector<MissileConfig*, std::allocator<MissileConfig*> >::push_back(MissileConfig* const&) /usr/include/c++/5.1.0/bits/stl_vector.h:923
    #6 0x593cd4 in MissileType::Load(lua_State*) Wyrmgus/src/missile/script_missile.cpp:163
    #7 0x5949a0 in CclDefineMissileType Wyrmgus/src/missile/script_missile.cpp:233
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 31 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x6043ee in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:770
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #6 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #9 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #10 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #11 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 31 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x6043ee in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:770
    #4 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #5 0x602b7e in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:624
    #6 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #7 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #8 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #9 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #10 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #11 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #12 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #13 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #14 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 27 byte(s) in 4 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x660977 in CPopupContentTypeVariable::Parse(lua_State*) Wyrmgus/src/ui/popup.cpp:441
    #5 0x65f2ac in CPopupContentType::ParsePopupContent(lua_State*) Wyrmgus/src/ui/popup.cpp:605
    #6 0x66c6f2 in CclDefinePopup Wyrmgus/src/ui/script_ui.cpp:624
    #7 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x49eef7 in ParseAnimationFrame Wyrmgus/src/animation/animation.cpp:608
    #2 0x49fa4d in ParseAnimation Wyrmgus/src/animation/animation.cpp:641
    #3 0x4a240b in CclDefineAnimations Wyrmgus/src/animation/animation.cpp:719
    #4 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #5 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #6 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #7 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #8 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #9 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #10 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #11 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #12 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #4 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #5 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #6 0x602c14 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:630
    #7 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #8 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #9 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #10 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #11 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #12 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #5 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #4 0x602b33 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:621
    #5 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047c2 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:423
    #4 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #5 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x6047f8 in ParseBinOp Wyrmgus/src/stratagus/script.cpp:425
    #4 0x602d59 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:642
    #5 0x60500a in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:850
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #4 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #5 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #6 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #7 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #8 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x602fe5 in CclParseNumberDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:665
    #3 0x604ce4 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:826
    #4 0x60508e in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:855
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 16 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5fd694 in CclParseUnitDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:494
    #2 0x604e70 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:839
    #3 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #4 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #5 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #6 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 12 byte(s) in 2 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6b22bf in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1079
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 10 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #4 0x604d47 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:829
    #5 0x605043 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:852
    #6 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #7 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #8 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #9 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #10 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f08e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x6bc399 in __gnu_cxx::new_allocator<CBuildRestriction*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x6bc399 in std::allocator_traits<std::allocator<CBuildRestriction*> >::allocate(std::allocator<CBuildRestriction*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x6bc399 in std::_Vector_base<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x6bc399 in void std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::_M_emplace_back_aux<CBuildRestriction* const&>(CBuildRestriction* const&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x6bc54e in std::vector<CBuildRestriction*, std::allocator<CBuildRestriction*> >::push_back(CBuildRestriction* const&) /usr/include/c++/5.1.0/bits/stl_vector.h:923
    #6 0x6ab8f8 in CBuildRestrictionAnd::push_back(CBuildRestriction*) Wyrmgus/src/include/unittype.h:466
    #7 0x6ab8f8 in ParseBuildingRules Wyrmgus/src/unit/script_unittype.cpp:368
    #8 0x6b0baa in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:891
    #9 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 6 byte(s) in 1 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6b2784 in CclDefineUnitType Wyrmgus/src/unit/script_unittype.cpp:1104
    #2 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Indirect leak of 5 byte(s) in 5 object(s) allocated from:
    #0 0x7f20a50f0a62 in operator new[](unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:62
    #1 0x6048ac in new_strdup(char const*) Wyrmgus/src/include/stratagus.h:137
    #2 0x6048ac in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:797
    #3 0x60508e in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:855
    #4 0x604c52 in CclParseStringDesc(lua_State*) Wyrmgus/src/stratagus/script.cpp:821
    #5 0x635f26 in CContentTypeText::Parse(lua_State*) Wyrmgus/src/ui/contenttype.cpp:448
    #6 0x66ba33 in CclParseContent Wyrmgus/src/ui/script_ui.cpp:519
    #7 0x66ba33 in CclDefinePanelContents Wyrmgus/src/ui/script_ui.cpp:563
    #8 0x7f20a4e361e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

SUMMARY: AddressSanitizer: 56241705 byte(s) leaked in 6582 allocation(s).

Reading freed data in UnitSoundIsPlaying

=================================================================
==8422==ERROR: AddressSanitizer: heap-use-after-free on address 0x6020009d68b8 at pc 0x0000005c9d21 bp 0x7ffd9382dac0 sp 0x7ffd9382dab0
READ of size 4 at 0x6020009d68b8 thread T0
    #0 0x5c9d20 in UnitSoundIsPlaying(Origin*) Wyrmgus/src/sound/sound_server.cpp:343
    #1 0x5c6625 in PlayUnitSound(CUnit const&, UnitVoiceGroup) Wyrmgus/src/sound/sound.cpp:321
    #2 0x471c97 in DoActionMove(CUnit&) Wyrmgus/src/action/action_move.cpp:200
    #3 0x472746 in COrder_Move::Execute(CUnit&) Wyrmgus/src/action/action_move.cpp:270
    #4 0x4991ec in HandleUnitAction Wyrmgus/src/action/actions.cpp:396
    #5 0x4991ec in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > Wyrmgus/src/action/actions.cpp:487
    #6 0x4991ec in UnitActions() Wyrmgus/src/action/actions.cpp:517
    #7 0x5f1674 in GameLogicLoop Wyrmgus/src/stratagus/mainloop.cpp:256
    #8 0x5f1674 in SingleGameLoop Wyrmgus/src/stratagus/mainloop.cpp:390
    #9 0x5f1674 in GameMainLoop() Wyrmgus/src/stratagus/mainloop.cpp:427
    #10 0x506b29 in StartMap(std::string const&, bool) Wyrmgus/src/game/game.cpp:164
    #11 0x79ccfc in tolua_stratagus_StartMap00 Wyrmgus/build/tolua.cpp:1063
    #12 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #13 0x7f0e5346692e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #14 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #15 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #16 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #17 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #18 0x5f04b9 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #19 0x683ac9 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #20 0x5296ff in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #21 0x52c105 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #22 0x52907e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #23 0x52ec22 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #24 0x51a033 in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #25 0x685a5d in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #26 0x72a0cf in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #27 0x6902ea in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #28 0x780515 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #29 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #30 0x7f0e5346692e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #31 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #32 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #33 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #34 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #35 0x5f04b9 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #36 0x683ac9 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #37 0x5296ff in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #38 0x52c105 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #39 0x52907e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #40 0x52ec22 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #41 0x51a033 in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #42 0x685a5d in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #43 0x72a0cf in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #44 0x6902ea in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #45 0x780515 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #46 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #47 0x7f0e5346692e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #48 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #49 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #50 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #51 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #52 0x5f04b9 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #53 0x683ac9 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #54 0x5296ff in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #55 0x52c105 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #56 0x52907e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #57 0x52ec22 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #58 0x51a033 in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #59 0x685a5d in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #60 0x72a0cf in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #61 0x6902ea in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #62 0x780515 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #63 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #64 0x7f0e53466898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #65 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #66 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #67 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #68 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #69 0x5f04b9 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #70 0x683ac9 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #71 0x5296ff in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #72 0x52c105 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #73 0x52907e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #74 0x52ec22 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #75 0x51a033 in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #76 0x685a5d in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #77 0x72a0cf in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #78 0x6902ea in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #79 0x780515 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #80 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #81 0x7f0e53466898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #82 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #83 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #84 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #85 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #86 0x5f04b9 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #87 0x683ac9 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #88 0x5296ff in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #89 0x52c105 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #90 0x52907e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #91 0x52ec22 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #92 0x51a033 in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #93 0x685a5d in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #94 0x72a0cf in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #95 0x6902ea in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #96 0x780515 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #97 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #98 0x7f0e53466898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #99 0x7f0e5345c62c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #100 0x7f0e5345b91a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #101 0x7f0e5345c7b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #102 0x7f0e5345857c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #103 0x5fc909 in LuaCall(int, int, bool) Wyrmgus/src/stratagus/script.cpp:165
    #104 0x601ef7 in LuaLoadFile(std::string const&) Wyrmgus/src/stratagus/script.cpp:222
    #105 0x61ea1e in MenuLoop Wyrmgus/src/stratagus/stratagus.cpp:302
    #106 0x61ea1e in stratagusMain(int, char**) Wyrmgus/src/stratagus/stratagus.cpp:784
    #107 0x5f0667 in main Wyrmgus/src/stratagus/main.cpp:37
    #108 0x7f0e506af78f in __libc_start_main (/usr/lib/libc.so.6+0x2078f)
    #109 0x45d408 in _start (Wyrmgus/build/stratagus+0x45d408)

0x6020009d68b8 is located 8 bytes inside of 16-byte region [0x6020009d68b0,0x6020009d68c0)
freed by thread T3 here:
    #0 0x7f0e53716eda in operator delete(void*) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:92
    #1 0x5c99a7 in ChannelFinished Wyrmgus/src/sound/sound_server.cpp:364
    #2 0x5cb4d2 in MixChannelsToStereo32 Wyrmgus/src/sound/sound_server.cpp:254
    #3 0x5cb4d2 in MixIntoBuffer Wyrmgus/src/sound/sound_server.cpp:299
    #4 0x5cb4d2 in FillAudio Wyrmgus/src/sound/sound_server.cpp:320
    #5 0x7f0e52d738c8  (/usr/lib/libSDL-1.2.so.0+0x88c8)

previously allocated by thread T0 here:
    #0 0x7f0e537168e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x5ca554 in FillChannel Wyrmgus/src/sound/sound_server.cpp:389
    #2 0x5ca554 in PlaySample(CSample*, Origin*) Wyrmgus/src/sound/sound_server.cpp:592
    #3 0x5c65db in PlayUnitSound(CUnit const&, UnitVoiceGroup) Wyrmgus/src/sound/sound.cpp:326
    #4 0x471c97 in DoActionMove(CUnit&) Wyrmgus/src/action/action_move.cpp:200
    #5 0x472746 in COrder_Move::Execute(CUnit&) Wyrmgus/src/action/action_move.cpp:270
    #6 0x4991ec in HandleUnitAction Wyrmgus/src/action/actions.cpp:396
    #7 0x4991ec in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > Wyrmgus/src/action/actions.cpp:487
    #8 0x4991ec in UnitActions() Wyrmgus/src/action/actions.cpp:517
    #9 0x5f1674 in GameLogicLoop Wyrmgus/src/stratagus/mainloop.cpp:256
    #10 0x5f1674 in SingleGameLoop Wyrmgus/src/stratagus/mainloop.cpp:390
    #11 0x5f1674 in GameMainLoop() Wyrmgus/src/stratagus/mainloop.cpp:427
    #12 0x506b29 in StartMap(std::string const&, bool) Wyrmgus/src/game/game.cpp:164
    #13 0x79ccfc in tolua_stratagus_StartMap00 Wyrmgus/build/tolua.cpp:1063
    #14 0x7f0e5345c1e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

Thread T3 created by T0 here:
    #0 0x7f0e536b36d3 in __interceptor_pthread_create /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_interceptors.cc:179
    #1 0x7f0e52dbd8f9  (/usr/lib/libSDL-1.2.so.0+0x528f9)

SUMMARY: AddressSanitizer: heap-use-after-free Wyrmgus/src/sound/sound_server.cpp:343 UnitSoundIsPlaying(Origin*)
Shadow bytes around the buggy address:
  0x0c0480132cc0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x0c0480132cd0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x0c0480132ce0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x0c0480132cf0: fa fa fd fd fa fa fd fd fa fa fd fa fa fa fd fd
  0x0c0480132d00: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa
=>0x0c0480132d10: fa fa fd fd fa fa fd[fd]fa fa fd fd fa fa fa fa
  0x0c0480132d20: fa fa fd fa fa fa fd fd fa fa fd fd fa fa fd fa
  0x0c0480132d30: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
  0x0c0480132d40: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa
  0x0c0480132d50: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa
  0x0c0480132d60: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
==8422==ABORTING

RemoveUnit crash

I think it means a unit was killed, that wasn't added to a player with AddUnit yet.

=================================================================
==2076==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x619003529178 at pc 0x0000005f5263 bp 0x7ffea3d9de40 sp 0x7ffea3d9de30
WRITE of size 8 at 0x619003529178 thread T0
    #0 0x5f5262 in CPlayer::RemoveUnit(CUnit&) Wyrmgus/src/stratagus/player.cpp:899
    #1 0x6cd603 in UnitLost(CUnit&) Wyrmgus/src/unit/unit.cpp:1450
    #2 0x6cfbfb in LetUnitDie(CUnit&, bool) Wyrmgus/src/unit/unit.cpp:2628
    #3 0x489629 in Feed Wyrmgus/src/action/action_still.cpp:269
    #4 0x489629 in COrder_Still::Execute(CUnit&) Wyrmgus/src/action/action_still.cpp:593
    #5 0x499188 in HandleUnitAction Wyrmgus/src/action/actions.cpp:396
    #6 0x499188 in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > Wyrmgus/src/action/actions.cpp:487
    #7 0x499188 in UnitActions() Wyrmgus/src/action/actions.cpp:517
    #8 0x5f1610 in GameLogicLoop Wyrmgus/src/stratagus/mainloop.cpp:256
    #9 0x5f1610 in SingleGameLoop Wyrmgus/src/stratagus/mainloop.cpp:390
    #10 0x5f1610 in GameMainLoop() Wyrmgus/src/stratagus/mainloop.cpp:427
    #11 0x506ac5 in StartMap(std::string const&, bool) Wyrmgus/src/game/game.cpp:164
    #12 0x79cc98 in tolua_stratagus_StartMap00 Wyrmgus/build/tolua.cpp:1063
    #13 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #14 0x7fbdaa5fb92e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #15 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #16 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #17 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #18 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #19 0x5f0455 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #20 0x683a65 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #21 0x52969b in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #22 0x52c0a1 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #23 0x52901a in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #24 0x52ebbe in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #25 0x519fcf in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #26 0x6859f9 in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #27 0x72a06b in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #28 0x690286 in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #29 0x7804b1 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #30 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #31 0x7fbdaa5fb92e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #32 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #33 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #34 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #35 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #36 0x5f0455 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #37 0x683a65 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #38 0x52969b in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #39 0x52c0a1 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #40 0x52901a in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #41 0x52ebbe in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #42 0x519fcf in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #43 0x6859f9 in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #44 0x72a06b in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #45 0x690286 in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #46 0x7804b1 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #47 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #48 0x7fbdaa5fb92e  (/usr/lib/liblua5.1.so.5.1+0x1692e)
    #49 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #50 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #51 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #52 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #53 0x5f0455 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #54 0x683a65 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #55 0x52969b in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #56 0x52c0a1 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #57 0x52901a in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #58 0x52ebbe in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #59 0x519fcf in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #60 0x6859f9 in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #61 0x72a06b in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #62 0x690286 in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #63 0x7804b1 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #64 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #65 0x7fbdaa5fb898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #66 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #67 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #68 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #69 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #70 0x5f0455 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #71 0x683a65 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #72 0x52969b in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #73 0x52c0a1 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #74 0x52901a in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #75 0x52ebbe in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #76 0x519fcf in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #77 0x6859f9 in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #78 0x72a06b in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #79 0x690286 in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #80 0x7804b1 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #81 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #82 0x7fbdaa5fb898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #83 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #84 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #85 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #86 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #87 0x5f0455 in LuaCallback::run(int) Wyrmgus/src/stratagus/luacallback.cpp:149
    #88 0x683a65 in LuaActionListener::action(std::string const&) Wyrmgus/src/ui/widgets.cpp:214
    #89 0x52969b in gcn::Widget::generateAction() Wyrmgus/src/guichan/widget.cpp:609
    #90 0x52c0a1 in gcn::Button::mouseClick(int, int, int, int) Wyrmgus/src/guichan/widgets/button.cpp:254
    #91 0x52901a in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widget.cpp:495
    #92 0x52ebbe in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) Wyrmgus/src/guichan/widgets/container.cpp:386
    #93 0x519fcf in gcn::Gui::logic() Wyrmgus/src/guichan/gui.cpp:155
    #94 0x6859f9 in handleInput(SDL_Event const*) Wyrmgus/src/ui/widgets.cpp:169
    #95 0x72a06b in WaitEventsOneFrame() Wyrmgus/src/video/sdl.cpp:981
    #96 0x690286 in MenuScreen::run(bool) Wyrmgus/src/ui/widgets.cpp:2897
    #97 0x7804b1 in tolua_stratagus_CMenuScreen_run00 Wyrmgus/build/tolua.cpp:20941
    #98 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)
    #99 0x7fbdaa5fb898  (/usr/lib/liblua5.1.so.5.1+0x16898)
    #100 0x7fbdaa5f162c  (/usr/lib/liblua5.1.so.5.1+0xc62c)
    #101 0x7fbdaa5f091a  (/usr/lib/liblua5.1.so.5.1+0xb91a)
    #102 0x7fbdaa5f17b9  (/usr/lib/liblua5.1.so.5.1+0xc7b9)
    #103 0x7fbdaa5ed57c in lua_pcall (/usr/lib/liblua5.1.so.5.1+0x857c)
    #104 0x5fc8a5 in LuaCall(int, int, bool) Wyrmgus/src/stratagus/script.cpp:165
    #105 0x601e93 in LuaLoadFile(std::string const&) Wyrmgus/src/stratagus/script.cpp:222
    #106 0x61e9ba in MenuLoop Wyrmgus/src/stratagus/stratagus.cpp:302
    #107 0x61e9ba in stratagusMain(int, char**) Wyrmgus/src/stratagus/stratagus.cpp:784
    #108 0x5f0603 in main Wyrmgus/src/stratagus/main.cpp:37
    #109 0x7fbda784478f in __libc_start_main (/usr/lib/libc.so.6+0x2078f)
    #110 0x45d408 in _start (Wyrmgus/build/stratagus+0x45d408)

0x619003529178 is located 8 bytes to the left of 1024-byte region [0x619003529180,0x619003529580)
allocated by thread T0 here:
    #0 0x7fbdaa8ab8e2 in operator new(unsigned long) /build/gcc-multilib/src/gcc-5-20150519/libsanitizer/asan/asan_new_delete.cc:60
    #1 0x48ab91 in __gnu_cxx::new_allocator<CUnit*>::allocate(unsigned long, void const*) /usr/include/c++/5.1.0/ext/new_allocator.h:104
    #2 0x48ab91 in std::allocator_traits<std::allocator<CUnit*> >::allocate(std::allocator<CUnit*>&, unsigned long) /usr/include/c++/5.1.0/bits/alloc_traits.h:360
    #3 0x48ab91 in std::_Vector_base<CUnit*, std::allocator<CUnit*> >::_M_allocate(unsigned long) /usr/include/c++/5.1.0/bits/stl_vector.h:170
    #4 0x48ab91 in void std::vector<CUnit*, std::allocator<CUnit*> >::_M_emplace_back_aux<CUnit*>(CUnit*&&) /usr/include/c++/5.1.0/bits/vector.tcc:412
    #5 0x48ad46 in void std::vector<CUnit*, std::allocator<CUnit*> >::emplace_back<CUnit*>(CUnit*&&) /usr/include/c++/5.1.0/bits/vector.tcc:101
    #6 0x5f87e3 in std::vector<CUnit*, std::allocator<CUnit*> >::push_back(CUnit*&&) /usr/include/c++/5.1.0/bits/stl_vector.h:932
    #7 0x5f87e3 in CPlayer::AddUnit(CUnit&) Wyrmgus/src/stratagus/player.cpp:886
    #8 0x6c2ec8 in CUnit::AssignToPlayer(CPlayer&) Wyrmgus/src/unit/unit.cpp:789
    #9 0x6cb03d in MakeUnit(CUnitType const&, CPlayer*) Wyrmgus/src/unit/unit.cpp:848
    #10 0x48f2d2 in COrder_Train::Execute(CUnit&) Wyrmgus/src/action/action_train.cpp:313
    #11 0x499188 in HandleUnitAction Wyrmgus/src/action/actions.cpp:396
    #12 0x499188 in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > Wyrmgus/src/action/actions.cpp:487
    #13 0x499188 in UnitActions() Wyrmgus/src/action/actions.cpp:517
    #14 0x5f1610 in GameLogicLoop Wyrmgus/src/stratagus/mainloop.cpp:256
    #15 0x5f1610 in SingleGameLoop Wyrmgus/src/stratagus/mainloop.cpp:390
    #16 0x5f1610 in GameMainLoop() Wyrmgus/src/stratagus/mainloop.cpp:427
    #17 0x506ac5 in StartMap(std::string const&, bool) Wyrmgus/src/game/game.cpp:164
    #18 0x79cc98 in tolua_stratagus_StartMap00 Wyrmgus/build/tolua.cpp:1063
    #19 0x7fbdaa5f11e7  (/usr/lib/liblua5.1.so.5.1+0xc1e7)

SUMMARY: AddressSanitizer: heap-buffer-overflow Wyrmgus/src/stratagus/player.cpp:899 CPlayer::RemoveUnit(CUnit&)
Shadow bytes around the buggy address:
  0x0c328069d1d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c328069d1e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c328069d1f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c328069d200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c328069d210: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c328069d220: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa[fa]
  0x0c328069d230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c328069d240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c328069d250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c328069d260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c328069d270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
==2076==ABORTING

Unit types don't properly inherit variations

For some reason the variation code is not being inherited from "parent" unit types to their "children". This is the relevant code (in script_unittype.cpp):

            for (unsigned int var_n = 0; var_n < VariationMax; ++var_n) {
                if (parent_type->VarInfo[var_n]) {
                    VariationInfo *var = new VariationInfo;

                    type->VarInfo[var_n] = var;

                    var->VariationId = parent_type->VarInfo[var_n]->VariationId;
                    var->TypeName = parent_type->VarInfo[var_n]->TypeName;
                    var->File = parent_type->VarInfo[var_n]->File;
                    for (unsigned int i = 0; i < MaxCosts; ++i) {
                        var->FileWhenLoaded[i] = parent_type->VarInfo[var_n]->FileWhenLoaded[i];
                        var->FileWhenEmpty[i] = parent_type->VarInfo[var_n]->FileWhenEmpty[i];
                    }
                    var->ShadowFile = parent_type->VarInfo[var_n]->ShadowFile;
                    var->LeftArmFile = parent_type->VarInfo[var_n]->LeftArmFile;
                    var->RightArmFile = parent_type->VarInfo[var_n]->RightArmFile;
                    var->HairFile = parent_type->VarInfo[var_n]->HairFile;
                    var->ClothingFile = parent_type->VarInfo[var_n]->ClothingFile;
                    var->ClothingLeftArmFile = parent_type->VarInfo[var_n]->ClothingLeftArmFile;
                    var->ClothingRightArmFile = parent_type->VarInfo[var_n]->ClothingRightArmFile;
                    var->PantsFile = parent_type->VarInfo[var_n]->PantsFile;
                    var->ShoesFile = parent_type->VarInfo[var_n]->ShoesFile;
                    var->WeaponFile = parent_type->VarInfo[var_n]->WeaponFile;
                    var->ShieldFile = parent_type->VarInfo[var_n]->ShieldFile;
                    var->HelmetFile = parent_type->VarInfo[var_n]->HelmetFile;
                    var->FrameWidth = parent_type->VarInfo[var_n]->FrameWidth;
                    var->FrameHeight = parent_type->VarInfo[var_n]->FrameHeight;
                    var->Icon.Name = parent_type->VarInfo[var_n]->Icon.Name;
                    var->Icon.Icon = NULL;
                    if (parent_type->VarInfo[var_n]->Animations) {
                        var->Animations = parent_type->VarInfo[var_n]->Animations;
                    }
                    var->Construction = parent_type->VarInfo[var_n]->Construction;
                    for (int u = 0; u < VariationMax; ++u) {
                        var->UpgradesRequired[u] = parent_type->VarInfo[var_n]->UpgradesRequired[u];
                        var->UpgradesForbidden[u] = parent_type->VarInfo[var_n]->UpgradesRequired[u];
                    }
                    var->Tileset = parent_type->VarInfo[var_n]->Tileset;

                    for (int anim_n = 0; anim_n < AnimationFrameMax; ++anim_n) {
                        if (parent_type->VarInfo[var_n]->ShieldAnimation[anim_n]) {
                            OverlayAnimation *shield_anim = new OverlayAnimation;

                            var->ShieldAnimation[anim_n] = shield_anim;

                            shield_anim->Frame = parent_type->VarInfo[var_n]->ShieldAnimation[anim_n]->Frame;
                            shield_anim->OverlayFrame = parent_type->VarInfo[var_n]->ShieldAnimation[anim_n]->OverlayFrame;
                            shield_anim->XOffset = parent_type->VarInfo[var_n]->ShieldAnimation[anim_n]->XOffset;
                            shield_anim->YOffset = parent_type->VarInfo[var_n]->ShieldAnimation[anim_n]->YOffset;
                        }
                    }
                } else {
                    break;
                }
            }

Tech tree menu restarts the main menu music

When going to the tech tree submenu in the single player menu, the music restarts instead of continuing to play. It also restarts when switching between the various civilisations, and when leaving the tech tree menu and afterwards when entering another menu.

Miners/buras don't update their aims when environment changes

It is related to wood gathering. When buras collect wood, they eventually start to go far and far away from the place where they started gathering. However, new woods grow up but they're ignored. From my point of view it seems like gathering logic is the same for wood, stone and gold, but it should differ for wood.

*** Error in `./stratagus-dbg': double free or corruption (!prev): 0x000000000c16b480 ***

This is a debug build. Tried to replay the 3rd mission,
Also in CUnit::Release like in #10, but it wasn't at the end.

Backtrace:

#0  0x00007febd7d4b0eb in __lll_lock_wait_private ()
   from /usr/lib/libc.so.6
#1  0x00007febd7cd18ac in malloc () from /usr/lib/libc.so.6
#2  0x00007febd8df3a86 in ?? () from /usr/lib/libX11.so.6
#3  0x00007febd8df46a8 in _XReply () from /usr/lib/libX11.so.6
#4  0x00007febd8df011d in XSync () from /usr/lib/libX11.so.6
#5  0x00007febda370928 in ?? () from /usr/lib/libSDL-1.2.so.0
#6  0x00007febda360f4e in SDL_VideoQuit () from /usr/lib/libSDL-1.2.so.0
#7  0x00007febda33ae45 in SDL_QuitSubSystem ()
   from /usr/lib/libSDL-1.2.so.0
#8  0x00007febda33aeee in SDL_Quit () from /usr/lib/libSDL-1.2.so.0
#9  0x0000000000719fdc in CleanExit ()
    at Wyrmgus/src/video/sdl.cpp:345
#10 <signal handler called>
#11 0x00007febd7cce225 in malloc_consolidate () from /usr/lib/libc.so.6
#12 0x00007febd7ccef30 in _int_free () from /usr/lib/libc.so.6
#13 0x00007febd8e1c643 in _XimLocalIMFree () from /usr/lib/libX11.so.6
#14 0x00007febd8e1c8b4 in ?? () from /usr/lib/libX11.so.6
#15 0x00007febd8e01920 in XCloseIM () from /usr/lib/libX11.so.6
#16 0x00007febda370971 in ?? () from /usr/lib/libSDL-1.2.so.0
#17 0x00007febda360f4e in SDL_VideoQuit () from /usr/lib/libSDL-1.2.so.0
#18 0x00007febda33ae45 in SDL_QuitSubSystem ()
   from /usr/lib/libSDL-1.2.so.0
#19 0x00007febda33aeee in SDL_Quit () from /usr/lib/libSDL-1.2.so.0
#20 0x0000000000719fdc in CleanExit ()
    at Wyrmgus/src/video/sdl.cpp:345
#21 <signal handler called>
#22 0x00007febd7c8a528 in raise () from /usr/lib/libc.so.6
#23 0x00007febd7c8b93a in abort () from /usr/lib/libc.so.6
#24 0x00007febd7cc8bb2 in __libc_message () from /usr/lib/libc.so.6
#25 0x00007febd7cce0fe in malloc_printerr () from /usr/lib/libc.so.6
#26 0x00007febd7cce8db in _int_free () from /usr/lib/libc.so.6
#27 0x00000000006daf36 in CUnit::Release (this=0xc16aa50, final=false)
    at Wyrmgus/src/unit/unit.cpp:607
#28 0x000000000056709d in COrder_Die::Execute (this=0xc1a7660, unit=...)
    at Wyrmgus/src/action/action_die.cpp:119
#29 0x000000000057c6b9 in HandleUnitAction (unit=...)
    at Wyrmgus/src/action/actions.cpp:396
#30 0x000000000057cd4a in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (begin=, end=)
    at Wyrmgus/src/action/actions.cpp:487
#31 0x000000000057ca28 in UnitActions ()
    at Wyrmgus/src/action/actions.cpp:517
#32 0x000000000065c133 in GameLogicLoop ()
    at Wyrmgus/src/stratagus/mainloop.cpp:256
#33 0x000000000065c398 in SingleGameLoop ()
    at Wyrmgus/src/stratagus/mainloop.cpp:390
#34 0x000000000065c431 in GameMainLoop ()
    at Wyrmgus/src/stratagus/mainloop.cpp:427
#35 0x00000000005bf5d2 in StartMap (filename="maps/earth/jutland.smp", 
    clean=true) at Wyrmgus/src/game/game.cpp:164
#36 0x0000000000736072 in tolua_stratagus_StartMap00 (tolua_S=0xe20c20)
    at Wyrmgus/debug/tolua.cpp:1055
#37 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#38 0x00007febdaa2e92f in ?? () from /usr/lib/liblua5.1.so.5.1
#39 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#40 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#41 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#42 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#43 0x000000000065b99d in LuaCallback::run (this=0x4a5f9a8, results=0)
    at Wyrmgus/src/stratagus/luacallback.cpp:149
#44 0x00000000006ac1c5 in LuaActionListener::action (this=0x4a5f9a0, 
    eventId="") at Wyrmgus/src/ui/widgets.cpp:214
#45 0x00000000005d87e8 in gcn::Widget::generateAction (this=0x4a5f7e0)
    at Wyrmgus/src/guichan/widget.cpp:594
#46 0x00000000005db9d7 in gcn::Button::mouseClick (this=0x4a5f7e0, 
    button=1)
    at Wyrmgus/src/guichan/widgets/button.cpp:269
#47 0x00000000005d82cc in gcn::Widget::_mouseInputMessage (
    this=0x4a5f7e0, mouseInput=...)
    at Wyrmgus/src/guichan/widget.cpp:480
#48 0x00000000005dd25e in gcn::Container::_mouseInputMessage (
    this=0x4f05610, mouseInput=...)
    at Wyrmgus/src/guichan/widgets/container.cpp:369
#49 0x00000000005d081c in gcn::Gui::logic (this=0xf5c460)
    at Wyrmgus/src/guichan/gui.cpp:155
#50 0x00000000006ac021 in handleInput (event=0x0)
    at Wyrmgus/src/ui/widgets.cpp:169
#51 0x000000000071cc00 in WaitEventsOneFrame ()
    at Wyrmgus/src/video/sdl.cpp:981
#52 0x00000000006b6ab4 in MenuScreen::run (this=0x4f05610, loop=true)
    at Wyrmgus/src/ui/widgets.cpp:2734
#53 0x000000000076181a in tolua_stratagus_CMenuScreen_run00 (
    tolua_S=0xe20c20) at Wyrmgus/debug/tolua.cpp:20868
#54 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#55 0x00007febdaa2e92f in ?? () from /usr/lib/liblua5.1.so.5.1
#56 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#57 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#58 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#59 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#60 0x000000000065b99d in LuaCallback::run (this=0x5094b08, results=0)
    at Wyrmgus/src/stratagus/luacallback.cpp:149
#61 0x00000000006ac1c5 in LuaActionListener::action (this=0x5094b00, 
    eventId="") at Wyrmgus/src/ui/widgets.cpp:214
#62 0x00000000005d87e8 in gcn::Widget::generateAction (this=0x5094880)
    at Wyrmgus/src/guichan/widget.cpp:594
---Type <return> to continue, or q <return> to quit---
#63 0x00000000005db9d7 in gcn::Button::mouseClick (this=0x5094880, 
    button=1)
    at Wyrmgus/src/guichan/widgets/button.cpp:269
#64 0x00000000005d82cc in gcn::Widget::_mouseInputMessage (
    this=0x5094880, mouseInput=...)
    at Wyrmgus/src/guichan/widget.cpp:480
#65 0x00000000005dd25e in gcn::Container::_mouseInputMessage (
    this=0x4820c70, mouseInput=...)
    at Wyrmgus/src/guichan/widgets/container.cpp:369
#66 0x00000000005d081c in gcn::Gui::logic (this=0xf5c460)
    at Wyrmgus/src/guichan/gui.cpp:155
#67 0x00000000006ac021 in handleInput (event=0x0)
    at Wyrmgus/src/ui/widgets.cpp:169
#68 0x000000000071cc00 in WaitEventsOneFrame ()
    at Wyrmgus/src/video/sdl.cpp:981
#69 0x00000000006b6ab4 in MenuScreen::run (this=0x4820c70, loop=true)
    at Wyrmgus/src/ui/widgets.cpp:2734
#70 0x000000000076181a in tolua_stratagus_CMenuScreen_run00 (
    tolua_S=0xe20c20) at Wyrmgus/debug/tolua.cpp:20868
#71 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#72 0x00007febdaa2e92f in ?? () from /usr/lib/liblua5.1.so.5.1
#73 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#74 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#75 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#76 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#77 0x000000000065b99d in LuaCallback::run (this=0x487da28, results=0)
    at Wyrmgus/src/stratagus/luacallback.cpp:149
#78 0x00000000006ac1c5 in LuaActionListener::action (this=0x487da20, 
    eventId="") at Wyrmgus/src/ui/widgets.cpp:214
#79 0x00000000005d87e8 in gcn::Widget::generateAction (this=0x487d840)
    at Wyrmgus/src/guichan/widget.cpp:594
#80 0x00000000005db9d7 in gcn::Button::mouseClick (this=0x487d840, 
    button=1)
    at Wyrmgus/src/guichan/widgets/button.cpp:269
#81 0x00000000005d82cc in gcn::Widget::_mouseInputMessage (
    this=0x487d840, mouseInput=...)
    at Wyrmgus/src/guichan/widget.cpp:480
#82 0x00000000005dd25e in gcn::Container::_mouseInputMessage (
    this=0x39baeb0, mouseInput=...)
    at Wyrmgus/src/guichan/widgets/container.cpp:369
#83 0x00000000005d081c in gcn::Gui::logic (this=0xf5c460)
    at Wyrmgus/src/guichan/gui.cpp:155
#84 0x00000000006ac021 in handleInput (event=0x0)
    at Wyrmgus/src/ui/widgets.cpp:169
#85 0x000000000071cc00 in WaitEventsOneFrame ()
    at Wyrmgus/src/video/sdl.cpp:981
#86 0x00000000006b6ab4 in MenuScreen::run (this=0x39baeb0, loop=true)
    at Wyrmgus/src/ui/widgets.cpp:2734
#87 0x000000000076181a in tolua_stratagus_CMenuScreen_run00 (
    tolua_S=0xe20c20) at Wyrmgus/debug/tolua.cpp:20868
#88 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#89 0x00007febdaa2e899 in ?? () from /usr/lib/liblua5.1.so.5.1
#90 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#91 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#92 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#93 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#94 0x000000000065b99d in LuaCallback::run (this=0x4f0a6b8, results=0)
    at Wyrmgus/src/stratagus/luacallback.cpp:149
#95 0x00000000006ac1c5 in LuaActionListener::action (this=0x4f0a6b0, 
    eventId="") at Wyrmgus/src/ui/widgets.cpp:214
#96 0x00000000005d87e8 in gcn::Widget::generateAction (this=0x4e6c680)
    at Wyrmgus/src/guichan/widget.cpp:594
#97 0x00000000005db9d7 in gcn::Button::mouseClick (this=0x4e6c680, 
    button=1)
    at Wyrmgus/src/guichan/widgets/button.cpp:269
#98 0x00000000005d82cc in gcn::Widget::_mouseInputMessage (
    this=0x4e6c680, mouseInput=...)
    at Wyrmgus/src/guichan/widget.cpp:480
#99 0x00000000005dd25e in gcn::Container::_mouseInputMessage (
    this=0x41a4b90, mouseInput=...)
    at Wyrmgus/src/guichan/widgets/container.cpp:369
#100 0x00000000005d081c in gcn::Gui::logic (this=0xf5c460)
    at Wyrmgus/src/guichan/gui.cpp:155
#101 0x00000000006ac021 in handleInput (event=0x0)
    at Wyrmgus/src/ui/widgets.cpp:169
#102 0x000000000071cc00 in WaitEventsOneFrame ()
    at Wyrmgus/src/video/sdl.cpp:981
#103 0x00000000006b6ab4 in MenuScreen::run (this=0x41a4b90, loop=true)
    at Wyrmgus/src/ui/widgets.cpp:2734
#104 0x000000000076181a in tolua_stratagus_CMenuScreen_run00 (
    tolua_S=0xe20c20) at Wyrmgus/debug/tolua.cpp:20868
#105 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#106 0x00007febdaa2e899 in ?? () from /usr/lib/liblua5.1.so.5.1
#107 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#108 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#109 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#110 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#111 0x000000000065b99d in LuaCallback::run (this=0x4ec60d8, results=0)
    at Wyrmgus/src/stratagus/luacallback.cpp:149
#112 0x00000000006ac1c5 in LuaActionListener::action (this=0x4ec60d0, 
    eventId="") at Wyrmgus/src/ui/widgets.cpp:214
#113 0x00000000005d87e8 in gcn::Widget::generateAction (this=0x4b4b350)
    at Wyrmgus/src/guichan/widget.cpp:594
#114 0x00000000005db9d7 in gcn::Button::mouseClick (this=0x4b4b350, 
    button=1)
    at Wyrmgus/src/guichan/widgets/button.cpp:269
#115 0x00000000005d82cc in gcn::Widget::_mouseInputMessage (
    this=0x4b4b350, mouseInput=...)
    at Wyrmgus/src/guichan/widget.cpp:480
#116 0x00000000005dd25e in gcn::Container::_mouseInputMessage (
    this=0x4ec9830, mouseInput=...)
    at Wyrmgus/src/guichan/widgets/container.cpp:369
#117 0x00000000005d081c in gcn::Gui::logic (this=0xf5c460)
    at Wyrmgus/src/guichan/gui.cpp:155
#118 0x00000000006ac021 in handleInput (event=0x0)
    at Wyrmgus/src/ui/widgets.cpp:169
#119 0x000000000071cc00 in WaitEventsOneFrame ()
    at Wyrmgus/src/video/sdl.cpp:981
#120 0x00000000006b6ab4 in MenuScreen::run (this=0x4ec9830, loop=true)
    at Wyrmgus/src/ui/widgets.cpp:2734
#121 0x000000000076181a in tolua_stratagus_CMenuScreen_run00 (
    tolua_S=0xe20c20) at Wyrmgus/debug/tolua.cpp:20868
#122 0x00007febdaa241e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#123 0x00007febdaa2e899 in ?? () from /usr/lib/liblua5.1.so.5.1
#124 0x00007febdaa2462d in ?? () from /usr/lib/liblua5.1.so.5.1
#125 0x00007febdaa2391b in ?? () from /usr/lib/liblua5.1.so.5.1
#126 0x00007febdaa247ba in ?? () from /usr/lib/liblua5.1.so.5.1
#127 0x00007febdaa2057d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#128 0x00000000006631bd in LuaCall (narg=0, clear=1, exitOnError=true)
    at Wyrmgus/src/stratagus/script.cpp:165
#129 0x00000000006634cb in LuaLoadFile (
    file="Wyrmsun//scripts/guichan.lua")
    at Wyrmgus/src/stratagus/script.cpp:222
#130 0x000000000067a95b in MenuLoop ()
    at Wyrmgus/src/stratagus/stratagus.cpp:302
#131 0x000000000067b276 in stratagusMain (argc=3, argv=0x7ffe3f11a5f8)
    at Wyrmgus/src/stratagus/stratagus.cpp:780
#132 0x000000000065ba82 in main (argc=3, argv=0x7ffe3f11a5f8)
    at Wyrmgus/src/stratagus/main.cpp:37

Segmentation fault when quitting debug version

It happens even when I immediately quit from the menu.

Backtrace:

#0  0x0000000000000141 in ?? ()
#1  0x00000000006eaaa4 in CUnitType::~CUnitType (this=0x44ac470, 
    __in_chrg=<optimized out>)
    at Wyrmgus/src/unit/unittype.cpp:684
#2  0x00000000006ed71b in CleanUnitTypes ()
    at Wyrmgus/src/unit/unittype.cpp:1530
#3  0x00000000005c0e04 in CleanModules ()
    at Wyrmgus/src/game/loadgame.cpp:94
#4  0x0000000000674e7b in Exit (err=0)
    at Wyrmgus/src/stratagus/stratagus.cpp:414
#5  0x000000000067566b in stratagusMain (argc=3, argv=0x7fffffffe798)
    at Wyrmgus/src/stratagus/stratagus.cpp:782
#6  0x00000000006563d6 in main (argc=3, argv=0x7fffffffe798)
    at Wyrmgus/src/stratagus/main.cpp:37

It's deleting a CBuildRestrictionDistance of the dwarven hall. I thought that the vtable of the CBuildRestrcitionDistance is corrupted. I don't even understand why gdb sais there is only one BuildingRules entry, when there are 4 restrictions in Wyrmsun/scripts/units.lua: unit-template-town-hall

Crash in sound code

Didn't manage to rerpoduce, though:
It was e97fcab

Program received signal SIGSEGV, Segmentation fault.
0x00000000006a2fb7 in UnitSoundIsPlaying (origin=0x7fffffffc250)
    at /home/kroartem/SVN/Wyrmgus/src/sound/sound_server.cpp:381
381             && origin->Id == Channels[i].Unit->Id && Channels[i].Playing
(gdb) bt
#0  0x00000000006a2fb7 in UnitSoundIsPlaying (origin=0x7fffffffc250)
    at /home/kroartem/SVN/Wyrmgus/src/sound/sound_server.cpp:381
#1  0x000000000069deb8 in PlayUnitSound (unit=..., voice=VoiceStep)
    at /home/kroartem/SVN/Wyrmgus/src/sound/sound.cpp:336
#2  0x00000000005a83e4 in DoActionMove (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/action_move.cpp:265
#3  0x00000000005af3d9 in COrder_Resource::MoveToResource_Unit (
    this=0x102a7820, unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/action_resource.cpp:476
#4  0x00000000005af76f in COrder_Resource::MoveToResource (this=0x102a7820, 
    unit=...) at /home/kroartem/SVN/Wyrmgus/src/action/action_resource.cpp:532
#5  0x00000000005b2abb in COrder_Resource::Execute (this=0x102a7820, unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/action_resource.cpp:1490
#6  0x00000000005c269a in HandleUnitAction (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:468
#7  0x00000000005c2dca in UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (begin=, end=)
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:559
#8  0x00000000005c2a61 in UnitActions ()
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:589
#9  0x00000000006f6488 in GameLogicLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:424
#10 0x00000000006f6966 in SingleGameLoop ()

Fluidsynth error...

This is not a crash bug but it might indicate something more problematic elsewhere... (I've not yet noticed any other symptoms).

When I ran wyrmgus I got the following output on the command line:

$ wyrmgus
Can't open file 'preferences.lua': No such file or directory
Stratagus v2.3.0, Copyright (c) 1998-2015 by The Stratagus Project
written by Lutz Sammer, Fabrice Rossi, Vladi Shabanski, Patrice Fortier,
Jon Gabrielson, Andreas Arens, Nehal Mistry, Jimmy Salmon, Pali Rohar,
cybermind, Andrettin and others.
https://launchpad.net/stratagus
Compile options ZLIB VORBIS THEORA FLUIDSYNTH MIKMOD OPENGL LINUX X11

Stratagus may be copied only under the terms of the GNU General Public License
which may be found in the Stratagus source kit.

DISCLAIMER:
This software is provided as-is. The author(s) can not be held liable for any
damage that might arise from the use of this software.
Use it at your own risk.

fluidsynth: error: Get end of file position failed
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/home/willow/.stratagus/wyr/"
fluidsynth: error: Unable to open file ""
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont ""
Failed to load the SoundFont:
Thanks for playing Stratagus.
X Error of failed request: GLXBadContext
Major opcode of failed request: 157 (GLX)
Minor opcode of failed request: 4 (X_GLXDestroyContext)
Serial number of failed request: 4385
Current serial number in output stream: 4387

The last bit I've put into a different issue as it appears unrelated and was only added once I quit wyrmgus.
I'm presuming that the fluidsynth problem will affect the music somehow? or else is there a backup system (in which case buring these warnings might be worth it).
Hope this helps.

Corrupted double-linked list after finishing 3rd mission

Git master of Wyrmgus and Wyrmsun. Just when I clicked on continue in the message window that popups when killing the last enemy unit.

Stderr:

*** Error in `./stratagus': corrupted double-linked list: 0x00000000048ff130 ***

It was an optimized build without debug symbols, so I don't know how good will be the backtrace:
I leave it open, so you can ask for additional info if you want.

Backtrace:

#0  0x00007fc45d7530eb in __lll_lock_wait_private ()
   from /usr/lib/libc.so.6
#1  0x00007fc45d6d98ac in malloc () from /usr/lib/libc.so.6
#2  0x00007fc46065a25b in _dl_map_object_deps ()
   from /lib64/ld-linux-x86-64.so.2
#3  0x00007fc460660358 in dl_open_worker ()
   from /lib64/ld-linux-x86-64.so.2
#4  0x00007fc46065bf94 in _dl_catch_error ()
   from /lib64/ld-linux-x86-64.so.2
#5  0x00007fc46065fe01 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#6  0x00007fc45d77b84d in do_dlopen () from /usr/lib/libc.so.6
#7  0x00007fc46065bf94 in _dl_catch_error ()
   from /lib64/ld-linux-x86-64.so.2
#8  0x00007fc45d77b8df in dlerror_run () from /usr/lib/libc.so.6
#9  0x00007fc45d77b951 in __libc_dlopen_mode () from /usr/lib/libc.so.6
#10 0x00007fc45d753965 in init () from /usr/lib/libc.so.6
#11 0x00007fc45fb2bdcf in __pthread_once_slow ()
   from /usr/lib/libpthread.so.0
#12 0x00007fc45d753a7c in backtrace () from /usr/lib/libc.so.6
#13 0x00007fc45d67eb02 in backtrace_and_maps () from /usr/lib/libc.so.6
#14 0x00007fc45d6d0bad in __libc_message () from /usr/lib/libc.so.6
#15 0x00007fc45d6d60fe in malloc_printerr () from /usr/lib/libc.so.6
#16 0x00007fc45d6d70b9 in _int_free () from /usr/lib/libc.so.6
#17 0x000000000058fc4a in CUnit::Release(bool) ()
#18 0x000000000059448d in CleanUnits() ()
#19 0x00000000004a4c1f in StartMap(std::string const&, bool) ()
#20 0x00000000006091ef in tolua_stratagus_StartMap00(lua_State*) ()
#21 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#22 0x00007fc46043692f in ?? () from /usr/lib/liblua5.1.so.5.1
#23 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#24 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#25 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#26 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#27 0x0000000000520b6b in LuaCallback::run(int) ()
#28 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#29 0x00000000004b61bd in gcn::Widget::generateAction() ()
#30 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#31 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#32 0x00000000004af1b2 in gcn::Gui::logic() ()
#33 0x00000000005c908b in WaitEventsOneFrame() ()
#34 0x000000000057224e in MenuScreen::run(bool) ()
#35 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#36 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#37 0x00007fc46043692f in ?? () from /usr/lib/liblua5.1.so.5.1
---Type <return> to continue, or q <return> to quit---
#38 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#39 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#40 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#41 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#42 0x0000000000520b6b in LuaCallback::run(int) ()
#43 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#44 0x00000000004b61bd in gcn::Widget::generateAction() ()
#45 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#46 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#47 0x00000000004af1b2 in gcn::Gui::logic() ()
#48 0x00000000005c908b in WaitEventsOneFrame() ()
#49 0x000000000057224e in MenuScreen::run(bool) ()
#50 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#51 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#52 0x00007fc46043692f in ?? () from /usr/lib/liblua5.1.so.5.1
#53 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#54 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#55 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#56 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#57 0x0000000000520b6b in LuaCallback::run(int) ()
#58 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#59 0x00000000004b61bd in gcn::Widget::generateAction() ()
#60 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#61 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#62 0x00000000004af1b2 in gcn::Gui::logic() ()
#63 0x00000000005c908b in WaitEventsOneFrame() ()
#64 0x000000000057224e in MenuScreen::run(bool) ()
#65 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#66 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#67 0x00007fc46043692f in ?? () from /usr/lib/liblua5.1.so.5.1
#68 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#69 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#70 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#71 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#72 0x0000000000520b6b in LuaCallback::run(int) ()
#73 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#74 0x00000000004b61bd in gcn::Widget::generateAction() ()
#75 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
---Type <return> to continue, or q <return> to quit---
#76 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#77 0x00000000004af1b2 in gcn::Gui::logic() ()
#78 0x00000000005c908b in WaitEventsOneFrame() ()
#79 0x000000000057224e in MenuScreen::run(bool) ()
#80 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#81 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#82 0x00007fc46043692f in ?? () from /usr/lib/liblua5.1.so.5.1
#83 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#84 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#85 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#86 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#87 0x0000000000520b6b in LuaCallback::run(int) ()
#88 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#89 0x00000000004b61bd in gcn::Widget::generateAction() ()
#90 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#91 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#92 0x00000000004af1b2 in gcn::Gui::logic() ()
#93 0x00000000005c908b in WaitEventsOneFrame() ()
#94 0x000000000057224e in MenuScreen::run(bool) ()
#95 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#96 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#97 0x00007fc460436899 in ?? () from /usr/lib/liblua5.1.so.5.1
#98 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#99 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#100 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#101 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#102 0x0000000000520b6b in LuaCallback::run(int) ()
#103 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#104 0x00000000004b61bd in gcn::Widget::generateAction() ()
#105 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#106 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#107 0x00000000004af1b2 in gcn::Gui::logic() ()
#108 0x00000000005c908b in WaitEventsOneFrame() ()
#109 0x000000000057224e in MenuScreen::run(bool) ()
#110 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#111 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#112 0x00007fc460436899 in ?? () from /usr/lib/liblua5.1.so.5.1
#113 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
---Type <return> to continue, or q <return> to quit---
#114 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#115 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#116 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#117 0x0000000000520b6b in LuaCallback::run(int) ()
#118 0x000000000056dba1 in LuaActionListener::action(std::string const&)
    ()
#119 0x00000000004b61bd in gcn::Widget::generateAction() ()
#120 0x00000000004b547e in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#121 0x00000000004b7bea in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#122 0x00000000004af1b2 in gcn::Gui::logic() ()
#123 0x00000000005c908b in WaitEventsOneFrame() ()
#124 0x000000000057224e in MenuScreen::run(bool) ()
#125 0x00000000005fbe58 in tolua_stratagus_CMenuScreen_run00(lua_State*)
    ()
#126 0x00007fc46042c1e8 in ?? () from /usr/lib/liblua5.1.so.5.1
#127 0x00007fc460436899 in ?? () from /usr/lib/liblua5.1.so.5.1
#128 0x00007fc46042c62d in ?? () from /usr/lib/liblua5.1.so.5.1
#129 0x00007fc46042b91b in ?? () from /usr/lib/liblua5.1.so.5.1
#130 0x00007fc46042c7ba in ?? () from /usr/lib/liblua5.1.so.5.1
#131 0x00007fc46042857d in lua_pcall () from /usr/lib/liblua5.1.so.5.1
#132 0x0000000000529dac in LuaCall(int, int, bool) ()
#133 0x000000000052ce1c in LuaLoadFile(std::string const&) ()
#134 0x000000000053e82d in stratagusMain(int, char**) ()
#135 0x00007fc45d67f790 in __libc_start_main () from /usr/lib/libc.so.6
#136 0x000000000045a649 in _start ()

Crash when loading a savegame

Whenever I want to load a savegame the game crashes. How can I upload the dmp file here?

Windows 8 with compatibility mode for windows 7

CMake Error at CMakeLists.txt:1228

CMakeError.txt

Terminal output:

john@ProBook ~/Wyrmgus $ cmake .
-- Could not find FluidSynth
-- Could not find StackTrace
-- Found OggVorbis: /usr/lib/x86_64-linux-gnu/libogg.so;/usr/lib/x86_64-linux-gnu/libvorbis.so
-- Could not find OpenGL ES 1.1 libraries
-- Could not find Native SDL gles
-- Could not find OpenGL ES 1.1 libraries
-- Could not find EGL SDL gles
-- Found OggVorbis: /usr/lib/x86_64-linux-gnu/libogg.so;/usr/lib/x86_64-linux-gnu/libvorbis.so
-- Using OpenGL
==================================
Debug mode: No (Enable by param -DCMAKE_BUILD_TYPE=Debug)
Strip executables: No (Enable by param -DENABLE_STRIP=ON)
Static linking: No (Enable by param -DENABLE_STATIC=ON)
Place game files in: game directory (Place in user directory with -DENABLE_USEGAMEDIR=OFF)
Parallel building in MSVC: Yes (Disable by param -DENABLE_MULTIBUILD=OFF)
Platform: Linux
Redirect stdio: Unsupported on this platform
Touchscreen input: No (Enable by param -DENABLE_TOUCHSCREEN=ON)
Metaserver: No (Enable by param -DENABLE_METASERVER=ON)
Doxygen documentation: No (Enable by param -DENABLE_DOC=ON)
Game development files: No (Enable by param -DENABLE_DEV=ON)
Upx packer: No (Enable by param -DENABLE_UPX=ON)
NSIS Installer: Unsupported on this platform
Bzip2: Disabled (Enable by param -DWITH_BZIP2=ON)
PhysFS: Disabled (Enable by param -DWITH_PHYSFS=ON)
FluidSynth: Disabled (Enable by param -DWITH_FLUIDSYNTH=ON)
MikMod: Found and enabled (Disable by param -DWITH_MIKMOD=OFF)
Mng: Disabled (Enable by param -DWITH_MNG=ON)
Ogg/Vorbis: Found and enabled (Disable by param -DWITH_OGGVORBIS=OFF)
StackTrace: Disabled (Enable by param -DWITH_STACKTRACE=ON)
Theora: Found and enabled (Disable by param -DWITH_THEORA=OFF)
OAML: Not Found
X11: Found and enabled (Disable by param -DWITH_X11=OFF)
Renderer: OpenGL (Disable by param -DWITH_RENDERER=NativeSDL)
==================================
CMake Error at CMakeLists.txt:1228 (target_link_libraries):
  The "optimized" argument must be followed by a library.


-- Configuring incomplete, errors occurred!
See also "/home/john/Wyrmgus/CMakeFiles/CMakeOutput.log".
See also "/home/john/Wyrmgus/CMakeFiles/CMakeError.log".

It works just fine if I comment out line 1228. I'm also able to compile vanilla Stratagus with no issue.

The relevant line is: target_link_libraries(stratagus optimized ${stratagus_LIBS_RELEASE})

Wyrmsun crashes after seconds....

Hi Andrettin,

found your game Wyrmsun on a dvd of a german computer mag (version 1.3 or so) and I played the first 5 missions without problems, mission 6 didnยดt appear...so I thought letยดs check for newer versions, got version 1.96 but my savegames didnยดt work. As the game is fun to play anyway I just played the first levels again, now it crashes everytime I try to play mission 5 (battle of magretobia). I tried reinstalling, changing resolution, changing savegames etc...
Iยดll attach the crash.dmp, perhaps you find the error...would love to go on with that game ;-)
crash.zip

Compiling with CMake < 3.1

I see that the requirements for the CMake version were upped to version 3.1 in this commit: e563860. I suppose this means that ${CMAKE_CXX11_STANDARD_COMPILE_OPTION} is a new feature in CMake 3.1?

However, it makes it quite harder to build Wyrmgus against CMake 3.0, which is the version provided by most current Linux distributions (Debian Jessie, Mageia 5, ...).

If you want to support older CMake versions, you could probably add a fallback instruction to force the C++11 flags, see e.g. how we do it in OpenDungeons (probably not the simplest implementation, but it works):
https://github.com/OpenDungeons/OpenDungeons/blob/development/CMakeLists.txt#L120-L129

If you're fine with keeping a strict requires on CMake >= 3.1, feel free to close this issue as invalid :)

Intermittent lag in "Malmo" map, supposedly due to the AI

As seen in the attached saved game [1], there is intermittent lag (every 15-20s or something, though I'm not sure it's perfectly regular) in the Malmo map as player in the 5th scenario of the germanic campaign.

Some pointers to identify the source of the lag, as discussed on chat:

Akien: It's the first map where I experience lags
Akien: It did not lag at first though, only after I had explored half of the map I'd say
Andrettin: hmm, it's not an issue related to the scenario triggers, I just tested that
Andrettin: it doesn't seem like it has anything to do with the time of the day changes either, as the lag is not happening when the time of the day changes
Andrettin: maybe the lag comes from the AI reassigning its workers to gather a different resources
Akien: Would that happen often?
Andrettin: no, it shouldn't happen often
Andrettin: and I'm not seeing any indication of it happening often either
Andrettin: hmm a debug executable doesn't tell me anything about it either
Andrettin: killing all AI workers and their town hall does seem to get rid of the lag
Andrettin: I imagine the cause is this function:
Andrettin: AiAssignHarvesterFromUnit (ai_resource.cpp)
Andrettin: it is pretty expensive performance-wise, and is probably being called more often than it should
Andrettin: and the recent additions I made to check if there is an equivalent resource (like silver for gold) probably impacted performance further

[1] http://dl.free.fr/kKlGFYth5

Linux game start issue

A player reported the following issue when running the Linux version, which caused the game to not start:

Program received signal SIGSEGV, Segmentation fault.
std::string::compare (this=, __s=0x52dd158 "orc") at /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1397
1397 /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc: No such file or directory.
(gdb) bt
#0 std::string::compare (this=, __s=0x52dd158 "orc") at /build/gcc-multilib/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:1397
#1 0x000000000064c6e8 in PlayerRace::GetRaceIndexByName(char const*) const ()
#2 0x00000000006eba11 in CclDefineUnitType(lua_State*) ()
#3 0x00000000007aa66c in luaD_precall ()
#4 0x00000000007b3c58 in luaV_execute ()
#5 0x00000000007aaa7d in luaD_call ()
#6 0x00000000007a9d07 in luaD_rawrunprotected ()
#7 0x00000000007aac12 in luaD_pcall ()
#8 0x00000000007a82cf in lua_pcall ()
#9 0x0000000000654710 in LuaCall(int, int, bool) ()
#10 0x0000000000654a20 in LuaLoadFile(std::string const&) ()
#11 0x0000000000654cd3 in CclLoad(lua_State*) ()
#12 0x00000000007aa66c in luaD_precall ()
#13 0x00000000007b3c58 in luaV_execute ()
#14 0x00000000007aaa7d in luaD_call ()
#15 0x00000000007a9d07 in luaD_rawrunprotected ()
#16 0x00000000007aac12 in luaD_pcall ()
#17 0x00000000007a82cf in lua_pcall ()
#18 0x0000000000654710 in LuaCall(int, int, bool) ()
#19 0x0000000000654a20 in LuaLoadFile(std::string const&) ()
#20 0x000000000065f518 in LoadCcl(std::string const&) ()
#21 0x0000000000674f6e in stratagusMain(int, char**) ()
#22 0x000000000064aa9c in main ()

(gdb)

Using CGraphic::Flip() on a 32-bit image causes a crash

Something is amiss with this piece of code in CGraphic::Flip(), which is causing a crash when the function is used on a 32-bit image:

  case 4: {
   unsigned int p0 = s->pitch;
   unsigned int p1 = Surface->pitch;
   const int width = s->w;
   int j = 0;
   for (int i = 0; i < s->h; ++i) {
#ifdef _MSC_VER
    for (j = 0; j < width; ++j) {
     *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
      *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
    }
#else
    int n = (width + 7) / 8;
    switch (width & 7) {
     case 0: do {
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 7:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 6:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 5:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 4:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 3:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 2:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      case 1:
       *(Uint32 *)&((char *)s->pixels)[j * 4 + p0] =
        *(Uint32 *) & ((char *)Surface->pixels)[(width - j - 1) * 4 + p1];
       j++;
      } while (--n > 0);
    }
#endif
    p0 += s->pitch;
    p1 += Surface->pitch;
   }
  }
  break;

Mouse Scroll Wheel Input Issue

When the mouse scroll wheel is pressed, that cancels the current construction selection (CursorBuilding), if any. Ideally, it should order the building to be constructed instead. It would also be nice if the mouse scroll wheel could scroll the game screen vertically.

Warning with %lu matched to a plain int

Building the current 1.9.5 release, I get those two warnings:

[  3%] Building CXX object CMakeFiles/stratagus.dir/src/game/replay.cpp.o                                                                                                                    
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/game/replay.cpp: In function 'void PrintLogCommand(const LogEntry&, CFile&)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/game/replay.cpp:334:56: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'int' [-Wformat=]
  file.printf("GameTimeOfDay = %lu, ", log.GameTimeOfDay);
                                                        ^
[  3%] Building CXX object CMakeFiles/stratagus.dir/src/game/savegame.cpp.o
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/game/savegame.cpp: In function 'int SaveGame(const string&)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/game/savegame.cpp:162:52: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'int' [-Wformat=]
  file.printf("GameTimeOfDay = %lu\n", GameTimeOfDay);
                                                    ^

Tweak/remove stratagus optional depends

Stratagus, being a flexible engine, has a set of build tunables for enabling optional dependencies such as mikmod, mng, theora etc. Wyrmgus, otoh, being a specialized engine doesn't need suck flexibility as a set of formats needed for wyrmsun is known. To simplify packaging, it's be nice to either switch options corresponding to unneeded components to off or remove them along with specific dependency handling completely.

format-security issues in src/map/map.cpp

I'm updating Mageia's wyrmsun package to the current 1.9.5 release, and I have this build issue triggered by the -Werror=format-security GCC flag:

[  3%] Building CXX object CMakeFiles/stratagus.dir/src/map/map.cpp.o
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp: In function 'void Convert0ADMap(const string&)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:966:71: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("File \"" + pmp_filename + "\" not found.").c_str());
                                                                       ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:980:76: error: format not a string literal and no format arguments [-Werror=format-security]
    fprintf(stderr, ("Error loading file \"" + pmp_filename + "\".").c_str());
                                                                            ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:1087:71: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("File \"" + xml_filename + "\" not found.").c_str());
                                                                       ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp: In function 'std::string Convert0ADTextureToTileType(std::string)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:1448:97: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("0 AD terrain texture \"" + zero_ad_texture + "\" not recognized.\n").c_str());
                                                                                                 ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp: In function 'std::string Convert0ADTemplateToUnitTypeIdent(std::string)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:1465:91: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("0 AD template \"" + zero_ad_template + "\" not recognized.\n").c_str());
                                                                                           ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp: In function 'std::string Convert0ADCivilizationToCivilization(std::string)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:1482:99: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("0 AD civilization \"" + zero_ad_civilization + "\" not recognized.\n").c_str());
                                                                                                   ^
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp: In function 'std::string Convert0ADCivilizationToFaction(std::string)':
/home/akien/Mageia/Checkout/wyrmsun/BUILD/Wyrmgus-1.9.5/src/map/map.cpp:1499:99: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(stderr, ("0 AD civilization \"" + zero_ad_civilization + "\" not recognized.\n").c_str());
                                                                                                   ^

Seems to be an issue of this family: https://en.wikipedia.org/wiki/Uncontrolled_format_string

Loading times much longer with OpenGL than SDL on Linux

It's something that we add discussed privately already some time ago, but I just checked and can still reproduce the issue, so I guess it's worth a bug report (if only so that other Linux users can confirm it or not).

When using the OpenGL renderer (default option), the loading times for maps (e.g. a custom game with default settings) can be quite long, maybe 20-30s or so. After switching to the SDL renderer, loading times are much shorter, a custom game will typically load in a matter of seconds.

That brings two questions:

  • why are the loading times so long with OpenGL (and apparently only on Linux)?
  • is there a loss of functionality to defaulting to SDL for Linux users as a workaround, or is it more or less the same?

Valgrind log of mission 4

I was hit by another memory error. So I thought to try out valgrind. (Never used it before)
This time wasn't any crash. But valgrind found a couple of things.

Wyrmgus was compiled with -O1. (And still too slow on my laptop)

==22938== Memcheck, a memory error detector
==22938== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==22938== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==22938== Command: ./stratagus -d /repos/Wyrmsun
==22938== Parent PID: 2036
==22938== 
==22938== Syscall param writev(vector[...]) points to uninitialised byte(s)
==22938==    at 0x7B6252D: ??? (in /usr/lib/libc-2.21.so)
==22938==    by 0x988BCCA: ??? (in /usr/lib/libxcb.so.1.1.0)
==22938==    by 0x988C0C0: ??? (in /usr/lib/libxcb.so.1.1.0)
==22938==    by 0x988C144: xcb_writev (in /usr/lib/libxcb.so.1.1.0)
==22938==    by 0x69C918D: _XSend (in /usr/lib/libX11.so.6.3.0)
==22938==    by 0x69C9681: _XReply (in /usr/lib/libX11.so.6.3.0)
==22938==    by 0x69C511C: XSync (in /usr/lib/libX11.so.6.3.0)
==22938==    by 0x54EC220: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54EE502: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54EE808: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54DD574: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x570E02: InitVideoSdl() (sdl.cpp:635)
==22938==  Address 0xf69f7a3 is 19 bytes inside a block of size 16,384 alloc'd
==22938==    at 0x4C2C080: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x69B94E1: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==22938==    by 0x54EEA5A: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54DD265: SDL_VideoInit (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54B6D4B: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x54B6DC3: SDL_Init (in /usr/lib/libSDL-1.2.so.0.11.4)
==22938==    by 0x56EF82: InitVideoSdl() (sdl.cpp:471)
==22938==    by 0x5729D7: InitVideo() (video.cpp:338)
==22938==    by 0x50490C: stratagusMain(int, char**) (stratagus.cpp:753)
==22938==    by 0x4EDC31: main (main.cpp:37)
==22938== 
==22938== Conditional jump or move depends on uninitialised value(s)
==22938==    at 0x4D7FCB: CostMoveTo (astar.cpp:592)
==22938==    by 0x4D7FCB: AStarFindSimplePath (astar.cpp:901)
==22938==    by 0x4D7FCB: AStarFindPath(Vec2T<short> const&, Vec2T<short> const&, int, int, int, int, int, int, char*, int, CUnit const&) (astar.cpp:933)
==22938==    by 0x4D9AE9: NewPath (pathfinder.cpp:330)
==22938==    by 0x4D9AE9: NextPathElement(CUnit&, short*, short*) (pathfinder.cpp:376)
==22938==    by 0x462D59: DoActionMove(CUnit&) (action_move.cpp:165)
==22938==    by 0x463112: COrder_Move::Execute(CUnit&) (action_move.cpp:270)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Conditional jump or move depends on uninitialised value(s)
==22938==    at 0x4D7FDF: AStarFindSimplePath (astar.cpp:901)
==22938==    by 0x4D7FDF: AStarFindPath(Vec2T<short> const&, Vec2T<short> const&, int, int, int, int, int, int, char*, int, CUnit const&) (astar.cpp:933)
==22938==    by 0x4D9AE9: NewPath (pathfinder.cpp:330)
==22938==    by 0x4D9AE9: NextPathElement(CUnit&, short*, short*) (pathfinder.cpp:376)
==22938==    by 0x462D59: DoActionMove(CUnit&) (action_move.cpp:165)
==22938==    by 0x463112: COrder_Move::Execute(CUnit&) (action_move.cpp:270)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Invalid read of size 4
==22938==    at 0x486471: AiCheckingWork (ai_resource.cpp:882)
==22938==    by 0x486471: AiResourceManager() (ai_resource.cpp:1535)
==22938==    by 0x47D342: AiEachSecond(CPlayer&) (ai.cpp:1058)
==22938==    by 0x4F1216: PlayersEachSecond(int) (player.cpp:1304)
==22938==    by 0x4EE2FA: GameLogicLoop (mainloop.cpp:300)
==22938==    by 0x4EE2FA: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE2FA: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E427B9: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E3E57C: lua_pcall (in /usr/lib/liblua5.1.so.5.1.5)
==22938==  Address 0xebe02d4 is 4 bytes inside a block of size 64 free'd
==22938==    at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x486F53: deallocate (new_allocator.h:110)
==22938==    by 0x486F53: deallocate (alloc_traits.h:386)
==22938==    by 0x486F53: _M_deallocate (stl_vector.h:178)
==22938==    by 0x486F53: void std::vector<AiBuildQueue, std::allocator<AiBuildQueue> >::_M_insert_aux<AiBuildQueue const&>(__gnu_cxx::__normal_iterator<AiBuildQueue*, std::vector<AiBuildQueue, std::allocator<AiBuildQueue> > >, AiBuildQueue const&) (vector.tcc:394)
==22938==    by 0x4859F3: insert (vector.tcc:131)
==22938==    by 0x4859F3: AiRequestSupply() (ai_resource.cpp:575)
==22938==    by 0x486886: AiCheckingWork (ai_resource.cpp:879)
==22938==    by 0x486886: AiResourceManager() (ai_resource.cpp:1535)
==22938==    by 0x47D342: AiEachSecond(CPlayer&) (ai.cpp:1058)
==22938==    by 0x4F1216: PlayersEachSecond(int) (player.cpp:1304)
==22938==    by 0x4EE2FA: GameLogicLoop (mainloop.cpp:300)
==22938==    by 0x4EE2FA: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE2FA: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Invalid read of size 4
==22938==    at 0x486474: AiCheckingWork (ai_resource.cpp:882)
==22938==    by 0x486474: AiResourceManager() (ai_resource.cpp:1535)
==22938==    by 0x47D342: AiEachSecond(CPlayer&) (ai.cpp:1058)
==22938==    by 0x4F1216: PlayersEachSecond(int) (player.cpp:1304)
==22938==    by 0x4EE2FA: GameLogicLoop (mainloop.cpp:300)
==22938==    by 0x4EE2FA: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE2FA: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E427B9: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E3E57C: lua_pcall (in /usr/lib/liblua5.1.so.5.1.5)
==22938==  Address 0xebe02d0 is 0 bytes inside a block of size 64 free'd
==22938==    at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x486F53: deallocate (new_allocator.h:110)
==22938==    by 0x486F53: deallocate (alloc_traits.h:386)
==22938==    by 0x486F53: _M_deallocate (stl_vector.h:178)
==22938==    by 0x486F53: void std::vector<AiBuildQueue, std::allocator<AiBuildQueue> >::_M_insert_aux<AiBuildQueue const&>(__gnu_cxx::__normal_iterator<AiBuildQueue*, std::vector<AiBuildQueue, std::allocator<AiBuildQueue> > >, AiBuildQueue const&) (vector.tcc:394)
==22938==    by 0x4859F3: insert (vector.tcc:131)
==22938==    by 0x4859F3: AiRequestSupply() (ai_resource.cpp:575)
==22938==    by 0x486886: AiCheckingWork (ai_resource.cpp:879)
==22938==    by 0x486886: AiResourceManager() (ai_resource.cpp:1535)
==22938==    by 0x47D342: AiEachSecond(CPlayer&) (ai.cpp:1058)
==22938==    by 0x4F1216: PlayersEachSecond(int) (player.cpp:1304)
==22938==    by 0x4EE2FA: GameLogicLoop (mainloop.cpp:300)
==22938==    by 0x4EE2FA: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE2FA: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Invalid read of size 4
==22938==    at 0x45FC31: COrder_Build::Execute(CUnit&) (action_build.cpp:552)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E427B9: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E3E57C: lua_pcall (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4EDB9E: LuaCallback::run(int) (luacallback.cpp:149)
==22938==  Address 0x138ef2d8 is 40 bytes inside a block of size 56 free'd
==22938==    at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x45FDF5: COrder_Build::~COrder_Build() (action_build.h:37)
==22938==    by 0x45F978: COrder_Build::CheckCanBuild(CUnit&) (action_build.cpp:343)
==22938==    by 0x45FADA: COrder_Build::Execute(CUnit&) (action_build.cpp:540)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4C92E: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4262C: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938==    by 0x4E4191A: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Source and destination overlap in memcpy(0x12407d40, 0x12407d48, 120)
==22938==    at 0x4C2EACD: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x4D93DF: AStarReplaceNode (astar.cpp:467)
==22938==    by 0x4D93DF: AStarFindPath(Vec2T<short> const&, Vec2T<short> const&, int, int, int, int, int, int, char*, int, CUnit const&) (astar.cpp:1074)
==22938==    by 0x4D9AE9: NewPath (pathfinder.cpp:330)
==22938==    by 0x4D9AE9: NextPathElement(CUnit&, short*, short*) (pathfinder.cpp:376)
==22938==    by 0x462D59: DoActionMove(CUnit&) (action_move.cpp:165)
==22938==    by 0x465882: COrder_Resource::MoveToResource_Unit(CUnit&) (action_resource.cpp:447)
==22938==    by 0x4659D7: COrder_Resource::MoveToResource(CUnit&) (action_resource.cpp:487)
==22938==    by 0x467B94: COrder_Resource::Execute(CUnit&) (action_resource.cpp:1427)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938==    by 0x5A459E: tolua_stratagus_StartMap00(lua_State*) (tolua.cpp:1063)
==22938==    by 0x4E421E7: ??? (in /usr/lib/liblua5.1.so.5.1.5)
==22938== 
==22938== Source and destination overlap in memcpy(0x12407d48, 0x12407d50, 112)
==22938==    at 0x4C2EACD: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22938==    by 0x4D93DF: AStarReplaceNode (astar.cpp:467)
==22938==    by 0x4D93DF: AStarFindPath(Vec2T<short> const&, Vec2T<short> const&, int, int, int, int, int, int, char*, int, CUnit const&) (astar.cpp:1074)
==22938==    by 0x4D9839: PlaceReachable(CUnit const&, Vec2T<short> const&, int, int, int, int) (pathfinder.cpp:190)
==22938==    by 0x4D98BF: UnitReachable(CUnit const&, CUnit const&, int) (pathfinder.cpp:230)
==22938==    by 0x550DB5: ComputeCost (unit_find.cpp:756)
==22938==    by 0x550DB5: Find<__gnu_cxx::__normal_iterator<CUnit* const*, std::vector<CUnit*> > > (unit_find.cpp:724)
==22938==    by 0x550DB5: Find (unit_find.cpp:708)
==22938==    by 0x550DB5: AttackUnitsInDistance(CUnit const&, int, CUnitFilter) (unit_find.cpp:1203)
==22938==    by 0x551089: AttackUnitsInReactRange(CUnit const&, CUnitFilter) (unit_find.cpp:1241)
==22938==    by 0x55109A: AttackUnitsInReactRange(CUnit const&) (unit_find.cpp:1246)
==22938==    by 0x45D565: COrder_Attack::CheckForTargetInRange(CUnit&) (action_attack.cpp:372)
==22938==    by 0x45E0CF: COrder_Attack::Execute(CUnit&) (action_attack.cpp:685)
==22938==    by 0x46F1C5: HandleUnitAction (actions.cpp:396)
==22938==    by 0x46F1C5: UnitActionsEachCycle<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (actions.cpp:487)
==22938==    by 0x46F1C5: UnitActions() (actions.cpp:517)
==22938==    by 0x4EE233: GameLogicLoop (mainloop.cpp:256)
==22938==    by 0x4EE233: SingleGameLoop (mainloop.cpp:390)
==22938==    by 0x4EE233: GameMainLoop() (mainloop.cpp:427)
==22938==    by 0x49980E: StartMap(std::string const&, bool) (game.cpp:164)
==22938== 
==22938== 
==22938== HEAP SUMMARY:
==22938==     in use at exit: 189,120,979 bytes in 71,247 blocks
==22938==   total heap usage: 24,794,636 allocs, 24,723,389 frees, 1,819,493,720 bytes allocated
==22938== 
==22938== LEAK SUMMARY:
==22938==    definitely lost: 3,444,408 bytes in 610 blocks
==22938==    indirectly lost: 18,451,365 bytes in 7,013 blocks
==22938==      possibly lost: 10,845,378 bytes in 11,314 blocks
==22938==    still reachable: 156,379,828 bytes in 52,310 blocks
==22938==         suppressed: 0 bytes in 0 blocks
==22938== Rerun with --leak-check=full to see details of leaked memory
==22938== 
==22938== For counts of detected and suppressed errors, rerun with: -v
==22938== Use --track-origins=yes to see where uninitialised values come from
==22938== ERROR SUMMARY: 26363 errors from 8 contexts (suppressed: 0 from 0)

Segfault in HitUnit

Ubuntu 15.04 x86_64
Wyrmgus db86a1a, Wyrmsun 08498a9f3b5a9614ae01190c36365b9ef8769b2e.

I was playing custom game when the crash occured. Backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000766f2f in HitUnit (attacker=0x0, target=..., damage=1, missile=
    0x0, show_damage=false)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:3492
3492            if (attacker->Type->BoolFlag[PREDATOR_INDEX].value) { //stop predators so that they can consume the corpse
(gdb) bt
#0  0x0000000000766f2f in HitUnit (attacker=0x0, target=..., damage=1, 
    missile=0x0, show_damage=false)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:3492
#1  0x000000000058d958 in HandleBurnAndPoison (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:328
#2  0x000000000058da14 in HandleBuffsEachSecond (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:352
#3  0x000000000058e31e in UnitActionsEachSecond<__gnu_cxx::__normal_iterator<CUnit**, std::vector<CUnit*> > > (begin=, end=)
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:430
#4  0x000000000058e15e in UnitActions ()
    at /home/kroartem/SVN/Wyrmgus/src/action/actions.cpp:523
#5  0x00000000006b3052 in GameLogicLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:400
#6  0x00000000006b353b in SingleGameLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:562
#7  0x00000000006b35eb in GameMainLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:599
#8  0x00000000005d67c8 in StartMap (filename="~save/autosave.sav.gz", 
    clean=false) at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:173
#9  0x00000000005e2c32 in StartSavedGame (filename="~save/autosave.sav.gz")
    at /home/kroartem/SVN/Wyrmgus/src/game/savegame.cpp:219
#10 0x00000000007c1dd7 in tolua_stratagus_StartSavedGame00 (tolua_S=0x1a7df80)
---Type <return> to continue, or q <return> to quit---
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:1122
#11 0x00007ffff7bb6220 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#12 0x00007ffff7bc0d8a in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#13 0x00007ffff7bb667d in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#14 0x00007ffff7bb595e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#15 0x00007ffff7bb67eb in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#16 0x00007ffff7bb245c in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#17 0x00000000006be84f in LuaCall (narg=0, clear=1, exitOnError=true)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:168
#18 0x00000000006beb8f in LuaLoadFile (file="scripts/guichan.lua")
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:225
#19 0x00000000006e7f26 in MenuLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:305
#20 0x00000000006e88a6 in stratagusMain (argc=1, argv=0x7fffffffdf48)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:787
#21 0x00000000006b1fec in main (argc=1, argv=0x7fffffffdf48)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/main.cpp:37

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.