rmongodb
rmongodb copied to clipboard
SEGV in mongo_cursor_destroy
Thank you all for the great works.
Recently our program crashed when it tries to retrieve very huge data from mongodb server, here's the back trace:
(gdb) where
0 0x00002aaab24c3385 in mongo_cursor_destroy (cursor=0x10184970) at libmongo/mongo.c:1390
1 0x00002aaab24c3620 in mongo_cursor_get_more (cursor=0x10184970) at libmongo/mongo.c:1234
2 0x00002aaab24c3b38 in mongo_cursor_next (cursor=0x10184970) at libmongo/mongo.c:1362
3 0x00002aaab24cd84d in rmongo_cursor_next (cursor=
It can reproduce with a high possibility. I noticed that was a mongo-c-driver bug in v0.7.1 and was fixed at v0.8 (https://github.com/mongodb/mongo-c-driver/commits/v0.8) I tried to use the code in v0.8 and created a patch to fix it, but I think it is better to use the latest mongo-c-driver. Thank you again.
10/6 edit to remove "# number" to avoid search engine's problem:)
Hi, using any mongo-c driver version higher than v.0.7.1 requires a complete re-engineering of the rmongodb package. I am not planing to do that.
@schmidb what exactly has changed in 0.7.2? How much work would it be to upgrade to 1.0?
90% changes and a lot of new concepts. It means more or less re-implementing rmongodb.
On 17.09.2014, at 12:07, Jeroen Ooms [email protected] wrote:
@schmidb what exactly has changed in 0.7.2? How much work would it be to upgrade to 1.0?
— Reply to this email directly or view it on GitHub.
That's a shame. But the old driver works fine with recent versions of mongodb?
yes, fully compatible. But there are missing some of the new features.
On 17.09.2014, at 12:43, Jeroen Ooms [email protected] wrote:
That's a shame. But the old driver works fine with recent versions of mongodb?
— Reply to this email directly or view it on GitHub.
@superarhow, can you remove #(NUMBER) from your post? Github referenced this issue to issues wtih id from 0 to 24 :-)
I see some API change starting from 0.8.0 version. But seems it is not full API break, like it is in 0.9+. I think we can try rebase rmongodb to 0.8.1.
FYI I started working on a full rewrite at https://github.com/jeroenooms/mongolite
@jeroenooms , great news! I thought about starting new branch based on 1.*+ mongo-c-driver or even mongo-cxx-driver using Rcpp. Prior to my recent contributions to rmongodb I didn't know anything about R's C interface(which is not so easy). I always used Rcpp. So I think new branch or new implementation of R-MongoDB driver using modern C++ interface will be more straightforward. Nevertheless there is still left a great deal of work to do.
branch for 0.8.1 version of mongo-c-driver: https://github.com/mongosoup/rmongodb/tree/rmongodb_2_0