cznic / exp Goto Github PK
View Code? Open in Web Editor NEWgithub.com/cznic/exp has moved to modernc.org/exp
Home Page: https://godoc.org/modernc.org/exp
github.com/cznic/exp has moved to modernc.org/exp
Home Page: https://godoc.org/modernc.org/exp
lldb commit bacccb2
ql commit 4091083ba6a77128c16327ce0b2e2cfe8599e33f
jnml@r550:~/src/github.com/cznic/ql$ time go test -bench . -race -timeout 24h -cpu 1,2,4
PASS
BenchmarkSelectMem1kBx1e2 5000 335254 ns/op 298281.12 MB/s
BenchmarkSelectMem1kBx1e2-2 5000 320026 ns/op 312474.57 MB/s
BenchmarkSelectMem1kBx1e2-4 5000 331976 ns/op 301225.89 MB/s
...
BenchmarkCrossJoinFile1e2NoX1e1-4 500 5450806 ns/op 1467.67 MB/s
BenchmarkCrossJoinFile1e2X1e1 1000 1895028 ns/op 4221.57 MB/s
BenchmarkCrossJoinFile1e2X1e1-2 ==================
WARNING: DATA RACE
Read by goroutine 23:
github.com/cznic/exp/lldb.(*RollbackFiler).ReadAt()
/home/jnml/src/github.com/cznic/exp/lldb/xact.go:521 +0x54
github.com/cznic/exp/lldb.(*ACIDFiler0).ReadAt()
/home/jnml/src/github.com/cznic/exp/lldb/2pc.go:1 +0x8b
github.com/cznic/exp/lldb.(*Allocator).read()
/home/jnml/src/github.com/cznic/exp/lldb/falloc.go:951 +0x8c
github.com/cznic/exp/lldb.(*Allocator).Get()
/home/jnml/src/github.com/cznic/exp/lldb/falloc.go:683 +0x656
github.com/cznic/exp/lldb.btree.seek()
/home/jnml/src/github.com/cznic/exp/lldb/btree.go:2199 +0x147
github.com/cznic/exp/lldb.(*BTree).seek()
/home/jnml/src/github.com/cznic/exp/lldb/btree.go:335 +0x2a9
github.com/cznic/exp/lldb.(*BTree).Seek()
/home/jnml/src/github.com/cznic/exp/lldb/btree.go:315 +0x92
github.com/cznic/ql.(*fileIndex).Seek()
/home/jnml/src/github.com/cznic/ql/file.go:1200 +0x1ab
github.com/cznic/ql.(*whereRset).tryBinOp()
/home/jnml/src/github.com/cznic/ql/ql.go:516 +0x6cb
github.com/cznic/ql.(*whereRset).tryUseIndex()
/home/jnml/src/github.com/cznic/ql/ql.go:689 +0x11b8
github.com/cznic/ql.(*whereRset).do()
/home/jnml/src/github.com/cznic/ql/ql.go:722 +0x138
github.com/cznic/ql.(*selectRset).do()
/home/jnml/src/github.com/cznic/ql/ql.go:898 +0x6fb
github.com/cznic/ql.(*selectStmt).do()
/home/jnml/src/github.com/cznic/ql/stmt.go:484 +0x78
github.com/cznic/ql.func·025()
/home/jnml/src/github.com/cznic/ql/ql.go:1224 +0x40d
github.com/cznic/ql.(*crossJoinRset).do()
/home/jnml/src/github.com/cznic/ql/ql.go:1226 +0x80f
github.com/cznic/ql.(*selectRset).do()
/home/jnml/src/github.com/cznic/ql/ql.go:864 +0x2ad
github.com/cznic/ql.(*DB).do()
/home/jnml/src/github.com/cznic/ql/ql.go:1785 +0x225
github.com/cznic/ql.recordset.Do()
/home/jnml/src/github.com/cznic/ql/ql.go:99 +0x9f
github.com/cznic/ql.(*recordset).Do()
/home/jnml/src/github.com/cznic/ql/blob.go:1 +0xdc
github.com/cznic/ql.benchmarkCrossJoin()
/home/jnml/src/github.com/cznic/ql/all_test.go:1844 +0xf82
github.com/cznic/ql.benchmarkCrossJoinFile()
/home/jnml/src/github.com/cznic/ql/all_test.go:1893 +0x5ac
github.com/cznic/ql.BenchmarkCrossJoinFile1e2X1e1()
/home/jnml/src/github.com/cznic/ql/all_test.go:1975 +0x4b
testing.(*B).runN()
/home/jnml/go/src/pkg/testing/benchmark.go:119 +0xc0
testing.(*B).launch()
/home/jnml/go/src/pkg/testing/benchmark.go:207 +0x1ba
Previous write by goroutine 20:
github.com/cznic/exp/lldb.(*RollbackFiler).EndUpdate()
/home/jnml/src/github.com/cznic/exp/lldb/xact.go:472 +0x1dc
github.com/cznic/exp/lldb.(*ACIDFiler0).EndUpdate()
/home/jnml/src/github.com/cznic/exp/lldb/2pc.go:1 +0x5b
github.com/cznic/ql.(*file).Commit()
/home/jnml/src/github.com/cznic/ql/file.go:717 +0xa3
github.com/cznic/ql.(*DB).timeout()
/home/jnml/src/github.com/cznic/ql/ql.go:1714 +0x104
github.com/cznic/ql.*DB.(github.com/cznic/ql.timeout)·fm()
/home/jnml/src/github.com/cznic/ql/ql.go:1671 +0x33
runtime.gosched0()
?:0 +0xaf
os.(*File).WriteAt()
/home/jnml/go/src/pkg/os/file.go:160 +0xec
github.com/cznic/exp/lldb.(*OSFiler).WriteAt()
/home/jnml/src/github.com/cznic/exp/lldb/osfiler.go:129 +0x1b4
github.com/cznic/exp/lldb.(*InnerFiler).WriteAt()
/home/jnml/src/github.com/cznic/exp/lldb/filer.go:191 +0x1f7
github.com/cznic/exp/lldb.func·002()
/home/jnml/src/github.com/cznic/exp/lldb/2pc.go:172 +0x7b5
github.com/cznic/exp/lldb.(*RollbackFiler).EndUpdate()
/home/jnml/src/github.com/cznic/exp/lldb/xact.go:491 +0x371
github.com/cznic/exp/lldb.(*ACIDFiler0).EndUpdate()
/home/jnml/src/github.com/cznic/exp/lldb/2pc.go:1 +0x5b
github.com/cznic/ql.(*file).Commit()
/home/jnml/src/github.com/cznic/ql/file.go:717 +0xa3
github.com/cznic/ql.(*DB).timeout()
/home/jnml/src/github.com/cznic/ql/ql.go:1714 +0x104
github.com/cznic/ql.*DB.(github.com/cznic/ql.timeout)·fm()
/home/jnml/src/github.com/cznic/ql/ql.go:1671 +0x33
Goroutine 23 (running) created at:
testing.(*B).run()
/home/jnml/go/src/pkg/testing/benchmark.go:170 +0x3c
testing.RunBenchmarks()
/home/jnml/go/src/pkg/testing/benchmark.go:303 +0x695
testing.Main()
/home/jnml/go/src/pkg/testing/testing.go:411 +0x1e4
testing.runExample()
/home/jnml/go/src/pkg/testing/example.go:98 +0x4e5
testing.RunExamples()
/home/jnml/go/src/pkg/testing/example.go:36 +0x2f7
testing.Main()
/home/jnml/go/src/pkg/testing/testing.go:404 +0xe4
main.main()
github.com/cznic/ql/_test/_testmain.go:329 +0xdc
Goroutine 20 (running) created at:
time.goFunc()
/home/jnml/go/src/pkg/time/sleep.go:123 +0x55
==================
--- FAIL: BenchmarkCrossJoinFile1e2X1e1-2
all_test.go:1845: Error, off: 0xd0, EOF
BenchmarkCrossJoinFile1e2X1e1-4 1000 1850207 ns/op 4323.84 MB/s
BenchmarkCrossJoinFile1e3NoX1e2 5 331323330 ns/op 2444.74 MB/s
BenchmarkCrossJoinFile1e3NoX1e2-2 5 334071044 ns/op 2424.63 MB/s
BenchmarkCrossJoinFile1e3NoX1e2-4 5 334680907 ns/op 2420.22 MB/s
BenchmarkCrossJoinFile1e3X1e2 50 61281066 ns/op 13217.79 MB/s
BenchmarkCrossJoinFile1e3X1e2-2 50 60735363 ns/op 13336.55 MB/s
BenchmarkCrossJoinFile1e3X1e2-4 50 60517227 ns/op 13384.62 MB/s
BenchmarkCrossJoinFile1e4NoX1e3 1 49052124848 ns/op 2179.56 MB/s
BenchmarkCrossJoinFile1e4NoX1e3-2 1 49296038181 ns/op 2168.77 MB/s
BenchmarkCrossJoinFile1e4NoX1e3-4 1 49065576124 ns/op 2178.96 MB/s
BenchmarkCrossJoinFile1e4X1e3 1 5437764549 ns/op 19661.02 MB/s
BenchmarkCrossJoinFile1e4X1e3-2 1 5268351488 ns/op 20293.25 MB/s
BenchmarkCrossJoinFile1e4X1e3-4 1 5131618378 ns/op 20833.97 MB/s
Found 1 data race(s)
exit status 66
FAIL github.com/cznic/ql 7531.251s
$
go version devel +eeb3547ccd1b Tue Feb 04 11:53:13 2014 -0800 linux/amd64
exp commit: 6017180e3b896f7456d3777822883869296fdf3d
--- FAIL: TestFilerNesting (0.00 seconds)
filer_test.go:100: /tmp/lldb-test-file579927411
filer_test.go:107: /tmp/lldb-test-file032489014
filer_test.go:119: /tmp/lldb-test-file604776477
filer_test.go:128: /tmp/lldb-test-file554511576
filer_test.go:100: /tmp/lldb-test-osfile541635159
filer_test.go:107: /tmp/lldb-test-osfile310435274
filer_test.go:119: /tmp/lldb-test-osfile147011233
filer_test.go:128: /tmp/lldb-test-osfile419791244
filer_test.go:100: 0xc20ec66880.memfiler
filer_test.go:107: 0xc20ec66900.memfiler
filer_test.go:119: 0xc20ec669c0.memfiler
filer_test.go:128: 0xc20ec66a80.memfiler
panic: nil [recovered]
panic: test executed panic(nil) or runtime.Goexit
goroutine 46 [running]:
runtime.panic(0x5eb7e0, 0xc20ece2460)
/home/mpl/gotip/src/pkg/runtime/panic.c:250 +0xb4
testing.func·005()
/home/mpl/gotip/src/pkg/testing/testing.go:392 +0x150
runtime.panic(0x0, 0x0)
/home/mpl/gotip/src/pkg/runtime/panic.c:232 +0x110
github.com/cznic/exp/lldb.func·006(0xc20ec66a80, 0x0)
/home/mpl/gocode/src/github.com/cznic/exp/lldb/filer_test.go:83 +0x28f
github.com/cznic/exp/lldb.testFilerNesting(0xc20ed58240, 0x685440)
/home/mpl/gocode/src/github.com/cznic/exp/lldb/filer_test.go:99 +0x31
github.com/cznic/exp/lldb.TestFilerNesting(0xc20ed58240)
/home/mpl/gocode/src/github.com/cznic/exp/lldb/filer_test.go:94 +0x85
testing.tRunner(0xc20ed58240, 0xad99b0)
/home/mpl/gotip/src/pkg/testing/testing.go:398 +0x8b
created by testing.RunTests
/home/mpl/gotip/src/pkg/testing/testing.go:479 +0x978
goroutine 16 [chan receive]:
testing.RunTests(0x6857c8, 0xad9740, 0x2e, 0x2e, 0x1)
/home/mpl/gotip/src/pkg/testing/testing.go:480 +0x9a8
testing.Main(0x6857c8, 0xad9740, 0x2e, 0x2e, 0xada6e0, ...)
/home/mpl/gotip/src/pkg/testing/testing.go:411 +0x8c
main.main()
/tmp/go-build115088548/github.com/cznic/exp/lldb/_test/_testmain.go:291
+0x9c
goroutine 17 [syscall, 1 minutes]:
runtime.goexit()
/home/mpl/gotip/src/pkg/runtime/proc.c:1438
goroutine 21 [finalizer wait, 1 minutes]:
runtime.park(0x418900, 0xafd878, 0xad9fa1)
/home/mpl/gotip/src/pkg/runtime/proc.c:1364 +0x66
runtime.parkunlock(0xafd878, 0xad9fa1)
/home/mpl/gotip/src/pkg/runtime/proc.c:1380 +0x3b
runfinq()
/home/mpl/gotip/src/pkg/runtime/mgc0.c:2335 +0x7a
runtime.goexit()
/home/mpl/gotip/src/pkg/runtime/proc.c:1438
exit status 2
FAIL github.com/cznic/exp/lldb 102.104s
Patch ready, now going to test with tip.
@cznic I use a array to creat a sub-array, and calle it's Dump function. It dumps all informations from root array.
Hi, I'm testing camlistore, and after some camput-ting, it panics:
2013/09/20 15:58:48 http: panic serving 127.0.0.1:35186: runtime error: invalid memory address or nil pointer dereference
goroutine 1718 [running]:
net/http.func·007()
/usr/lib/go/src/pkg/net/http/server.go:1022 +0xac
camlistore.org/pkg/blobserver/diskpacked.func·001()
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/pkg/blobserver/diskpacked/diskpacked.go:339 +0xd7
camlistore.org/third_party/github.com/cznic/exp/lldb.(_lst).remove()
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/falloc.go:1861 +0xa
camlistore.org/third_party/github.com/cznic/exp/lldb.(_lst).removeBack(0xc200163ab8, 0x1c)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/falloc.go:1876 +0x2e
camlistore.org/third_party/github.com/cznic/exp/lldb.(_Allocator).cadd(0xc2001639a0, 0xc2002c3e7b, 0x22, 0x22, 0x53, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/falloc.go:380 +0x10e
camlistore.org/third_party/github.com/cznic/exp/lldb.(_Allocator).Alloc(0xc2001639a0, 0xc2002c3e7b, 0x22, 0x22, 0x53, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/falloc.go:420 +0x1f6
camlistore.org/third_party/github.com/cznic/exp/lldb.btreeDataPage.setContent(0xc200bf90cd, 0x2f8, 0x20151, 0xc200282bc0, 0xc2001639a0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:1272 +0x50a
camlistore.org/third_party/github.com/cznic/exp/lldb.btreeDataPage.setKey(0xc200bf9000, 0x3c5, 0x2021e, 0xc200282bc0, 0xc2001639a0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:1308 +0xa9
camlistore.org/third_party/github.com/cznic/exp/lldb.btreeDataPage.insertItem(0xc200bf9000, 0x3c5, 0x2021e, 0xc200282bc0, 0xc2001639a0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:1350 +0x1aa
camlistore.org/third_party/github.com/cznic/exp/lldb.btree.put2(0x1, 0xc200f04000, 0x1010f, 0x2021e, 0xc200282bc0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:1888 +0xecf
camlistore.org/third_party/github.com/cznic/exp/lldb.btree.put(0x1, 0xc200f04000, 0x1010f, 0x2021e, 0xc200282bc0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:1784 +0x122
camlistore.org/third_party/github.com/cznic/exp/lldb.(_BTree).Set(0xc2001c4000, 0xc2002c3e70, 0x2d, 0x2d, 0xc200776140, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/exp/lldb/btree.go:429 +0x1ca
camlistore.org/third_party/github.com/cznic/kv.(_DB).Set(0xc200176a50, 0xc2002c3e70, 0x2d, 0x2d, 0xc200776140, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/third_party/github.com/cznic/kv/kv.go:756 +0xcb
camlistore.org/pkg/index/kvfile.(_kvis).Set(0xc20011f790, 0xc2002c3e40, 0x2d, 0xc200776120, 0x11, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/pkg/index/kvfile/kvfile.go:84 +0xc3
camlistore.org/pkg/blobserver/diskpacked.(_storage).finishAppend(0xc200181510, 0xc200231940, 0xc2007763c0, 0x12523, 0x12523, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/pkg/blobserver/diskpacked/diskpacked.go:342 +0x28e
camlistore.org/pkg/blobserver/diskpacked.(_storage).append(0xc2001566c0, 0xc200231940, 0xc2007763c0, 0x12523, 0xc20056b5a0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/pkg/blobserver/diskpacked/diskpacked.go:385 +0x5d2
camlistore.org/pkg/blobserver/diskpacked.(_storage).ReceiveBlob(0xc2001566c0, 0xc200231940, 0xc2007763c0, 0xc20056bbd0, 0xc2003c57e0, ...)
/home/tgulacsi/src/camlistore.org/tmp/build-gopath/src/camlistore.org/pkg/blobserver/diskpacked/diskpacked.go:293 +0x1a0
It seems that l.back is nil. Any ideas?
https://github.com/cznic/exp/blob/master/lldb/2pc.go#L246
if fi.Size()%16 != 0 {
return err
}
should be e.g. return errors.New(whatever_msg)
As i see lldb uses zappy for compression, does it possible to get compressor via interface to get ability to use different compressor for data (i want to try lz4)...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.