brimdata / super

A novel data lake based on super-structured data
https://zed.brimdata.io/
BSD 3-Clause "New" or "Revised" License
1.39k stars 64 forks source link

zar zq failure: couldn't read trailer: expected 397 bytes but read 101 #1730

Closed marktwallace closed 3 years ago

marktwallace commented 3 years ago

I get this on the master branch today, running latest on an ec2 instance.

To reproduce this, you can zar import data from s3://brim-sampledata . You can substitute your own bucket for the -R parameter.

First:

$ zar import -s 100MB -R s3://zqd-demo-1/mark/zeek-logs/dns s3://brim-sampledata/wrccdc/zeek-logs/dns.log.gz $ export ZAR_ROOT=s3://zqd-demo-1/mark/zeek-logs/dns $ zar zq -t "count()" s3://zqd-demo-1/mark/zeek-logs/dns/zd/20180324/ts-1l78gr080Ay6KnVt5ec8ZBLbne1.zng: couldn't read trailer: expected 427 bytes but read 101

The expected and read number change each time you run zar zq.

I'm pretty sure this is a regression, since it is based on test scripts I was running successfully in October.

alfred-landrum commented 3 years ago

When I try to reproduce this (using master on commit c79d61881e123044ca3f590f9468788de3acc43f ), I see a different error, a panic during the import:

07:46 $ export ZAR_ROOT=s3://zqd-demo-1/alfred/1730
✔ ~/tmp
14:02 $  zar import -s 100MB s3://brim-sampledata/wrccdc/zeek-logs/dns.log.gz
panic: runtime error: invalid memory address or nil pointer dereference
    panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x15b5966]

goroutine 82 [running]:
github.com/brimsec/zq/proc/spill.(*MergeSort).Cleanup(0x0)
    /Users/alfred/work/zq/proc/spill/merge.go:53 +0x26
panic(0x1818840, 0x1ec01c0)
    /usr/local/Cellar/go/1.15.5/libexec/src/runtime/panic.go:969 +0x1b9
github.com/brimsec/zq/proc/spill.(*MergeSort).Len(...)
    /Users/alfred/work/zq/proc/spill/merge.go:119
github.com/brimsec/zq/proc/spill.(*MergeSort).Read(0x0, 0x0, 0x0, 0x0)
    /Users/alfred/work/zq/proc/spill/merge.go:94 +0x26
github.com/brimsec/zq/zbuf.CopyWithContext(0x1a78360, 0xc00173de00, 0x1a66f20, 0xc00011a600, 0x1a670e0, 0x0, 0x0, 0xc0000371c5)
    /Users/alfred/work/zq/zbuf/zbuf.go:59 +0x59
github.com/brimsec/zq/ppl/archive.(*tsDirWriter).flush(0xc04a56a0c0, 0x0, 0x0)
    /Users/alfred/work/zq/ppl/archive/import.go:332 +0x365
github.com/brimsec/zq/ppl/archive.(*Writer).flushStaleWriters(0xc000fdb580, 0xc011f11ec8, 0x2)
    /Users/alfred/work/zq/ppl/archive/import.go:156 +0x327
github.com/brimsec/zq/ppl/archive.(*Writer).flusher(0xc000fdb580, 0x0, 0x0)
    /Users/alfred/work/zq/ppl/archive/import.go:132 +0x138
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc001814cf0, 0xc0017c7f00)
    /Users/alfred/src/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x59
created by golang.org/x/sync/errgroup.(*Group).Go
    /Users/alfred/src/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x66