[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
-----------------------------------------------------------------
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