Skip to content

Instantly share code, notes, and snippets.

@singalen
Last active March 25, 2018 08:17
Show Gist options
  • Save singalen/f8be614501cdb4dbde6e535021a8e22b to your computer and use it in GitHub Desktop.
Save singalen/f8be614501cdb4dbde6e535021a8e22b to your computer and use it in GitHub Desktop.
wesnoth 1.10 iOS crash: stack-use-after-scope
void write_key_val_visitor::operator()(t_string const &value) const
{
bool first = true;
// Crashes:
for (t_string::walker w(value); !w.eos(); w.next())
// Doesn't crash:
for (t_string::walker w(value.get()); !w.eos(); w.next())
// ...
}
=================================================================
==51789==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00014ed93b50 at pc 0x000103d61b34 bp 0x00016d1acb70 sp 0x00016d1acb68
READ of size 8 at 0x00014ed93b50 thread T0
#0 0x103d61b33 in write_key_val_visitor::operator()(t_string const&) const (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111b33)
#1 0x103d62183 in write_key_val(std::ostream&, std::string const&, config::attribute_value const&, unsigned int, std::string&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112183)
#2 0x103d62ee3 in write_internal(config const&, std::ostream&, std::string&, unsigned long) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112ee3)
#3 0x103d62f5f in write_internal(config const&, std::ostream&, std::string&, unsigned long) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112f5f)
#4 0x103d62be7 in write(std::ostream&, config const&, unsigned int) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112be7)
#5 0x103130eaf in game_config::config_cache::write_file(std::string, config const&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e0eaf)
#6 0x103133b8f in game_config::config_cache::read_cache(std::string const&, config&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e3b8f)
#7 0x103130867 in game_config::config_cache::load_configs(std::string const&, config&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e0867)
#8 0x1032aac07 in game_controller::load_game_cfg(bool) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10065ac07)
#9 0x1032a9d83 in game_controller::init_config(bool) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x100659d83)
#10 0x1032c9973 in game_controller::init_config() (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x100679973)
#11 0x1033d815f in SDL_main (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10078815f)
#12 0x10427beb7 in -[SDLUIKitDelegate postFinishLaunch] (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10162beb7)
#13 0x183f5bd57 in __NSFireDelayedPerform (/System/Library/Frameworks/Foundation.framework/Foundation:arm64+0xf6d57)
#14 0x18351fdbf in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xebdbf)
#15 0x18351fae3 in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xebae3)
#16 0x18351f2e3 in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xeb2e3)
#17 0x18351cecb in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xe8ecb)
#18 0x18343cc57 in CFRunLoopRunSpecific (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0x8c57)
#19 0x1852e8f83 in GSEventRunModal (/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices:arm64+0xaf83)
#20 0x18cb955c3 in UIApplicationMain (/System/Library/Frameworks/UIKit.framework/UIKit:arm64+0x735c3)
#21 0x10427ba43 in main (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10162ba43)
#22 0x182f5c56b in <redacted> (/usr/lib/system/libdyld.dylib:arm64+0x156b)
Address 0x00014ed93b50 is located in stack of thread T0 at offset 336 in frame
#0 0x103d61017 in write_key_val_visitor::operator()(t_string const&) const (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111017)
This frame has 18 object(s):
[32, 33) '__c.addr.i151'
[48, 49) 'ref.tmp.i.i.i'
[64, 65) '__c.addr.i136'
[80, 81) '__c.addr.i133'
[96, 97) '__c.addr.i128'
[112, 113) '__c.addr.i125'
[128, 129) '__c.addr.i116'
[144, 145) '__c.addr.i'
[160, 161) 'ref.tmp.i.i100'
[176, 177) 'ref.tmp.i.i91'
[192, 193) 'ref.tmp.i.i81'
[208, 209) 'ref.tmp.i.i'
[224, 225) 'ref.tmp.i.i.i.i70'
[240, 241) 'ref.tmp.i.i.i.i'
[256, 296) 'w' (line 452)
[336, 360) 'ref.tmp' (line 452) <== Memory access at offset 336 is inside this variable
[400, 401) 'ref.tmp10' (line 454)
[416, 424) 'ref.tmp53' (line 474)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111b33) in write_key_val_visitor::operator()(t_string const&) const
Shadow bytes around the buggy address:
0x000131f12710: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f12720: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f12730: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f12740: f1 f1 f1 f1 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
0x000131f12750: f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
=>0x000131f12760: 00 00 00 00 00 f2 f2 f2 f2 f2[f8]f8 f8 f2 f2 f2
0x000131f12770: f2 f2 f8 f2 f8 f3 f3 f3 00 00 00 00 00 00 00 00
0x000131f12780: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f12790: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f127a0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x000131f127b0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
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
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
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
Left alloca redzone: ca
Right alloca redzone: cb
2018-03-24 18:54:18.696838-0700 battleforwesnoth[51789:7981400] =================================================================
2018-03-24 18:54:18.696925-0700 battleforwesnoth[51789:7981400] ==51789==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00014ed93b50 at pc 0x000103d61b34 bp 0x00016d1acb70 sp 0x00016d1acb68
2018-03-24 18:54:18.696972-0700 battleforwesnoth[51789:7981400] READ of size 8 at 0x00014ed93b50 thread T0
2018-03-24 18:54:18.697014-0700 battleforwesnoth[51789:7981400] #0 0x103d61b33 in write_key_val_visitor::operator()(t_string const&) const (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111b33)
2018-03-24 18:54:18.697316-0700 battleforwesnoth[51789:7981400] #1 0x103d62183 in write_key_val(std::ostream&, std::string const&, config::attribute_value const&, unsigned int, std::string&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112183)
2018-03-24 18:54:18.697364-0700 battleforwesnoth[51789:7981400] #2 0x103d62ee3 in write_internal(config const&, std::ostream&, std::string&, unsigned long) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112ee3)
2018-03-24 18:54:18.697406-0700 battleforwesnoth[51789:7981400] #3 0x103d62f5f in write_internal(config const&, std::ostream&, std::string&, unsigned long) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112f5f)
2018-03-24 18:54:18.697445-0700 battleforwesnoth[51789:7981400] #4 0x103d62be7 in write(std::ostream&, config const&, unsigned int) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101112be7)
2018-03-24 18:54:18.697648-0700 battleforwesnoth[51789:7981400] #5 0x103130eaf in game_config::config_cache::write_file(std::string, config const&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e0eaf)
2018-03-24 18:54:18.697710-0700 battleforwesnoth[51789:7981400] #6 0x103133b8f in game_config::config_cache::read_cache(std::string const&, config&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e3b8f)
2018-03-24 18:54:18.697754-0700 battleforwesnoth[51789:7981400] #7 0x103130867 in game_config::config_cache::load_configs(std::string const&, config&) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x1004e0867)
2018-03-24 18:54:18.697955-0700 battleforwesnoth[51789:7981400] #8 0x1032aac07 in game_controller::load_game_cfg(bool) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10065ac07)
2018-03-24 18:54:18.698002-0700 battleforwesnoth[51789:7981400] #9 0x1032a9d83 in game_controller::init_config(bool) (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x100659d83)
2018-03-24 18:54:18.698091-0700 battleforwesnoth[51789:7981400] #10 0x1032c9973 in game_controller::init_config() (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x100679973)
2018-03-24 18:54:18.698134-0700 battleforwesnoth[51789:7981400] #11 0x1033d815f in SDL_main (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10078815f)
2018-03-24 18:54:18.698659-0700 battleforwesnoth[51789:7981400] #12 0x10427beb7 in -[SDLUIKitDelegate postFinishLaunch] (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10162beb7)
2018-03-24 18:54:18.698724-0700 battleforwesnoth[51789:7981400] #13 0x183f5bd57 in __NSFireDelayedPerform (/System/Library/Frameworks/Foundation.framework/Foundation:arm64+0xf6d57)
2018-03-24 18:54:18.698769-0700 battleforwesnoth[51789:7981400] #14 0x18351fdbf in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xebdbf)
2018-03-24 18:54:18.698808-0700 battleforwesnoth[51789:7981400] #15 0x18351fae3 in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xebae3)
2018-03-24 18:54:18.698846-0700 battleforwesnoth[51789:7981400] #16 0x18351f2e3 in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xeb2e3)
2018-03-24 18:54:18.698884-0700 battleforwesnoth[51789:7981400] #17 0x18351cecb in <redacted> (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0xe8ecb)
2018-03-24 18:54:18.699000-0700 battleforwesnoth[51789:7981400] #18 0x18343cc57 in CFRunLoopRunSpecific (/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation:arm64+0x8c57)
2018-03-24 18:54:18.699076-0700 battleforwesnoth[51789:7981400] #19 0x1852e8f83 in GSEventRunModal (/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices:arm64+0xaf83)
2018-03-24 18:54:18.699123-0700 battleforwesnoth[51789:7981400] #20 0x18cb955c3 in UIApplicationMain (/System/Library/Frameworks/UIKit.framework/UIKit:arm64+0x735c3)
2018-03-24 18:54:18.699164-0700 battleforwesnoth[51789:7981400] #21 0x10427ba43 in main (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x10162ba43)
2018-03-24 18:54:18.699205-0700 battleforwesnoth[51789:7981400] #22 0x182f5c56b in <redacted> (/usr/lib/system/libdyld.dylib:arm64+0x156b)
2018-03-24 18:54:18.699438-0700 battleforwesnoth[51789:7981400]
2018-03-24 18:54:18.699476-0700 battleforwesnoth[51789:7981400] Address 0x00014ed93b50 is located in stack of thread T0 at offset 336 in frame
2018-03-24 18:54:18.699516-0700 battleforwesnoth[51789:7981400] #0 0x103d61017 in write_key_val_visitor::operator()(t_string const&) const (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111017)
2018-03-24 18:54:18.699555-0700 battleforwesnoth[51789:7981400]
2018-03-24 18:54:18.699585-0700 battleforwesnoth[51789:7981400] This frame has 18 object(s):
2018-03-24 18:54:18.699622-0700 battleforwesnoth[51789:7981400] [32, 33) '__c.addr.i151'
2018-03-24 18:54:18.699658-0700 battleforwesnoth[51789:7981400] [48, 49) 'ref.tmp.i.i.i'
2018-03-24 18:54:18.699694-0700 battleforwesnoth[51789:7981400] [64, 65) '__c.addr.i136'
2018-03-24 18:54:18.699729-0700 battleforwesnoth[51789:7981400] [80, 81) '__c.addr.i133'
2018-03-24 18:54:18.699977-0700 battleforwesnoth[51789:7981400] [96, 97) '__c.addr.i128'
2018-03-24 18:54:18.700018-0700 battleforwesnoth[51789:7981400] [112, 113) '__c.addr.i125'
2018-03-24 18:54:18.700054-0700 battleforwesnoth[51789:7981400] [128, 129) '__c.addr.i116'
2018-03-24 18:54:18.700089-0700 battleforwesnoth[51789:7981400] [144, 145) '__c.addr.i'
2018-03-24 18:54:18.700125-0700 battleforwesnoth[51789:7981400] [160, 161) 'ref.tmp.i.i100'
2018-03-24 18:54:18.700184-0700 battleforwesnoth[51789:7981400] [176, 177) 'ref.tmp.i.i91'
2018-03-24 18:54:18.700227-0700 battleforwesnoth[51789:7981400] [192, 193) 'ref.tmp.i.i81'
2018-03-24 18:54:18.700265-0700 battleforwesnoth[51789:7981400] [208, 209) 'ref.tmp.i.i'
2018-03-24 18:54:18.700302-0700 battleforwesnoth[51789:7981400] [224, 225) 'ref.tmp.i.i.i.i70'
2018-03-24 18:54:18.700380-0700 battleforwesnoth[51789:7981400] [240, 241) 'ref.tmp.i.i.i.i'
2018-03-24 18:54:18.703421-0700 battleforwesnoth[51789:7981400] [256, 296) 'w' (line 452)
2018-03-24 18:54:18.703541-0700 battleforwesnoth[51789:7981400] [336, 360) 'ref.tmp' (line 452) <== Memory access at offset 336 is inside this variable
2018-03-24 18:54:18.703589-0700 battleforwesnoth[51789:7981400] [400, 401) 'ref.tmp10' (line 454)
2018-03-24 18:54:18.703628-0700 battleforwesnoth[51789:7981400] [416, 424) 'ref.tmp53' (line 474)
2018-03-24 18:54:18.703667-0700 battleforwesnoth[51789:7981400] HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
2018-03-24 18:54:18.703706-0700 battleforwesnoth[51789:7981400] (longjmp and C++ exceptions *are* supported)
2018-03-24 18:54:18.703747-0700 battleforwesnoth[51789:7981400] SUMMARY: AddressSanitizer: stack-use-after-scope (/var/containers/Bundle/Application/23C746D5-C872-450E-A777-65C71807DA86/battleforwesnoth.app/battleforwesnoth:arm64+0x101111b33) in write_key_val_visitor::operator()(t_string const&) const
2018-03-24 18:54:18.705103-0700 battleforwesnoth[51789:7981400] Shadow bytes around the buggy address:
2018-03-24 18:54:18.705186-0700 battleforwesnoth[51789:7981400] 0x000131f12710: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705231-0700 battleforwesnoth[51789:7981400] 0x000131f12720: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705271-0700 battleforwesnoth[51789:7981400] 0x000131f12730: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705310-0700 battleforwesnoth[51789:7981400] 0x000131f12740: f1 f1 f1 f1 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
2018-03-24 18:54:18.705348-0700 battleforwesnoth[51789:7981400] 0x000131f12750: f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
2018-03-24 18:54:18.705385-0700 battleforwesnoth[51789:7981400] =>0x000131f12760: 00 00 00 00 00 f2 f2 f2 f2 f2[f8]f8 f8 f2 f2 f2
2018-03-24 18:54:18.705422-0700 battleforwesnoth[51789:7981400] 0x000131f12770: f2 f2 f8 f2 f8 f3 f3 f3 00 00 00 00 00 00 00 00
2018-03-24 18:54:18.705716-0700 battleforwesnoth[51789:7981400] 0x000131f12780: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705759-0700 battleforwesnoth[51789:7981400] 0x000131f12790: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705797-0700 battleforwesnoth[51789:7981400] 0x000131f127a0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705895-0700 battleforwesnoth[51789:7981400] 0x000131f127b0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
2018-03-24 18:54:18.705942-0700 battleforwesnoth[51789:7981400] Shadow byte legend (one shadow byte represents 8 application bytes):
2018-03-24 18:54:18.705996-0700 battleforwesnoth[51789:7981400] Addressable: 00
2018-03-24 18:54:18.706036-0700 battleforwesnoth[51789:7981400] Partially addressable: 01 02 03 04 05 06 07
2018-03-24 18:54:18.706074-0700 battleforwesnoth[51789:7981400] Heap left redzone: fa
2018-03-24 18:54:18.706110-0700 battleforwesnoth[51789:7981400] Freed heap region: fd
2018-03-24 18:54:18.706659-0700 battleforwesnoth[51789:7981400] Stack left redzone: f1
2018-03-24 18:54:18.706718-0700 battleforwesnoth[51789:7981400] Stack mid redzone: f2
2018-03-24 18:54:18.706755-0700 battleforwesnoth[51789:7981400] Stack right redzone: f3
2018-03-24 18:54:18.706791-0700 battleforwesnoth[51789:7981400] Stack after return: f5
2018-03-24 18:54:18.706827-0700 battleforwesnoth[51789:7981400] Stack use after scope: f8
2018-03-24 18:54:18.706862-0700 battleforwesnoth[51789:7981400] Global redzone: f9
2018-03-24 18:54:18.706897-0700 battleforwesnoth[51789:7981400] Global init order: f6
2018-03-24 18:54:18.706932-0700 battleforwesnoth[51789:7981400] Poisoned by user: f7
2018-03-24 18:54:18.706966-0700 battleforwesnoth[51789:7981400] Container overflow: fc
2018-03-24 18:54:18.707033-0700 battleforwesnoth[51789:7981400] Array cookie: ac
2018-03-24 18:54:18.707116-0700 battleforwesnoth[51789:7981400] Intra object redzone: bb
2018-03-24 18:54:18.707527-0700 battleforwesnoth[51789:7981400] ASan internal: fe
2018-03-24 18:54:18.707568-0700 battleforwesnoth[51789:7981400] Left alloca redzone: ca
2018-03-24 18:54:18.707604-0700 battleforwesnoth[51789:7981400] Right alloca redzone: cb
2018-03-24 18:54:18.707641-0700 battleforwesnoth[51789:7981400]
==51789==ABORTING
#6 0x0000000103d61b30 in std::string::_M_rep() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk/usr/include/c++/4.2.1/bits/basic_string.h:288
#7 0x0000000103d61b30 in std::string::size() const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk/usr/include/c++/4.2.1/bits/basic_string.h:606
#8 0x0000000103d61b30 in t_string_base::walker::eos() const [inlined] at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/../battleforwesnoth/battleforwesnoth/tstring.hpp:43
#9 0x0000000103d61b20 in write_key_val_visitor::operator()(t_string const&) const at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/serialization/parser.cpp:452
#10 0x0000000103d62184 in boost::detail::variant::invoke_visitor<write_key_val_visitor const>::result_type boost::variant<boost::blank, bool, double, std::string, t_string, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor_impl<boost::detail::variant::invoke_visitor<write_key_val_visitor const>, void const*>(int, int, boost::detail::variant::invoke_visitor<write_key_val_visitor const>&, void const*) [inlined] at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/../lib/boost_1_44_0/boost/variant/variant.hpp:1771
#11 0x0000000103d62174 in boost::detail::variant::invoke_visitor<write_key_val_visitor const>::result_type boost::variant<boost::blank, bool, double, std::string, t_string, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::invoke_visitor<write_key_val_visitor const> >(boost::detail::variant::invoke_visitor<write_key_val_visitor const>&) const [inlined] at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/../lib/boost_1_44_0/boost/variant/variant.hpp:1796
#12 0x0000000103d62150 in write_key_val_visitor const::result_type boost::variant<boost::blank, bool, double, std::string, t_string, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_>::apply_visitor<write_key_val_visitor const>(write_key_val_visitor const&) const [inlined] at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/../lib/boost_1_44_0/boost/variant/variant.hpp:1820
#13 0x0000000103d6213c in write_key_val_visitor::result_type boost::apply_visitor<write_key_val_visitor, boost::variant<boost::blank, bool, double, std::string, t_string, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const>(write_key_val_visitor const&, boost::variant<boost::blank, bool, double, std::string, t_string, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) [inlined] at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/../lib/boost_1_44_0/boost/variant/detail/apply_visitor_unary.hpp:76
#14 0x0000000103d6213c in write_key_val(std::ostream&, std::string const&, config::attribute_value const&, unsigned int, std::string&) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/serialization/parser.cpp:487
#15 0x0000000103d62ee4 in write_internal(config const&, std::ostream&, std::string&, unsigned long) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/serialization/parser.cpp:507
#16 0x0000000103d62f60 in write_internal(config const&, std::ostream&, std::string&, unsigned long) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/serialization/parser.cpp:513
#17 0x0000000103d62be8 in write(std::ostream&, config const&, unsigned int) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/serialization/parser.cpp:521
#18 0x0000000103130eb0 in game_config::config_cache::write_file(std::string, config const&) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/config_cache.cpp:99
#19 0x0000000103133b90 in game_config::config_cache::read_cache(std::string const&, config&) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/config_cache.cpp:238
#20 0x0000000103130868 in game_config::config_cache::load_configs(std::string const&, config&) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/config_cache.cpp:285
#21 0x00000001032aac08 in game_controller::load_game_cfg(bool) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/game_controller.cpp:1170
#22 0x00000001032a9d84 in game_controller::init_config(bool) at /Users/vic/src/wesnoth/wesnoth_ios/battleforwesnoth/battleforwesnoth/game_controller.cpp:294
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment