March 4, 2014, 4:15pm
I’m getting this error when trying to start your goliath example:
couchbase-ruby-client/examples/chat-goliath-grape# ruby app.rb -sv
[26428:INFO] 2014-03-04 15:59:43 :: Starting server on 0.0.0.0:9000 in development mode. Watch out for stones.
ruby: ed.cpp:927: virtual void ConnectionDescriptor::Write(): Assertion `!bWatchOnly' failed.
I tried both CouchbaseMock and Couchbase 2.2, same.
March 4, 2014, 7:02pm
What ruby version are you using?
March 5, 2014, 6:24am
Tried both ruby-2.0.0-p247 [ x86_64 ] and ruby-2.0.0-p353 [ x86_64 ], same.
I’m using Ubuntu 12.04.
March 5, 2014, 9:36am
does it fail immediately, or after first query
March 5, 2014, 11:37am
On start, no queries made. Looks like fails when try to initialize connection pool.
March 5, 2014, 1:05pm
I managed to reproduce it couple of times, but it was always after some activity. Will look into it
March 6, 2014, 4:07pm
Any updated on this issue? Thanks!
March 6, 2014, 5:11pm
so far I cannot reproduce it reliably. but i will keep trying
March 20, 2014, 6:19am
Any updates? Its becoming pretty critical issue, since moxi, which used for 3-rd party clients, crashing a lot under relatively high load. I minimized test-case, crashing every time for me:
EM.epoll # if we removing epoll all working as expected, but goliath require it
Couchbase::Bucket.new(:engine => :eventmachine, bucket: “default”, :node_list => [“localhost:8091”])
Here is strace output, can be useful:
March 20, 2014, 6:31am
okay, I’ve got it reproducing each time with your script. Thanks. I will try to find a solution
March 20, 2014, 8:17pm
March 21, 2014, 5:47am
The patch has been merged to master branch, so feel free to update your Gemfile pointing to github mirror. Next release will be in the beginning of the April
March 31, 2014, 12:41pm
After some time i started getting another error, don’t know if it connected with this issue, but who knows.
ruby: ed.cpp:1025: void ConnectionDescriptor::_WriteOutboundData(): Assertion `nbytes > 0’ failed.
I can’t provide reliable test for now, it fails only after some time.
March 31, 2014, 12:45pm
Worth noticing that error happens while couchbase had rebalance.
March 31, 2014, 1:39pm
Recorded on bug tracker. If you will get any updates, please reply there.
April 10, 2014, 6:31am
Here is core dump for nbytes > 0 issue:
As before it happens only when rebalance is active. So when i start rebalance everything goes down
April 10, 2014, 7:16am
Worth noticing that we having server troubles
And it happened that this error wont go away when i stopped rebalance…
April 10, 2014, 7:36am
yes, it uses plain socket(2) call to create sockets, but all IO done in ruby extension, not in libcouchbase.
In particular socket created here
April 10, 2014, 7:40am
I have to disable EM engine for a while, and added “TCPSocket = EventMachine::Synchrony::TCPSocket”, problem gone for some time. But i have feeling that overriding TCPSocket wont affect couch driver, since it use own C library for sending requests.