Notes |
|
|
With rotd-2013-05-17, in the hlc.gc grade (on Mac OS X 10.8) it gives me:
Uncaught Mercury exception:
io_error("error closing file: Bad address")
which seems fine. Did the original user ever get back to you about what they were using? |
|
|
|
I do however get the seg fault in both asm_fast.gc and hlc.gc grades on x86_64 Linux.
(Mercury 13.05-beta-2013-05-02) |
|
|
|
The right fix here IMO, is to change mercury_close so that it checks that the file pointer it is attempting
to close is non-NULL before attempting to close it. (After calling MR_CLOSE the first time, we NULL out
the file pointer, so this should be enough to fix the multiple io.seen/2 case.) |
|
|
(0000517)
|
pbone
|
2013-05-18 12:51
|
|
I don't remember, or was never told what version/grade the user was using. In any case I agree with your conclusion. |
|
|
|
I'll add a fix for this sometime during this week. |
|
|
|
I've committed a fix that avoids the segmentation fault that occurs when closing the same file stream multiple times (the actual issue here). There appears to be in an issue on the asm_fast.gc grades on Linux with handling the exception that now occurs. I am still investigating this. |
|