[NTG-context] \read segfaults in lmtx

Hans Hagen j.hagen at xs4all.nl
Wed May 20 13:36:36 CEST 2020

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 Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl

More information about the ntg-context mailing list