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

ocaml fails over NFS on Solaris #4663

Closed
vicuna opened this issue Dec 5, 2008 · 1 comment
Closed

ocaml fails over NFS on Solaris #4663

vicuna opened this issue Dec 5, 2008 · 1 comment
Labels

Comments

@vicuna
Copy link

vicuna commented Dec 5, 2008

Original bug ID: 4663
Reporter: jacobs
Status: closed (set by @xavierleroy on 2010-04-18T17:48:12Z)
Resolution: not a bug
Priority: normal
Severity: major
Version: 3.10.2
Category: ~DO NOT USE (was: OCaml general)
Related to: #3943

Bug description

In "0003943: ocaml build fails on Solaris 10/x64", a couple of issues around building ocaml on Solaris are raised. The bug report seems to indicate that because the SUS doesn't enumerate EINVAL as an errno, it isn't valid. That isn't quite accurate. close(2) needs to support the listed errnos, but can and does support additional errnos on a variety of operating systems.

When attempting to use ocaml built and installed on my system's local disk against a file that is accessed over NFS, I still get the failure.

Whether there is a bug in the NFS support on Solaris or not, it would seem to me that ocaml would want to work regardless. There appears to be a relatively simple fix that solves the problem. A patch is attached to this bug report.

ocaml is installed on the local disk and "parsing/linenum.mll" is via an NFS mount in the example below.

jade% ocamlrun ocamllex parsing/linenum.mll
12 states, 323 transitions, table size 1364 bytes
Fatal error: exception Sys_error("Invalid argument")
jade% which ocamlrun ocamllex
/bin/ocamlrun
/bin/ocamllex
jade%

Additional information

A patch is attached to this bug report.

File attachments

@vicuna
Copy link
Author

vicuna commented Apr 18, 2010

Comment author: @xavierleroy

It's been a long time, but I've decided not to apply this patch and to close this PR. close() should not return an error if given a valid file descriptor, and if the FD was bad it should return EBADF, not EINVAL. So, this is a bug in Solaris and we're not going to work around it. Sorry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant