Closed steveyen closed 9 years ago
Possible steps to reproduce (crash only happened twice in 5 attempts)...
This was with cbft 0.0.0-718-g3158f68, go version go1.4 darwin/amd64, and with jmhodges/levigo of...
commit 2c43dde93d0e056173706534afd514fcbc1dd578 Date: Wed Oct 15 03:16:00 2014 -0700 correct example in doc.go
bleve was...
commit dbf50b7f2907b4a08ebbbe75deb6fa4a7bcbd97b Date: Thu Mar 26 16:40:18 2015 -0700 KVStore gtreap allows only 1 writer at a time
Steps...
create an index of the default bucket via curl REST api...
curl -XPUT http://localhost:9090/api/index/default
From chatting with Marty Schoch, thinking the manager_janitor order of operations should be...
Instead of the current order...
Woops, didn't mean to close it, just refer to it....
Yep, that bleve fix to check for open'ness seems to have done the trick, via manual testing repeated index definition updates and no crashes...
commit 11262c7 Author: Marty Schoch marty.schoch@gmail.com Date: Fri Apr 03 2015 15:05:24 GMT-0700 (PDT) Subject: fix bug, internal ops must check that index is open possibly fixes https://github.com/couchbaselabs/cbft/issues/49
Gonna close this one then, and create a new issue for the related discovery of janitor order of operations to not forget about that.
fatal error: unexpected signal during runtime execution [signal 0xb code=0x1 addr=0xb01dfacedebac1e pc=0x4c60eda]
runtime stack: runtime.gothrow(0x47d0370, 0x2a) /usr/local/go/src/runtime/panic.go:503 +0x8e runtime.sigpanic() /usr/local/go/src/runtime/sigpanic_unix.go:14 +0x5e
goroutine 261 [syscall, locked to thread]: runtime.cgocall_errno(0x4001a00, 0xc20867b548, 0xc200000000) /usr/local/go/src/runtime/cgocall.go:130 +0xf5 fp=0xc20867b528 sp=0xc20867b500 github.com/jmhodges/levigo._Cfunc_leveldb_create_snapshot(0x58298f0, 0x0) github.com/jmhodges/levigo/_obj/_cgo_gotypes.go:152 +0x44 fp=0xc20867b548 sp=0xc20867b528 github.com/jmhodges/levigo.(_DB).NewSnapshot(0xc24f2e4698, 0xb078ef2c3) /Users/steveyen/go/src/github.com/jmhodges/levigo/db.go:299 +0x2b fp=0xc20867b570 sp=0xc20867b548 github.com/blevesearch/bleve/index/store/leveldb.newReader(0xc21f552ae0, 0x4b40120, 0x0, 0x0) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/store/leveldb/reader.go:27 +0x3e fp=0xc20867b598 sp=0xc20867b570 github.com/blevesearch/bleve/index/store/leveldb.(_Store).Reader(0xc21f552ae0, 0x0, 0x0, 0x0, 0x0) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/store/leveldb/store.go:103 +0x4c fp=0xc20867b5d8 sp=0xc20867b598 github.com/blevesearch/bleve/index/store/metrics.(_Store).Reader(0xc20a9461a0, 0x0, 0x0, 0x0, 0x0) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/store/metrics/metrics.go:139 +0x77 fp=0xc20867b658 sp=0xc20867b5d8 github.com/blevesearch/bleve/index/upside_down.(_UpsideDownCouch).Reader(0xc238496320, 0x0, 0x0, 0x0, 0x0) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/upside_down.go:648 +0x80 fp=0xc20867b708 sp=0xc20867b658 github.com/blevesearch/bleve.(_indexImpl).GetInternal(0xc232c8aee0, 0xc23482a630, 0x3, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/steveyen/go/src/github.com/blevesearch/bleve/index_impl.go:671 +0x11a fp=0xc20867b790 sp=0xc20867b708 github.com/couchbaselabs/cbft.(_BleveDestPartition).applyBatchUnlocked(0xc213e46a80, 0x0, 0x0) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/pindex_impl_bleve.go:765 +0x899 fp=0xc20867b9a8 sp=0xc20867b790 github.com/couchbaselabs/cbft.(_BleveDestPartition).updateSeqUnlocked(0xc213e46a80, 0x1637, 0x0, 0x0) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/pindex_impl_bleve.go:724 +0x222 fp=0xc20867ba30 sp=0xc20867b9a8 github.com/couchbaselabs/cbft.(_BleveDestPartition).OnDataUpdate(0xc213e46a80, 0xc20802ade8, 0x1, 0xc21332801f, 0x2e, 0x2e9d, 0x1637, 0xc21332804d, 0x2e6f, 0x2e6f, ...) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/pindex_impl_bleve.go:559 +0x1bc fp=0xc20867bb08 sp=0xc20867ba30 github.com/couchbaselabs/cbft.(_DestForwarder).OnDataUpdate(0xc235469600, 0xc20802ade8, 0x1, 0xc21332801f, 0x2e, 0x2e9d, 0x1637, 0xc21332804d, 0x2e6f, 0x2e6f, ...) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/dest_forwarder.go:48 +0x14c fp=0xc20867bba0 sp=0xc20867bb08 github.com/couchbaselabs/cbft.func·004(0x0, 0x0) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/feed_dcp.go:270 +0x15c fp=0xc20867bd00 sp=0xc20867bba0 github.com/couchbaselabs/cbft.func·027() /Users/steveyen/go/src/github.com/couchbaselabs/cbft/misc.go:198 +0x2f fp=0xc20867bd38 sp=0xc20867bd00 github.com/rcrowley/go-metrics.(_StandardTimer).Time(0xc21f553b90, 0xc208a7f6e0) /Users/steveyen/go/src/github.com/rcrowley/go-metrics/timer.go:212 +0x44 fp=0xc20867bd78 sp=0xc20867bd38 github.com/couchbaselabs/cbft.Timer(0xc2116ae960, 0x4e15ab0, 0xc21f553b90, 0x0, 0x0) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/misc.go:199 +0xf0 fp=0xc20867bda8 sp=0xc20867bd78 github.com/couchbaselabs/cbft.(_DCPFeed).DataUpdate(0xc2498ddad0, 0x2, 0xc21332801f, 0x2e, 0x2e9d, 0x1637, 0xc20bb16960, 0x0, 0x0) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/feed_dcp.go:277 +0x1fc fp=0xc20867be08 sp=0xc20867bda8 github.com/couchbase/go-couchbase/cbdatasource.func·007() /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:880 +0xfb0 fp=0xc20867bfe0 sp=0xc20867be08 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc20867bfe8 sp=0xc20867bfe0 created by github.com/couchbase/go-couchbase/cbdatasource.(_bucketDataSource).worker /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:930 +0x10c2
goroutine 1 [IO wait]: net.(_pollDesc).Wait(0xc2080caca0, 0x72, 0x0, 0x0) /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47 net.(_pollDesc).WaitRead(0xc2080caca0, 0x0, 0x0) /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43 net.(_netFD).accept(0xc2080cac40, 0x0, 0x4e12070, 0xc21e302d48) /usr/local/go/src/net/fd_unix.go:419 +0x40b net.(_TCPListener).AcceptTCP(0xc20802c4b0, 0x40a1d9e, 0x0, 0x0) /usr/local/go/src/net/tcpsock_posix.go:234 +0x4e net/http.tcpKeepAliveListener.Accept(0xc20802c4b0, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:1976 +0x4c net/http.(_Server).Serve(0xc2081640c0, 0x4e1d8f8, 0xc20802c4b0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:1728 +0x92 net/http.(_Server).ListenAndServe(0xc2081640c0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:1718 +0x154 net/http.ListenAndServe(0x7fff5fbffa15, 0xe, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/net/http/server.go:1808 +0xba main.main() /Users/steveyen/go/src/github.com/couchbaselabs/cbft/cmd/cbft/main.go:118 +0xb92
goroutine 17 [syscall, 1711 minutes, locked to thread]: runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
goroutine 5 [chan receive]: github.com/blevesearch/bleve/index/upside_down.AnalysisWorker(0xc208032120) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:40 +0x73 created by github.com/blevesearch/bleve/index/upside_down.NewAnalysisQueue /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:32 +0x66
goroutine 6 [chan receive]: github.com/blevesearch/bleve/index/upside_down.AnalysisWorker(0xc208032120) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:40 +0x73 created by github.com/blevesearch/bleve/index/upside_down.NewAnalysisQueue /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:32 +0x66
goroutine 7 [chan receive]: github.com/blevesearch/bleve/index/upside_down.AnalysisWorker(0xc208032120) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:40 +0x73 created by github.com/blevesearch/bleve/index/upside_down.NewAnalysisQueue /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:32 +0x66
goroutine 8 [chan receive]: github.com/blevesearch/bleve/index/upside_down.AnalysisWorker(0xc208032120) /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:40 +0x73 created by github.com/blevesearch/bleve/index/upside_down.NewAnalysisQueue /Users/steveyen/go/src/github.com/blevesearch/bleve/index/upside_down/analysis_pool.go:32 +0x66
goroutine 10 [syscall, 1711 minutes]: os/signal.loop() /usr/local/go/src/os/signal/signal_unix.go:21 +0x1f created by os/signal.init·1 /usr/local/go/src/os/signal/signal_unix.go:27 +0x35
goroutine 242 [select]: net/http.(_persistConn).writeLoop(0xc248f05d90) /usr/local/go/src/net/http/transport.go:945 +0x41d created by net/http.(_Transport).dialConn /usr/local/go/src/net/http/transport.go:661 +0xcbc
goroutine 12 [chan receive, 1711 minutes]: main.dumpOnSignal(0xc208016fb0, 0x1, 0x1) /Users/steveyen/go/src/github.com/couchbaselabs/cbft/cmd/cbft/main.go:200 +0xa7 main.dumpOnSignalForPlatform() /Users/steveyen/go/src/github.com/couchbaselabs/cbft/cmd/cbft/dump.go:22 +0xe3 created by main.main /Users/steveyen/go/src/github.com/couchbaselabs/cbft/cmd/cbft/main.go:80 +0x26c
goroutine 16 [chan receive, 1711 minutes]: github.com/couchbase/go-couchbase/cbdatasource.(_bucketDataSource).refreshCluster(0xc208094d80, 0xc20801cfc8) /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:527 +0x9ab github.com/couchbase/go-couchbase/cbdatasource.func·001(0xc20801cf30) /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:454 +0x2a github.com/couchbase/go-couchbase/cbdatasource.ExponentialBackoffLoop(0x4776470, 0x1b, 0xc208017fc8, 0x64, 0xc23fc00000, 0x4e20) /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:1545 +0x2e github.com/couchbase/go-couchbase/cbdatasource.func·002() /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:455 +0xbd created by github.com/couchbase/go-couchbase/cbdatasource.(_bucketDataSource).Start /Users/steveyen/go/src/github.com/couchbase/go-couchbase/cbdatasource/cbdatasource.go:460 +0x3f0
goroutine 241 [IO wait]: net.(_pollDesc).Wait(0xc23f176bc0, 0x72, 0x0, 0x0) /usr/local/go/src/net/fd_poll_runtime.go:84 +0x47 net.(_pollDesc).WaitRead(0xc23f176bc0, 0x0, 0x0) /usr/local/go/src/net/fd_poll_runtime.go:89 +0x43 net.(_netFD).Read(0xc23f176b60, 0xc239809000, 0x1000, 0x1000, 0x0, 0x4e12070, 0xc234b42368) /usr/local/go/src/net/fd_unix.go:242 +0x40f net.(_conn).Read(0xc24f2e42d0, 0xc239809000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:121 +0xdc net/http.noteEOFReader.Read(0x4e13b28, 0xc24f2e42d0, 0xc248f05de8, 0xc239809000, 0x1000, 0x1000, 0x4595a00, 0x0, 0x0) /usr/local/go/src/net/http/transport.go:1270 +0x6e net/http.(_noteEOFReader).Read(0xc239c0f2a0, 0xc239809000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)