dolt icon indicating copy to clipboard operation
dolt copied to clipboard

[Bug Report] Segfault When Cloning Repo From Self-Compiled Dolt on Raspberry Pi

Open alexis-evelyn opened this issue 3 years ago • 5 comments

Attempting to use Dolt on the Raspberry Pi causes a segfault both in the latest release and the latest commit.

Between both tests, I completely removed the go installation in ~/go/.

Instructions to Compile

CWD: /home/alex

# Install Go
wget https://golang.org/dl/go1.15.5.linux-armv6l.tar.gz
tar xvf go1.15.5.linux-armv6l.tar.gz
# This extracts go to ~/go/
# $GOPATH = /home/alex/go
# $GOROOT is not set

# Install Dolt
git clone https://github.com/dolthub/dolt
cd dolt/go/
git checkout v0.22.0 # I've tested both with this and skipping it (with a full reset and reinstall each time)
go install ./cmd/dolt

# Test Clone
cd ~
dolt clone alexis-evelyn/presidential-tweets &> segfault.log # The logging occured after initial testing

I named the zips with the latest release and latest commit hash. These zips contain the failed repo that I attempted to clone from https://www.dolthub.com/repositories/alexis-evelyn/presidential-tweets and the corresponding segfault.log that was generated as a result of attempting to clone the repo.

I performed these commands on my RPI 3 with the version Linux Rover 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux as stated by uname -a.

Latest Release - Commit cabbd3d0933c98178e473b1c13f2fed1a1c60251

dolt-segfault-tag-v0.22.0.zip

Latest Commit - Commit 2972c02ea7dff102fa4e5f19dc8f48d9b27c4ef8

dolt-segfault-commit-2972c02ea7dff102fa4e5f19dc8f48d9b27c4ef8.zip

alexis-evelyn avatar Nov 14 '20 23:11 alexis-evelyn

The latest commit's log for ease of access. https://hastebin.com/guqanuhoxe.yaml The latest release's log for ease of access. https://hastebin.com/ludasulape.yaml

ghost avatar Nov 14 '20 23:11 ghost

Thanks for the report, Alexis! We'll get someone looking at this very soon.

zachmu avatar Nov 16 '20 16:11 zachmu

Not entirely sure how to get the println to actually show up, but here's where the problematic code lies.

https://github.com/dolthub/dolt/blob/master/go/store/datas/pull.go#L182

err = sinkTS.WriteTableFile(ctx, tblFile.FileID(), tblFile.NumChunks(), rd, 0, nil)

Screen Shot 2020-11-28 at 00 11 34 Screen Shot 2020-11-28 at 00 11 30

ghost avatar Nov 28 '20 05:11 ghost

I suspect that the function is "missing" when ran on the Raspberry Pi. The files I create in the write table function are not created (even the one that is the very first line of the write table function). I had modified the file writing code to hardcode to /home/alexis/test/file-goes-here so I can be sure that directory changing doesn't hide the file from me.

ghost avatar Nov 28 '20 05:11 ghost

Alexis, did you manage to make any more progress on this? We don't currently do any testing on Raspberry Pi, so we aren't able to debug this effectively at the moment.

zachmu avatar Aug 10 '21 23:08 zachmu