-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems starting basic example #17
Comments
Huh, that is very weird indeed. What platform are you on? |
Also, can you try the |
The noria output doesn't add much:
I'll build the griddle branch and get back.. |
Ah, sorry, yes, you'll also want to swap the |
Not much more info:
It's on a macbook, rust version: frank@MacBook:~/git/noria (griddle)$ rustc --version
rustc 1.47.0-nightly (7e6d6e5f5 2020-08-16) |
That's really strange indeed. I haven't tested Noria much on macOS, as all the benchmarks and dev work I've done has been on Linux. If it works on macOS, it's by accident 😅 It certainly should not be segfaulting though. If you could figure out where it segfaults by running through |
Ok, first tried (without much success) to debug on Mac. Then, just to check, dusted off my linux box, and I have the exact same problem. I'll attempt debugging on the Linux box later, but for now I can say it doesn't seem to be Mac related. |
@ms705 Is this something you have seen before? |
Ok, I got the same issue now with gdb on my linux box, looks something like this:
Does this clarify anything? |
Oh, that is very weird. That should only segfault if you have called the hidden |
I've tried it on another box. Nothing rust related on it. Rustup-ed, checked out all, did the same steps, with the same result. |
So, just to check: $ git clone https://github.com/mit-pdos/noria.git noria
$ git clone https://github.com/mit-pdos/noria-mysql.git noria-mysql
$ cd noria && cargo update
$ cd noria-mysql && cargo update And then you run Can you try patching this function: in each match arm so that it prints whether the received thing is "local" or not? You'll probably have to modify the |
Ok, deleted all the Noria things, re-build & ran noria (same result). Pointed the noria-mysql dependencies to the local:
(same result) Patched the proto.rs:
Results in:
And we see local! |
Thank you for digging! That's bizarre indeed...
and is only set to and that is only ever called in the Looking at the implementation, this line looks a little questionable, but I also suspect that it probably isn't hit anyway (maybe try adding a print): Just for my own sanity's sake, could you try removing the |
Ok, went back to this one. I've added some debug around the deserialization code: println!("Before deserialize!");
let result = usize::deserialize(deserializer).map(|p| LocalBypass(p as *mut T));
println!("After deserialize!"); And it does get hit:
Removing the tokio patch does not lead to discernible effect. I had a theory that it was somehow related to my mysql client (because that was the same accross all my attempts, an up-to-date mysql 8.0.21 client, but somehow an older client 8.0.15 does not connect at all. I also tried a JS based mysql client but that also does not seem to be able to connect at all. |
When cloning the latest versions of noria and noria-mysql (with noria-mysql patched to look locally), I got this same issue. I also saw this warning in the Noria-mysql build:
I was able to fix this with the following Cargo.toml patch:
along with a patch in noria-mysql to not refer to a function that has been removed:
With this, I'm able to run those example SQL statements without anything crashing |
Yes, works for me! So I guess it would make sense then to release Noria 0.7, as the master of Noria MySQL depends on it...? |
Hi, I'm trying to get Noria working with JDBC. I'm aware of JDBC issues, I thought I'd take a stab at seeing where it fails, so I looked at issue #15 but I fail to even get the basics working.
Hopefully I'm doing something wrong.
I'm starting a zookeeper instance:
Seems alright. In a new shell, clean noria checkout:
Seems ok, in another shell, in a clean noria-mysql checkout:
Starts up fine.
Then in a final terminal:
Seems to work:
Create a table (like in #15):
But the next statement fails:
noria-mysql trace:
Noria terminates with a segfault:
Ideas?
The text was updated successfully, but these errors were encountered: