-
Notifications
You must be signed in to change notification settings - Fork 26
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
Suspiciously large seek offset results in failed test #143
Comments
Thanks for the efforts. If you think the tests are only a problem on your local machine, you can open the pr anyways, because GitHub will run the tests for each pr. |
The error you saw is an IO Error. What OS are you running? Any kind of special hardware? Do you have the exr project in some special folder? Were you able to pinpoint the source code location in the project where the error occurred? |
Ah, took me a while to notice you've overridden the default dev/test profiles. I've deleted those so I can get useful stack traces. Maybe this helps?
I do not have a special OS or hardware, and the project isn't in a special folder. I'm running this on a totally normal Linux desktop. It looks like the tests do pass on my x86_64 Macbook, which is odd but wouldn't be the first time I've seen a substantial cross-platform issue between MacOS and Linux. There's nothing fishy going on with the hardware for sure, some basic debugging shows that enormous seek offset is indeed being passed to Since this is some I/O code, my instinct is that there's some case where the number of bytes read by a |
Okay I think I have an idea what might be going on. Could it be that your Linux is big endian? The big endian code paths are not tested at all (I don't have any big endian system). I thought I added a panic with an appropriate message, but it seems like the errors appear much earlier. The optimal solution would be to run the GitHub tests on little endian and big endian machines. However, I don't think it's possible yet. Could you do me a favor and run the tests from the following IO dependency of exrs? |
While it is strange that this behavior differs depending on the platform, the file being an error is actually fine. It's one of the damaged/invalid files. It should not panic, but we expect it to return an Error. If possible, the error should be an Now that I think about it, I'm not even sure that it's always possible to differentiate an invalid file from a failed IO Operation. |
Definitely not. There's nothing remarkable about the CPU.
My best guess at the moment is that there's some |
Sounds great - I really wouldn't know what to try next otherwise 😅 |
removed an unused field in #145, compiles with the newest rust version. does this solve one of the two issues you observed? |
Yes, this fixes the build error. |
Excellent. Let me know if you find something out about the failed test file :) |
Description
This crate does not build with the latest beta, which means it will not in its current state build with the next stable. This is due to the use of
#[deny(dead_code)]
, which in upcoming releases will no longer consider a derived Debug or Clone as usage, though they will consider a manually-implemented impl of those same traits as usage.Reproducing
cargo +beta check
The fact that this crate doesn't build on nightly for this exact reason is the real obstacle for me, but the fact that the build will soon fail on stable is probably more relevant to you :p
I've just deleted the member on my end. I'd send a PR, but I also can't run your test suite, because I get this test failure:
The responsible syscall appears to be
No idea what's going on there.
The text was updated successfully, but these errors were encountered: