{"action":"opened","issue":{"url":"https://api.github.com/repos/chitin-io/chitin/issues/6","labels_url":"https://api.github.com/repos/chitin-io/chitin/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/chitin-io/chitin/issues/6/comments","events_url":"https://api.github.com/repos/chitin-io/chitin/issues/6/events","html_url":"https://github.com/chitin-io/chitin/issues/6","id":128052353,"number":6,"title":"Parser crashes from fuzzing","user":{"login":"tv42","id":419909,"avatar_url":"https://avatars.githubusercontent.com/u/419909?v=3","gravatar_id":"","url":"https://api.github.com/users/tv42","html_url":"https://github.com/tv42","followers_url":"https://api.github.com/users/tv42/followers","following_url":"https://api.github.com/users/tv42/following{/other_user}","gists_url":"https://api.github.com/users/tv42/gists{/gist_id}","starred_url":"https://api.github.com/users/tv42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tv42/subscriptions","organizations_url":"https://api.github.com/users/tv42/orgs","repos_url":"https://api.github.com/users/tv42/repos","events_url":"https://api.github.com/users/tv42/events{/privacy}","received_events_url":"https://api.github.com/users/tv42/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-22T00:15:59Z","updated_at":"2016-01-22T00:15:59Z","closed_at":null,"body":"[bork1.txt](https://github.com/chitin-io/chitin/files/100114/bork1.txt)\r\n\r\n```\r\n\"chitin\\tv1message 0\\tv0{slots{}\"\r\n```\r\n\r\n```\r\npanic: interface conversion: interface is nil, not parser.MatchTree\r\n\r\ngoroutine 1 [running]:\r\nchitin.io/chitin/schema.makeParser.func9(0x8349a0, 0xc8200a55a0, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/parser.go:151 +0x402\r\ngithub.com/andyleap/parser.(*Grammar).Node.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:42 +0x108\r\ngithub.com/andyleap/parser.Tag.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:203 +0xb0\r\ngithub.com/andyleap/parser.Require.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:187 +0x195\r\ngithub.com/andyleap/parser.And.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:109 +0x195\r\ngithub.com/andyleap/parser.Tag.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:203 +0xb0\r\ngithub.com/andyleap/parser.And.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:109 +0x195\r\ngithub.com/andyleap/parser.Or.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:128 +0x198\r\ngithub.com/andyleap/parser.Mult.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:151 +0x16b\r\ngithub.com/andyleap/parser.And.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:109 +0x195\r\ngithub.com/andyleap/parser.(*Grammar).Node.func1(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:40 +0x90\r\ngithub.com/andyleap/parser.(*Grammar).Parse(0xc820038ec8, 0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:52 +0x83\r\nchitin.io/chitin/schema.Parse(0x7fdc32bed268, 0xc8200dbe30, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/parser.go:13 +0x61\r\nchitin.io/chitin/schema.Fuzz(0x7fdc311aa000, 0x1d, 0x200000, 0x3)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/fuzz.go:21 +0xe9\r\ngithub.com/dvyukov/go-fuzz/go-fuzz-dep.Main(0x9f2790)\r\n\t/home/tv/go/src/github.com/dvyukov/go-fuzz/go-fuzz-dep/main.go:47 +0x14c\r\nmain.main()\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/go-fuzz-main/main.go:10 +0x23\r\n\r\ngoroutine 17 [syscall, locked to thread]:\r\nruntime.goexit()\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/runtime/asm_amd64.s:1721 +0x1\r\n```\r\n\r\n---\r\n\r\n[bork2.txt](https://github.com/chitin-io/chitin/files/100115/bork2.txt)\r\n\r\n```\r\n\"chitin\\tv1envelope\\t0{}\"\r\n```\r\n\r\n```\r\npanic: interface conversion: parser.Match is nil, not schema.Envelope\r\n\r\ngoroutine 1 [running]:\r\nchitin.io/chitin/schema.makeParser.func11(0x8349a0, 0xc8200c0c40, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/parser.go:222 +0x5c7\r\ngithub.com/andyleap/parser.(*Grammar).Node.func1(0x7f612b677700, 0xc8205141b0, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:42 +0x108\r\ngithub.com/andyleap/parser.(*Grammar).Parse(0xc8200398d8, 0x7f612b677700, 0xc8205141b0, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/github.com/andyleap/parser/parser.go:52 +0x83\r\nchitin.io/chitin/schema.Parse(0x7f612b677700, 0xc8205141b0, 0x0, 0x0, 0x0, 0x0)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/parser.go:13 +0x61\r\nchitin.io/chitin/schema.Fuzz(0x7f6129c70000, 0x15, 0x200000, 0x3)\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/chitin.io/chitin/schema/fuzz.go:21 +0xe9\r\ngithub.com/dvyukov/go-fuzz/go-fuzz-dep.Main(0x9f2790)\r\n\t/home/tv/go/src/github.com/dvyukov/go-fuzz/go-fuzz-dep/main.go:47 +0x14c\r\nmain.main()\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/go-fuzz-main/main.go:10 +0x23\r\n\r\ngoroutine 17 [syscall, locked to thread]:\r\nruntime.goexit()\r\n\t/home/tv/tmp/go-fuzz-build999057326/src/runtime/asm_amd64.s:1721 +0x1\r\n```\r\n"}}