[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