Subject: | Compiler-dependent failure on RETURNING $sth->fetch |
I need to start with a disclaimer: this bug is reliably reproducible on travis on 5.8. However with a newer compiler stack (gcc 5.x) I am able to reproduce it even on perl 5.16 on my local workstation. So please do not dismiss this lightly.
The setup is really simple - a plain insert-returning with a subsequent fetch, followed by a subsequent finish as seen in [1] fails with an exception [2] IFF we are running on a sufficiently new version of gcc (4.8+). This problem is reminiscent of the (yet unsolved) nonnull clusterfuck within perl itself as seen in [3].
I have not dug into the source to try to figure this out at all. The entire thing is reproducible with the steps at [4].
Cheers!
[1] https://github.com/ribasushi/dbd_firebird_finish_failure/blob/master/test_firebird.t#L50-L58
[2] https://travis-ci.org/ribasushi/dbd_firebird_finish_failure/jobs/100819448#L1117
[3] https://rt.perl.org/Public/Bug/Display.html?id=125570
[4] https://github.com/ribasushi/dbd_firebird_finish_failure