Closed rivo closed 6 years ago
This is an outstanding issue https://github.com/janelia-flyem/dvid/issues/163 where the current lz4 library compiled into dvid is not compatible with newer Ubuntu for some reason. The solution is simply to update the lz4 library, yet we have not done it for our production versions due to (1) not running those OS versions, and (2) not being sure of impact of new lz4 code on previously stored lz4 data. I'll prioritize the upgrade since this is a sticking point for multiple people.
To clarify, the dependent lz4 library is https://github.com/cloudflare/golz4 that has not been updated in 3 years. I'll investigate moving to a different maintained library.
Thanks. Spent all day chasing this down and came to the same conclusion. (I did not know about #163.) I actually updated the lz4 library but the seg fault still happened. There is an issue cloudflare/golz4#8 and the related pull request cloudflare/golz4#9 where they seem to have the same issue. I patched the code with the branch from the pull request and now it seems to work. Not sure why they haven't merged it into the master branch. (Maybe nobody at Cloudflare feels responsible for this.)
As a workaround, I believe if you specify different compression when creating the data instance you are loading images into. Since this requires a rewrite of code wherever lz4 is used, not sure when the change will land. For de novo use of dvid, I might move to a different fast codec if lz4 isn't supported as well.
Note that this was fixed in commit 7380190 just now.
I'm getting this now:
dvid/serialize.go:21:2: cannot find package "github.com/pierrec/lz4" in any of:
/usr/local/go/src/github.com/pierrec/lz4 (from $GOROOT)
/root/go/src/github.com/pierrec/lz4 (from $GOPATH)
I guess it's missing from the get-go-dependencies.sh
script?
This was added to the CMake file. After upgrading the HEAD on master, you have to re-run the "cmake" command before doing "make dvid". That should pull the necessary library automatically.
Sorry, previous comment is incorrect because @stuarteberg moved build system to conda so you are correct, there needs to be github.com/pierrec/lz4
in the get-go-dependencies.sh script. We are going to modify that file shortly.
Master branch has reverted to older CGo lz4 due to issues. See issue #251.
This issue has been solved by updating the go lz4 library with new lz4 source code. See closed issue #251
I'm trying to build DVID from source (latest commit), following the instructions found in the user guide. Unfortunately, I'm getting
segmentation violation
panics when I'm trying to load files into the (LevelDB) backend (using the "load" command).I've included a stack trace below. They look slightly different sometimes but it generally happens when the lz4 package makes a CGO call. I'm on "Ubuntu 16.04.4 LTS".
Any ideas on how to make this work? Maybe there's an extra step that I should follow that's not in the guide?