Hi, the script below crashes when the zip file contains at least two files. *** glibc detected *** texlua: double free or corruption (!prev): 0x00000000027d10e0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x79cf5)[0x7f7a57302cf5] texlua[0x78314f] texlua[0x612481] This happens if opened files in the archive are not closed before the next one is opened. The crash happens at the end of the program if the line os.exit(0) doesn't exist. It seems that os.exit() does some cleanup. Since the program does what it's supposed to do I assume that it's not wrong in general to have more than one file opened at the same time. Regards, Reinhard ----------------------------------------------- #!/usr/bin/env texlua kpse.set_program_name('texlua') require('zip') local arch=zip.open ('test.zip') for f in arch:files() do print(f.filename) local zfile=arch:open(f.filename) -- zfile:close() end arch:close() --os.exit(0) -- Local Variables: -- lua-indent-level: 2 -- tab-width: 2 -- indent-tabs-mode: nil -- End: -- vim:set tabstop=2 expandtab: # ----------------------------------------------- -- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ----------------------------------------------------------------------------
Hi Reinhard,
Thanks. Tracker at http://tracker.luatex.org/view.php?id=899
Best wishes,
Taco
On 24 May 2014, at 19:54, Reinhard Kotucha
Hi, the script below crashes when the zip file contains at least two files.
*** glibc detected *** texlua: double free or corruption (!prev): 0x00000000027d10e0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x79cf5)[0x7f7a57302cf5] texlua[0x78314f] texlua[0x612481]
This happens if opened files in the archive are not closed before the next one is opened.
The crash happens at the end of the program if the line os.exit(0) doesn't exist. It seems that os.exit() does some cleanup. Since the program does what it's supposed to do I assume that it's not wrong in general to have more than one file opened at the same time.
Regards, Reinhard
----------------------------------------------- #!/usr/bin/env texlua
kpse.set_program_name('texlua') require('zip')
local arch=zip.open ('test.zip') for f in arch:files() do print(f.filename) local zfile=arch:open(f.filename) -- zfile:close() end arch:close()
--os.exit(0)
-- Local Variables: -- lua-indent-level: 2 -- tab-width: 2 -- indent-tabs-mode: nil -- End: -- vim:set tabstop=2 expandtab: # -----------------------------------------------
-- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ---------------------------------------------------------------------------- _______________________________________________ dev-luatex mailing list dev-luatex@ntg.nl http://www.ntg.nl/mailman/listinfo/dev-luatex
participants (2)
-
Reinhard Kotucha
-
Taco Hoekwater