-
Notifications
You must be signed in to change notification settings - Fork 5
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
SIGILL after the last record is read #29
Comments
When C/IO is used on data sets, it can generate SIGIOERR, I have updated the example to ignore this signal, error will be returned instead. |
Thanks for looking into this. Can you please re-open it? |
@DNikolaevAtRocket do you have a small test case that I can repeat? for example For the data set that fails for you, what are the characteristics? (e.g. record size, format etc) |
The default args should do. I've tested it with different types of datasets, and apparently it doesn't matter. Also, I tried it on different LPAR's, and probability of the issue varies significantly, though it's never zero in any of my environments. If you have any ideas regarding the directions to dig into, I'd be glad to give it a try. |
@DNikolaevAtRocket This is built with 1.23.4, I wonder if you can try this and see if you can reproduce the problem. |
Hello,
Thanks for the nice lib and the examples!
There's a nasty issue with the
Fread
function I hoped you could help to resolve.I run the code from the example: https://github.com/ibmruntimes/go-recordio/blob/main/v2/example-recordio/testpds.go to read some data (from a sequential dataset which I don't think matters).
From time to time, it crashes with SIGILL on the last
Fread
call when there's no data left to read.The call is supposed to return 0 to exit the reading loop (just in case, extra checks with
fh.Feof()
norfh.Ferror()
don't help to prevent the call).I happens sporadically but often enough to become a show stopper.
Golang version:
go1.23.0 zos/s390x
z/OS version:
v3.1
The text was updated successfully, but these errors were encountered: