Comments (17)
Hmm I think we're going to probably need to get a core dump here to do
anything. Any chime in with the easiest way to get a version of rethinkdb
with symbols? Also what sort of file system is this running on.
On Saturday, November 10, 2012, Justin wrote:
Installed per directions, and ran rethinkdb:
$ rethinkdb
info: Creating directory rethinkdb_data
info: Creating a default database for your convenience. (This is because you ran 'rethinkdb' without 'create', 'serve', or '--join', and the directory 'rethinkdb_data' did not already exist.)
error: Error in arch/runtime/thread_pool.cc at line 323:
error: Segmentation fault from reading the address (nil).
error: Backtrace:
error: Sat Nov 10 12:38:29 20121: rethinkdb() [0x8d0a82] 2: rethinkdb() [0x8aceb4] 3: rethinkdb() [0x483284] 4: +0xfcb0 at 0x7fe53d8b9cb0 (/lib/x86_64-linux-gnu/libpthread.so.0) 5: rethinkdb() [0x48804a] 6: rethinkdb() [0x68cf41] 7: rethinkdb() [0x692541] 8: rethinkdb() [0x6b3d37] 9: rethinkdb() [0x6b52be] 10: rethinkdb() [0x4813fb] 11: rethinkdb() [0x481488] 12: rethinkdb() [0x47f30e]
error: Exiting.
[13082] worker: Couldn't read job function: end-of-file received
[13080] worker: Couldn't read job function: end-of-file received
[13084] worker: Couldn't read job function: end-of-file received
[13082] worker: Failed to accept job, quitting.
[13080] worker: Failed to accept job, quitting.
[13084] worker: Failed to accept job, quitting.
Segmentation faultThis is on Ubuntu 12.04 LTS (GNU/Linux 2.6.32-316-ec2 x86_64)
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/18.
from rethinkdb.
It's on ext3.
from rethinkdb.
I think apt-get install rethinkdb-dbg
should install the debugging symbols for use with gdb and an unstripped binary at /usr/lib/debug/usr/bin/rethinkdb
.
A backtrace + core file from that unstripped binary would make debugging much easier. You can run ulimit -c unlimited
to turn core file generation on if it isn't already.
from rethinkdb.
Could one cause of this be if the user's home directory is ecryptfs (which is available as a default option on Ubuntu)? I got a similar error on Ubuntu 11.10 (it printed different output - below - so not sure if it's actually the same error, but it had the same ultimate symptom that the initial rethinkdb
command failed. I tried again specifying -d /var/data/sam/rethinkdb_data
(/var is ext4) and it seems to have worked.
The error I got:
$ rethinkdb create
info: Our machine ID: <blah>
error: Inaccessible database file: "rethinkdb_data/metadata": Invalid argument
Some possible reasons:
- the database file couldn't be created or opened for reading and writing
- the database file is located on a filesystem that doesn't support O_DIRECT open flag (e.g. in case when the filesystem is working in journaled mode)
- user which was used to start the database is not an owner of the file
Crashing while already crashed. Printing error message to stderr.
Segmentation fault from reading the address (nil).Trace/breakpoint trap
from rethinkdb.
Yep, rethink doesn't work on encrypted volumes (there isn't anything we can do about it -- you can't run with direct io on encrypt fs). We'd still appreciate a core file for the original bug so we can exit with a meaningful error message.
from rethinkdb.
I tried installing rethinkdb-dbg
, but /usr/lib/debug/usr/bin/rethinkdb
wasn't executable, and after I chmod +x
ed it, I get:
$ /usr/lib/debug/usr/bin/rethinkdb
bash: /usr/lib/debug/usr/bin/rethinkdb: cannot execute binary file
from rethinkdb.
Sorry about that. The unstripped binaries in Debian dbg packages are not exectutable. (We do not know why.) If you run the main binary in gdb, you ought to get a meaningful backtrace if symbols are installed.
from rethinkdb.
So, the file at /usr/lib/debug/usr/bin/rethinkdb is a symbol file, not an executable. You can specify it in gdb using -s /usr/lib/debug/usr/bin/rethinkdb
on the command-line, or symbol /usr/lib/debug/usr/bin/rethinkdb
inside gdb, if it doesn't load it at startup. I'm not sure what tells gdb where to look for the symbol file automatically.
It's pretty important that this symbol file is the result of the same build of rethinkdb, or none of the symbols will make sense. I don't think we have a symbol file for the version that the original stack trace in this issue came from, so if you could produce one with the latest released version, that would help.
from rethinkdb.
Here's a core dump: http://dl.dropbox.com/u/12108749/core.28866
I have no idea if the symbols match, I just used the provided symbol file above.
from rethinkdb.
So, the symbols I'm getting back in the backtrace don't make much sense, but the one at the top of the stack could very well have segfaulted:
#0 0x000000000048804a in get_ips () at arch/io/network.cc:900
where
int addr_res = getifaddrs(&if_addrs);
guarantee_err(addr_res == 0, "getifaddrs failed, could not determine local ip addresses");
for (ifaddrs *p = if_addrs; p != NULL; p = p->ifa_next) {
>>> if (p->ifa_addr->sa_family == AF_INET) {
if (!(p->ifa_flags & IFF_LOOPBACK)) {
We were assuming that getifaddrs()
would not return a structure with ifa_addr = NULL
, but according to the documentation, that's not always true.
I fixed this in commit f872a0b, and it should be published soon.
from rethinkdb.
Ok, version 1.2.5 is up, and should have the fix I just mentioned. Let me know if this is still reproducible.
from rethinkdb.
Ok, the only thing that remains to be done here is to clarify the error message to include encrypted file systems. If other bugs pop up, we'll open a new issue. Assigning to self.
from rethinkdb.
Um...not sure why the title of this issue was changed? I never said I was using an encrypted file system.
I am seeing a different problem now, so I guess this is fixed.
from rethinkdb.
Sorry, I may have confused the issue by posting mine here (which was caused by ecryptfs).
from rethinkdb.
Yes, I think multiple posts confused it a little bit. @presidentbeef -- the issue you've been experiencing has been fixed. Try running sudo apt-get update, sudo apt-get upgrade rethinkdb. If you encounter it again, please open another issue.
from rethinkdb.
As for making the error message mentioning encrypted file systems, we are waiting on @wmrowan to finish a code review.
from rethinkdb.
This is fixed in next.
from rethinkdb.
Related Issues (20)
- Rethinkdb Proxy
- Set a name to a proxy name HOT 3
- Add "Buffers" from /proc/meminfo in parse_meminfo_file to determine available memory
- download.rethinkdb.com is down, 502 Bad Gateway HOT 1
- Evaluate Profile-Guided Optimization (PGO) on RethinkDB
- error: to_string called on an uninitialized ip_address_t, addr_type: 0 compiling rethinkdb on Raspberry HOT 6
- RethinkDB not fully supported on Raspberry PI OS Bullseye (32/64 bit) HOT 10
- Reasonable to change hard-coded cluster size? HOT 5
- help bro my issue = warn: Problem when checking for new versions of RethinkDB: HTTP request to update.rethinkdb.com failed. HOT 1
- cluster connect/reconnect timeout HOT 1
- Installation fails in Kubuntu 23.10 HOT 4
- Generate web_assets.cc in a repeatable file order HOT 1
- Avoid full paths of coffeescript files in generation of web_assets.cc HOT 2
- Rethinkdb 2.4.4 release list HOT 11
- Support protobuf 25
- Return multiple changes feed
- Cache miss rate measurements HOT 4
- Something i forgot to had when having the default doc like so
- Connect rethinkdb directly from browser ? HOT 1
- Why exactly do rethinkDB add null characters to response / request JSON ? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rethinkdb.