Program terminated with signal SIGABRT, Aborted. #0 0x00007fc25da7fcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) fr 5 #5 SelectQuery::process_query (this=0x7fc2280838c0) at controller/src/query_engine/select.cc:451 451 controller/src/query_engine/select.cc: No such file or directory. (gdb) p it $1 = {timestamp = 1456238548036787, info = std::vector of length 2, capacity 2 = {{which_ = 1, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<32ul, 8ul>> = {data_ = { buf = "\250\060\177(\302\177\000\000\275\066\346c\274\353^Cd\000\000\000\000\000\000\000\060\241\000(\302\177\000", align_ = {<No data fields>}}}, static size = <optimized out>, static alignment = <optimized out>}}, { which_ = 4, storage_ = {<boost::detail::aligned_storage::aligned_storage_imp<32ul, 8ul>> = {data_ = {buf = "\024:`\211f{H\266\265e\331䔉\275]", '\000' <repeats 15 times>, align_ = {<No data fields>}}}, static size = <optimized out>, static alignment = <optimized out>}}}} (gdb) p json_string $2 = "{\"Source|s\":\"csol1-node11\",\"cpu_info.cpu_share|d\":inf,\"cpu_info.mem_res|n\":0,\"cpu_info.mem_virt|n\":32703,\"cpu_info.one_min_cpuload|d\":6.9397e-310,\"cpu_info.used_sys_mem|n\":1545655913,\"name|s\":\"csol1-n"... (gdb) p d $3 = {<rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >> = {static kDefaultArrayCapacity = <optimized out>, static kDefaultObjectCapacity = <optimized out>, data_ = {s = { str = 0x7fc22844e340 "\230\342D(\302\177", length = 7, hashcode = 7}, n = {i = {i = 675603264, padding = "\302\177\000"}, u = {u = 675603264, padding2 = "\302\177\000"}, i64 = 140471875986240, u64 = 140471875986240, d = 6.9402328131673157e-310}, o = {members = 0x7fc22844e340, size = 7, capacity = 7}, a = {elements = 0x7fc22844e340, size = 7, capacity = 7}}, flags_ = 0}, static kDefaultStackCapacity = <optimized out>, stack_ = { allocator_ = 0x7fc228003150, own_allocator_ = 0x7fc228003150, stack_ = 0x7fc22844de98 "", stack_top_ = 0x7fc22844de98 "", stack_end_ = 0x7fc22844e298 "Source|s", stack_capacity_ = 1024}, parseError_ = 0x6cae30 "Expect a value here.", errorOffset_ = 50} (gdb) set print elements 0 (gdb) p json_string $4 = "{\"Source|s\":\"csol1-node11\",\"cpu_info.cpu_share|d\":inf,\"cpu_info.mem_res|n\":0,\"cpu_info.mem_virt|n\":32703,\"cpu_info.one_min_cpuload|d\":6.9397e-310,\"cpu_info.used_sys_mem|n\":1545655913,\"name|s\":\"csol1-node11\"}" (gdb) p d.parseError_ $5 = 0x6cae30 "Expect a value here."
The json_string is invalid => \"cpu_info.cpu_share|d\":inf iterating the json document without checking for parse error resulted in crash.
Program terminated with signal SIGABRT, Aborted. sysdeps/ unix/sysv/ linux/raise. c:56 sysdeps/ unix/sysv/ linux/raise. c: No such file or directory. :process_ query (this=0x7fc2280 838c0) at controller/ src/query_ engine/ select. cc:451 src/query_ engine/ select. cc: No such file or directory. :detail: :aligned_ storage: :aligned_ storage_ imp<32ul, 8ul>> = {data_ = { 177(\302\ 177\000\ 000\275\ 066\346c\ 274\353^ Cd\000\ 000\000\ 000\000\ 000\000\ 060\241\ 000(\302\ 177\000" , align_ = {<No data fields>}}}, static size = <optimized out>, static alignment = <optimized out>}}, { :detail: :aligned_ storage: :aligned_ storage_ imp<32ul, 8ul>> = {data_ = {buf = "\024:` \211f{H\ 266\265e\ 331䔉\275] ", '\000' <repeats 15 times>, align_ = {<No data fields>}}}, s\":\"csol1- node11\ ",\"cpu_ info.cpu_ share|d\ ":inf,\ "cpu_info. mem_res| n\":0,\ "cpu_info. mem_virt| n\":32703, \"cpu_info. one_min_ cpuload| d\":6.9397e- 310,\"cpu_ info.used_ sys_mem| n\":1545655913, \"name| s\":\"csol1- n"... :GenericValue< rapidjson: :UTF8<char> , rapidjson: :MemoryPoolAllo cator<rapidjson ::CrtAllocator> >> = {static kDefaultArrayCa pacity = <optimized out>, static kDefaultObjectC apacity = <optimized out>, data_ = {s = { \302\177" , length = 7, hashcode = 7}, n = {i = {i = 675603264, padding = "\302\177\000"}, u = {u = 675603264, padding2 = "\302\177\000"}, i64 = 140471875986240, u64 = 140471875986240, 157e-310} , o = {members = 0x7fc22844e340, size = 7, capacity = 7}, a = {elements = 0x7fc22844e340, size = 7, capacity = 7}}, flags_ = 0}, static kDefaultStackCa pacity = <optimized out>, stack_ = { s\":\"csol1- node11\ ",\"cpu_ info.cpu_ share|d\ ":inf,\ "cpu_info. mem_res| n\":0,\ "cpu_info. mem_virt| n\":32703, \"cpu_info. one_min_ cpuload| d\":6.9397e- 310,\"cpu_ info.used_ sys_mem| n\":1545655913, \"name| s\":\"csol1- node11\ "}"
#0 0x00007fc25da7fcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/
56 ../nptl/
(gdb) fr 5
#5 SelectQuery:
451 controller/
(gdb) p it
$1 = {timestamp = 1456238548036787, info = std::vector of length 2, capacity 2 = {{which_ = 1, storage_ = {<boost:
buf = "\250\060\
which_ = 4, storage_ = {<boost:
static size = <optimized out>, static alignment = <optimized out>}}}}
(gdb) p json_string
$2 = "{\"Source|
(gdb) p d
$3 = {<rapidjson:
str = 0x7fc22844e340 "\230\342D(
d = 6.9402328131673
allocator_ = 0x7fc228003150, own_allocator_ = 0x7fc228003150, stack_ = 0x7fc22844de98 "", stack_top_ = 0x7fc22844de98 "", stack_end_ = 0x7fc22844e298 "Source|s", stack_capacity_ = 1024},
parseError_ = 0x6cae30 "Expect a value here.", errorOffset_ = 50}
(gdb) set print elements 0
(gdb) p json_string
$4 = "{\"Source|
(gdb) p d.parseError_
$5 = 0x6cae30 "Expect a value here."
The json_string is invalid => \"cpu_info. cpu_share| d\":inf
iterating the json document without checking for parse error resulted in crash.