google / zoekt

Fast trigram based code search
1.67k stars 113 forks source link

Zoekt crash #108

Closed hanwen closed 4 years ago

hanwen commented 4 years ago

somehow we get a nil query:

}
log.Panicf("type %T", q)
return nil, nil

2020/01/25 16:01:04 type 2020/01/25 16:01:04 crashed shard: shard(/zoekt-serving/index/github.com%2Fbazelbuild%2Fsandboxfs_v15.00000.zoekt): type , goroutine 18506948 [running]: runtime/debug.Stack(0xc76d9bf100, 0xc76a18e8c0, 0x4f) /usr/lib/google-golang/src/runtime/debug/stack.go:24 +0x9d github.com/google/zoekt/shards.searchOneShard.func1(0xa6e1c0, 0xc76d9bf100, 0xc76d74fb00) /usr/local/google/home/hanwen/vc/zoekt/shards/shards.go:227 +0x9c panic(0x91c2e0, 0xc76dd0fdf0) /usr/lib/google-golang/src/runtime/panic.go:679 +0x1b2 log.Panicf(0x9c909d, 0x7, 0xc055f3b3d8, 0x1, 0x1) /usr/lib/google-golang/src/log/log.go:345 +0xc0 github.com/google/zoekt.(indexData).newMatchTree(0xc1c4a1c400, 0x0, 0x0, 0xc76ba2e8e0, 0x18, 0xc76ba2e8e0, 0x18) /usr/local/google/home/hanwen/vc/zoekt/matchtree.go:607 +0x404 github.com/google/zoekt.(indexData).newMatchTree(0xc1c4a1c400, 0xa64660, 0xc76dd0fb80, 0x1, 0x2, 0xc76dd1b000, 0x1) /usr/local/google/home/hanwen/vc/zoekt/matchtree.go:546 +0x12de github.com/google/zoekt.(indexData).newMatchTree(0xc1c4a1c400, 0xa64660, 0xc76dd0fb90, 0xa6cc00, 0xc76dd1b020, 0x0, 0x0) /usr/local/google/home/hanwen/vc/zoekt/matchtree.go:546 +0x12de github.com/google/zoekt.(indexData).newMatchTree(0xc1c4a1c400, 0xa645e0, 0xc76dd1a900, 0xa645e0, 0xc76dd1a900, 0x1, 0x1) /usr/local/google/home/hanwen/vc/zoekt/matchtree.go:528 +0x51a github.com/google/zoekt.(indexData).Search(0xc1c4a1c400, 0xa6dd00, 0xc76d74fb60, 0xa645e0, 0xc76dd1a760, 0xc76c349f00, 0x0, 0x0, 0x0) /usr/local/google/home/hanwen/vc/zoekt/eval.go:120 +0x3a6 github.com/google/zoekt/shards.searchOneShard(0xa6dd00, 0xc76d74fb60, 0xa6e1c0, 0xc76d9bf100, 0xa645e0, 0xc76c800ec0, 0xc76c349f00, 0xc76d74fb00) /usr/local/google/home/hanwen/vc/zoekt/shards/shards.go:235 +0xe1 github.com/google/zoekt/shards.(shardedSearcher).Search.func2(0xc76d74fbc0, 0xc76d784970, 0xa645e0, 0xc76c800ec0, 0xc76c349f00, 0xc76d74fb00) /usr/local/google/home/hanwen/vc/zoekt/shards/shards.go:169 +0x8f created by github.com/google/zoekt/shards.(*shardedSearcher).Search /usr/local/google/home/hanwen/vc/zoekt/shards/shards.go:167 +0x602

hanwen commented 4 years ago

this was some vuln scanner. Failing query:

https://cs.bazel.build/search?num=7290&q=r%3Abazel%20%5Ba-d%5D%2B%5Be-h%5D%2B%5Bw-z%5D%2B1111111111111%20UNION%20SELECT%20CHAR(45,120,49,45,81,45),CHAR(45,120,50,45,81,45)%20--%20