Last active
August 29, 2015 14:28
-
-
Save RX14/2970b38c0f9cd5458f59 to your computer and use it in GitHub Desktop.
Crystal segfault
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Program received signal SIGSEGV, Segmentation fault. | |
0x08067886 in *Pointer(UInt8)@Pointer(T)#[]<Pointer(UInt8), Int32>:UInt8 () | |
(gdb) bt | |
#0 0x08067886 in *Pointer(UInt8)@Pointer(T)#[]<Pointer(UInt8), Int32>:UInt8 () | |
#1 0x080630ae in *String#unsafe_byte_at<String, Int32>:UInt8 () | |
#2 0x080799c8 in *CharReader#byte_at<CharReader, Int32>:UInt32 () | |
#3 0x080795eb in *CharReader#decode_current_char<CharReader>:Char () | |
#4 0x0807959d in *CharReader#initialize<CharReader, String>:Char () | |
#5 0x0807951e in *CharReader::new<String>:CharReader () | |
#6 0x0806578e in *String#inspect<String, String::Builder>:String::Builder () | |
#7 0x080656e8 in *String@Object#inspect<String>:String () | |
#8 0x08083c49 in *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder () | |
#9 0x08083ac8 in *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String () | |
#10 0x080802f6 in *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder () | |
#11 0x0807ffe8 in *FastIrc::Message@Object#inspect<FastIrc::Message>:String () | |
#12 0x08086d2a in *Spec::EqualExpectation(FastIrc::Message)@Spec::EqualExpectation(T)#failure_message<Spec::EqualExpectation(FastIrc::Message)>:String () | |
#13 0x0807f337 in *FastIrc::Message@Spec::ObjectExtensions#should<FastIrc::Message, Spec::EqualExpectation(FastIrc::Message), String, Int32>:Nil () | |
#14 0x0805004c in __crystal_main () | |
#15 0x0805a7fb in main () |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ valgrind .crystal/crystal-run-spec.tmp | |
==16120== Memcheck, a memory error detector | |
==16120== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. | |
==16120== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info | |
==16120== Command: .crystal/crystal-run-spec.tmp | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x41944CC: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4195446: GC_push_current_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4190D3E: GC_with_callee_saves_pushed (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41957CD: GC_push_regs_and_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419589D: GC_push_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4194A75: GC_mark_some (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418A44D: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418AED7: GC_try_to_collect_inner (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41972AD: GC_init (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x8061CB3: *GC::init:Void (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A783: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x41944D2: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4195446: GC_push_current_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4190D3E: GC_with_callee_saves_pushed (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41957CD: GC_push_regs_and_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419589D: GC_push_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4194A75: GC_mark_some (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418A44D: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418AED7: GC_try_to_collect_inner (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41972AD: GC_init (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x8061CB3: *GC::init:Void (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A783: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x41944CC: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419450B: GC_push_all_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4195742: GC_push_all_stack_sections (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419E839: GC_push_all_stacks (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4198173: GC_default_push_other_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41958AE: GC_push_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4194A75: GC_mark_some (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418A44D: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418AED7: GC_try_to_collect_inner (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41972AD: GC_init (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x8061CB3: *GC::init:Void (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A783: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x41944D2: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419450B: GC_push_all_stack (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4195742: GC_push_all_stack_sections (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x419E839: GC_push_all_stacks (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4198173: GC_default_push_other_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41958AE: GC_push_roots (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x4194A75: GC_mark_some (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418A44D: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x418AED7: GC_try_to_collect_inner (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x41972AD: GC_init (in /usr/lib/libgc.so.1.0.3) | |
==16120== by 0x8061CB3: *GC::init:Void (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A783: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x808238A: *FastIrc::Prefix#target<FastIrc::Prefix>:String? (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083B5D: *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083AC7: *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80802F5: *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807FFE7: *FastIrc::Message@Object#inspect<FastIrc::Message>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8086D29: *Spec::EqualExpectation(FastIrc::Message)@Spec::EqualExpectation(T)#failure_message<Spec::EqualExpectation(FastIrc::Message)>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807F336: *FastIrc::Message@Spec::ObjectExtensions#should<FastIrc::Message, Spec::EqualExpectation(FastIrc::Message), String, Int32>:Nil (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805004B: __crystal_main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A7FA: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Conditional jump or move depends on uninitialised value(s) | |
==16120== at 0x8083B7C: *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083AC7: *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80802F5: *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807FFE7: *FastIrc::Message@Object#inspect<FastIrc::Message>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8086D29: *Spec::EqualExpectation(FastIrc::Message)@Spec::EqualExpectation(T)#failure_message<Spec::EqualExpectation(FastIrc::Message)>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807F336: *FastIrc::Message@Spec::ObjectExtensions#should<FastIrc::Message, Spec::EqualExpectation(FastIrc::Message), String, Int32>:Nil (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805004B: __crystal_main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x805A7FA: main (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Use of uninitialised value of size 4 | |
==16120== at 0x8067886: *Pointer(UInt8)@Pointer(T)#[]<Pointer(UInt8), Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80630AD: *String#unsafe_byte_at<String, Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80799C7: *CharReader#byte_at<CharReader, Int32>:UInt32 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80795EA: *CharReader#decode_current_char<CharReader>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807959C: *CharReader#initialize<CharReader, String>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807951D: *CharReader::new<String>:CharReader (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x806578D: *String#inspect<String, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80656E7: *String@Object#inspect<String>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083C48: *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083AC7: *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80802F5: *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807FFE7: *FastIrc::Message@Object#inspect<FastIrc::Message>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== | |
==16120== Invalid read of size 1 | |
==16120== at 0x8067886: *Pointer(UInt8)@Pointer(T)#[]<Pointer(UInt8), Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80630AD: *String#unsafe_byte_at<String, Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80799C7: *CharReader#byte_at<CharReader, Int32>:UInt32 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80795EA: *CharReader#decode_current_char<CharReader>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807959C: *CharReader#initialize<CharReader, String>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807951D: *CharReader::new<String>:CharReader (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x806578D: *String#inspect<String, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80656E7: *String@Object#inspect<String>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083C48: *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083AC7: *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80802F5: *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807FFE7: *FastIrc::Message@Object#inspect<FastIrc::Message>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== Address 0x16 is not stack'd, malloc'd or (recently) free'd | |
==16120== | |
==16120== | |
==16120== Process terminating with default action of signal 11 (SIGSEGV) | |
==16120== Access not within mapped region at address 0x16 | |
==16120== at 0x8067886: *Pointer(UInt8)@Pointer(T)#[]<Pointer(UInt8), Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80630AD: *String#unsafe_byte_at<String, Int32>:UInt8 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80799C7: *CharReader#byte_at<CharReader, Int32>:UInt32 (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80795EA: *CharReader#decode_current_char<CharReader>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807959C: *CharReader#initialize<CharReader, String>:Char (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807951D: *CharReader::new<String>:CharReader (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x806578D: *String#inspect<String, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80656E7: *String@Object#inspect<String>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083C48: *FastIrc::Prefix#inspect<FastIrc::Prefix, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x8083AC7: *FastIrc::Prefix@Object#inspect<FastIrc::Prefix>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x80802F5: *FastIrc::Message#inspect<FastIrc::Message, String::Builder>:String::Builder (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== by 0x807FFE7: *FastIrc::Message@Object#inspect<FastIrc::Message>:String (in /data/programming/fast-irc.cr/.crystal/crystal-run-spec.tmp) | |
==16120== If you believe this happened as a result of a stack | |
==16120== overflow in your program's main thread (unlikely but | |
==16120== possible), you can try to increase the size of the | |
==16120== main thread stack using the --main-stacksize= flag. | |
==16120== The main thread stack size used in this run was 8388608. | |
==16120== | |
==16120== HEAP SUMMARY: | |
==16120== in use at exit: 5,548 bytes in 10 blocks | |
==16120== total heap usage: 14 allocs, 4 frees, 6,064 bytes allocated | |
==16120== | |
==16120== LEAK SUMMARY: | |
==16120== definitely lost: 0 bytes in 0 blocks | |
==16120== indirectly lost: 0 bytes in 0 blocks | |
==16120== possibly lost: 0 bytes in 0 blocks | |
==16120== still reachable: 5,548 bytes in 10 blocks | |
==16120== suppressed: 0 bytes in 0 blocks | |
==16120== Rerun with --leak-check=full to see details of leaked memory | |
==16120== | |
==16120== For counts of detected and suppressed errors, rerun with: -v | |
==16120== Use --track-origins=yes to see where uninitialised values come from | |
==16120== ERROR SUMMARY: 238 errors from 8 contexts (suppressed: 0 from 0) | |
[1] 16120 segmentation fault (core dumped) valgrind .crystal/crystal-run-spec.tmp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment