Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created April 4, 2018 14:56
Show Gist options
  • Save dogbert17/82210e043431ccd739394614cb8a3fd6 to your computer and use it in GitHub Desktop.
Save dogbert17/82210e043431ccd739394614cb8a3fd6 to your computer and use it in GitHub Desktop.
One of [Tux]'s csv test files triggering a SEGV
dogbert@dogbert-VirtualBox ~/repos/CSV $ perl6-gdb-m t/90_csv.t
================================================================================================
This is Rakudo Perl 6 running in the GNU debugger, which often allows the user to generate useful back-
traces to debug or report issues in Rakudo, the MoarVM backend or the currently running code.
This Rakudo version is 2018.03.158.g.74.b.755992 built on MoarVM version 2018.03.75.g.156.a.7.a.6.ff,
running on ubuntu (14.04.3.LTS.Trusty.Tahr) / linux (3.19.0.32.generic)
Type `bt full` to generate a backtrace if applicable, type `q` to quit or `help` for help.
------------------------------------------------------------------------------------------------
Reading symbols from /home/dogbert/.rakudobrew/moar-master/install/bin/moar...done.
Starting program: /home/dogbert/.rakudobrew/moar-master/install/bin/moar --execname=/home/dogbert/.rakudobrew/bin/../moar-master/install/bin/perl6-gdb-m --libpath=/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib --libpath=/home/dogbert/.rakudobrew/moar-master/install/share/perl6/lib --libpath=/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime /home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm t/90_csv.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb7385b40 (LWP 17496)]
[New Thread 0xb48ffb40 (LWP 17497)]
[New Thread 0xb3d8bb40 (LWP 17498)]
ok 1 - Class (Str) _90in.csv
ok 2 - AoA should have 3 rows
ok 3 - Content
ok 4 - Class (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 5 - AoA should have 3 rows
ok 6 - Content
ok 7 - Class (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 8 - AoA should have 3 rows
ok 9 - Content
ok 10 - Class (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 11 - AoA should have 3 rows
ok 12 - Content
ok 13 - Class (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 14 - AoA should have 3 rows
ok 15 - Content
ok 16 - Class (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 17 - AoA should have 3 rows
ok 18 - Content
ok 19 - Class (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 20 - AoA should have 3 rows
ok 21 - Content
ok 22 - Class (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 23 - AoA should have 3 rows
ok 24 - Content
ok 25 - Class (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 26 - AoA should have 3 rows
ok 27 - Content
ok 28 - Class (Supply) Supply.new
ok 29 - AoA should have 3 rows
ok 30 - Content
ok 31 - Class (Channel) Channel.new
ok 32 - AoA should have 3 rows
ok 33 - Content
ok 34 - Method (Str) _90in.csv
ok 35 - AoA should have 3 rows
ok 36 - Content
ok 37 - Method (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 38 - AoA should have 3 rows
ok 39 - Content
ok 40 - Method (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 41 - AoA should have 3 rows
ok 42 - Content
ok 43 - Method (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 44 - AoA should have 3 rows
ok 45 - Content
ok 46 - Method (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 47 - AoA should have 3 rows
ok 48 - Content
ok 49 - Method (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 50 - AoA should have 3 rows
ok 51 - Content
ok 52 - Method (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 53 - AoA should have 3 rows
ok 54 - Content
ok 55 - Method (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 56 - AoA should have 3 rows
ok 57 - Content
ok 58 - Method (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 59 - AoA should have 3 rows
ok 60 - Content
ok 61 - Method (Supply) Supply.new
ok 62 - AoA should have 3 rows
ok 63 - Content
ok 64 - Method (Channel) Channel.new
ok 65 - AoA should have 3 rows
ok 66 - Content
ok 67 - Sub (Str) _90in.csv
ok 68 - AoA should have 3 rows
ok 69 - Content
ok 70 - Sub (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 71 - AoA should have 3 rows
ok 72 - Content
ok 73 - Sub (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 74 - AoA should have 3 rows
ok 75 - Content
ok 76 - Sub (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 77 - AoA should have 3 rows
ok 78 - Content
ok 79 - Sub (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 80 - AoA should have 3 rows
ok 81 - Content
ok 82 - Sub (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 83 - AoA should have 3 rows
ok 84 - Content
ok 85 - Sub (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 86 - AoA should have 3 rows
ok 87 - Content
ok 88 - Sub (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 89 - AoA should have 3 rows
ok 90 - Content
ok 91 - Sub (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 92 - AoA should have 3 rows
ok 93 - Content
ok 94 - Sub (Supply) Supply.new
ok 95 - AoA should have 3 rows
ok 96 - Content
ok 97 - Sub (Channel) Channel.new
ok 98 - AoA should have 3 rows
ok 99 - Content
ok 100 - Sub/Obj (Str) _90in.csv
ok 101 - AoA should have 3 rows
ok 102 - Content
ok 103 - Sub/Obj (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 104 - AoA should have 3 rows
ok 105 - Content
ok 106 - Sub/Obj (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 107 - AoA should have 3 rows
ok 108 - Content
ok 109 - Sub/Obj (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 110 - AoA should have 3 rows
ok 111 - Content
ok 112 - Sub/Obj (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 113 - AoA should have 3 rows
ok 114 - Content
ok 115 - Sub/Obj (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 116 - AoA should have 3 rows
ok 117 - Content
ok 118 - Sub/Obj (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 119 - AoA should have 3 rows
ok 120 - Content
ok 121 - Sub/Obj (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 122 - AoA should have 3 rows
ok 123 - Content
ok 124 - Sub/Obj (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 125 - AoA should have 3 rows
ok 126 - Content
ok 127 - Sub/Obj (Supply) Supply.new
ok 128 - AoA should have 3 rows
ok 129 - Content
ok 130 - Sub/Obj (Channel) Channel.new
ok 131 - AoA should have 3 rows
ok 132 - Content
ok 133 - csv => Str (Str) _90in.csv
ok 134 - csv => Str (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 135 - csv => Str (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 136 - csv => Str (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 137 - csv => Str (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 138 - csv => Str (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 139 - csv => Str (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 140 - csv => Str (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 141 - csv => Str (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 142 - csv => Str (Supply) Supply.new
ok 143 - csv => Str (Channel) Channel.new
ok 144 - Fragment, row
ok 145 - Fragment, col
ok 146 - Fragment, cell
ok 147 - csv => Array (Str) _90in.csv
ok 148 - csv => Array (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 149 - csv => Array (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 150 - csv => Array (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 151 - csv => Array (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 152 - csv => Array (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
ok 153 - csv => Array (Array of Hash) [{bar => 1, baz => 2, foo => 3} {bar => 2, baz => a b, foo => }]
ok 154 - csv => Array (Sub) sub provider () { \#`(Sub|186875904) ... }
ok 155 - csv => Array (Block) -> ;; $_? is raw { \#`(Block|195628568) ... }
ok 156 - csv => Array (Supply) Supply.new
ok 157 - csv => Array (Channel) Channel.new
ok 158 - csv => Hash (Str) _90in.csv
ok 159 - csv => Hash (Handle) IO::Handle<"_90in.csv".IO>(opened)
ok 160 - csv => Hash (Capture) \("bar,baz,foo\r\n1,2,3\r\n2,a b,\r\n")
ok 161 - csv => Hash (Array of Str) [bar,baz,foo\n1,2,3\n2,a b,\n]
ok 162 - csv => Hash (Array of Str) [bar,baz,foo 1,2,3 2,a b,]
ok 163 - csv => Hash (Array of Array) [[bar baz foo] [1 2 3] [2 a b ]]
Program received signal SIGSEGV, Segmentation fault.
0xb7b4f641 in MVM_repr_clone (tc=0x804d618, obj=0x0) at src/6model/reprconv.c:30
30 if (IS_CONCRETE(obj)) {
(gdb) bt
#0 0xb7b4f641 in MVM_repr_clone (tc=0x804d618, obj=0x0) at src/6model/reprconv.c:30
#1 0xb7b04c54 in MVM_frame_vivify_lexical (tc=0x804d618, f=0xb73c8088, idx=11) at src/core/frame.c:1225
#2 0xb7afa26d in MVM_interp_run (tc=0x804d618, initial_invoke=0xb7c217a9 <toplevel_initial_invoke>, invoke_data=0x809bcf0) at src/core/interp.c:5407
#3 0xb7c21908 in MVM_vm_run_file (instance=0x804d008, filename=0xbffff2b2 "/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm") at src/moar.c:407
#4 0x080492d0 in main (argc=7, argv=0xbfffef74) at src/main.c:299
(gdb) info threads
Id Target Id Frame
4 Thread 0xb3d8bb40 (LWP 17498) "moar" 0xb7fdccb0 in ?? ()
3 Thread 0xb48ffb40 (LWP 17497) "moar" 0xb7fdccb0 in ?? ()
2 Thread 0xb7385b40 (LWP 17496) "moar" 0xb7fdccb0 in ?? ()
* 1 Thread 0xb77ea940 (LWP 17492) "moar" 0xb7b4f641 in MVM_repr_clone (tc=0x804d618, obj=0x0) at src/6model/reprconv.c:30
(gdb) p MVM_dump_backtrace(tc)
at SETTING::src/core/hash_slice.pm6:15 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm:postcircumfix:<{ }>)
from site#sources/E1BEA6997D18B86C222A3609F6839424963755AC (File::Temp):21 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/E1/E1BEA6997D18B86C222A3609F6839424963755AC:)
from SETTING::src/core/Lock.pm6:25 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm:protect)
from site#sources/E1BEA6997D18B86C222A3609F6839424963755AC (File::Temp):20 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/E1/E1BEA6997D18B86C222A3609F6839424963755AC:)
from site#sources/E1BEA6997D18B86C222A3609F6839424963755AC (File::Temp):18 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/E1/E1BEA6997D18B86C222A3609F6839424963755AC:)
from site#sources/E1BEA6997D18B86C222A3609F6839424963755AC (File::Temp):17 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/E1/E1BEA6997D18B86C222A3609F6839424963755AC:DESTROY)
from gen/moar/BOOTSTRAP.nqp:3414 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/Perl6/BOOTSTRAP.moarvm:)
from SETTING::src/core/Str.pm6:1076 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm:match)
from SETTING::src/core/Str.pm6:950 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/CORE.setting.moarvm:match)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1720 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1719 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1715 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1713 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1706 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:CSV)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1966 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:csv)
from site#sources/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40 (Text::CSV):1972 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/site/precomp/0C941578455F6F99D4C25EC66AC91DC12BAE9390/5D/5D1F6B1BE93CAF75E747AF0222CA78BCD8A5CD40:csv)
from t/90_csv.t:139 (<ephemeral file>:)
from t/90_csv.t:138 (<ephemeral file>:<unit>)
from t/90_csv.t:1 (<ephemeral file>:<unit-outer>)
from gen/moar/stage2/NQPHLL.nqp:1585 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1822 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/NQPHLL.moarvm:evalfiles)
from gen/moar/stage2/NQPHLL.nqp:1714 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/NQPHLL.moarvm:command_eval)
from src/Perl6/Compiler.nqp:42 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/Perl6/Compiler.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:1673 (/home/dogbert/.rakudobrew/moar-master/install/share/nqp/lib/NQPHLL.moarvm:command_line)
from gen/moar/main.nqp:47 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm:MAIN)
from gen/moar/main.nqp:38 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm:<mainline>)
from <unknown>:1 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm:<main>)
from <unknown>:1 (/home/dogbert/.rakudobrew/moar-master/install/share/perl6/runtime/perl6.moarvm:<entry>)
$1 = void
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment