On 5/20/2020 12:36 PM, Marcel Fabian Krüger wrote:
On Wed, May 20, 2020 at 12:13:01PM +0200, Hans Hagen wrote:
On 5/20/2020 2:39 AM, Marcel Fabian Krüger wrote:
Hi,
using \read on any existing file seems to trigger a segfault on lmtx. For example, take the document
\starttext \newread\myread \openinputfile\myread{test} \read\myread to \abc \closeinputfile\myread \stoptext
where test.tex is any file (It doesn't matter if the file is empty or not). On my system (linux x64, latest lmtx) this results in
mtx-context | fatal error: return code: 139
hm, looks like i close the file too soon (these read files are autoclosed on read) .. i'll fix it
Which file is closed here? Experiments with a custom format suggest that the read files are opened through the `open_data_file` callback, so even if they are closed they probably should be closed by calling the `.close` member of the returned table. But that never happens (This might be a related bug: In my experiments, even for files loaded with `\input`, the close function is never called.) and the issue seems to occur even if there is no real file opened for this. So I don't see why LuaMetaTeX should call fclose here at all. But anyway, thanks for looking into this. end_file_reading is always called but has to close selectively, dependent on what has been opened, eep in mind that a token list or so is also an input stream
Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------