Skip to content
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

Quick attempt at fixing EOF error issue encountered on linux/ARM #1

Closed
wants to merge 1 commit into from

Conversation

elProxy
Copy link

@elProxy elProxy commented Mar 9, 2017

When trying to run gcfuse on linux/ARM, ran into the issue described
here:
GoogleCloudPlatform/gcsfuse#197

Change the API slightly (expose even less), and switch to using a local
unix socket (assuming windows is not a primary target for gcsfuse) for
communicating back status to the parent process.

When trying to run gcfuse on linux/ARM, ran into the issue described
here:
GoogleCloudPlatform/gcsfuse#197

Change the API slightly (expose even less), and switch to using a local
unix socket (assuming windows is not a primary target for gcsfuse) for
communicating back status to the parent process.
@jacobsa
Copy link
Owner

jacobsa commented Mar 9, 2017

Thanks for this. Can you describe here and in your commit message what the problem was?

@elProxy
Copy link
Author

elProxy commented Apr 4, 2017

Well, unfortunately I didn't really dig too deep into why things didn't work, I noticed that things ran fine with --foreground and proceeded to just make this last bit work for me by simply using a unix socket as it feels a bit more flexible for that sort of non performance-critical IPC anyway. Though it's interesting that the other report also happened to be on ARM.

Copy link
Owner

@jacobsa jacobsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sending comments on specifics, but I'm not sure I'm comfortable with making this change without knowing why (and therefore whether) it fixed the root cause of the bug.

// process. Though the tool starts the daemon process with stdin, stdout, and
// stderr closed (using Run), the daemon should be able to communicate status
// to the user while it starts up (using StatusWriter), causing the tool to
// This package provides the convenience for writing a tool that spins itself
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why change the wording here?

pipeW *os.File) (err error) {
func startProcess(args []string, status io.Writer) error {

// TODO: drop osext dependency once minmum required go verison is 1.8
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please just do this now. Those binaries that need to build with older versions of Go can vendor an old version.

@@ -129,47 +124,42 @@ func (w *logMsgWriter) Write(p []byte) (n int, err error) {
return
}

// For use by the daemon: the writer that should be used for logging status
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you remove this feature?

@kazazes
Copy link

kazazes commented Nov 5, 2018

This is still a blocking issue on ARM builds.

$ go get -u github.com/googlecloudplatform/gcsfuse
# github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/internal/buffer
./runtime.go:24: missing function body for "memclr"
./runtime.go:24: missing function body for "memmove"

@elProxy elProxy closed this Oct 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants