[luatex] lualatex fails with fontfile named in utf8

Dohyun Kim nomosnomos at gmail.com
Wed Jun 10 18:50:04 CEST 2009


2009년 6월 10일 (수) 오후 9:47에 Taco Hoekwater<taco at elvenkind.com>님이 작성:
>
> Other than that, the only advise I can give is to run a debugging
> build of luatex via the C debugger to check where it crashes.
> (For that, you need to build a binary with ./build.sh --nostrip )
>

just for your information:

$ valgrind --tool=memcheck --leak-check=full luatex alignment
==26800== Memcheck, a memory error detector.
==26800== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==26800== Using LibVEX rev 1884, a library for dynamic binary translation.
==26800== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==26800== Using valgrind-3.4.1-Debian, a dynamic binary
instrumentation framework.
==26800== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==26800== For more details, rerun with: -v
==26800==
This is LuaTeX, Version beta-0.41.0-2009061101 (Web2C 2009)
(alignment.tex <luatex-fonts-merged.lua> <luatex-fonts.lua loaded in 1.059 seco
==26800== Invalid read of size 1
==26800==    at 0x4026728: strlen (mc_replace_strmem.c:242)
==26800==    by 0x81F26AD: lua_pushstring (lapi.c:453)
==26800==    by 0x80DAF22: lua_hpack_filter (luanode.c:177)
==26800==    by 0x8066712: zfiltered_hpack (luatex0.c:27676)
==26800==    by 0x80E5C7D: fin_row (align.c:684)
==26800==    by 0x8094E3C: main_control (luatex0.c:36892)
==26800==    by 0x8058402: main_body (luatexini.c:2710)
==26800==    by 0x8099616: main (luatexextra.c:791)
==26800==  Address 0x7361754c is not stack'd, malloc'd or (recently) free'd
==26800==
==26800== Process terminating with default action of signal 11 (SIGSEGV)
==26800==  Access not within mapped region at address 0x7361754C
==26800==    at 0x4026728: strlen (mc_replace_strmem.c:242)
==26800==    by 0x81F26AD: lua_pushstring (lapi.c:453)
==26800==    by 0x80DAF22: lua_hpack_filter (luanode.c:177)
==26800==    by 0x8066712: zfiltered_hpack (luatex0.c:27676)
==26800==    by 0x80E5C7D: fin_row (align.c:684)
==26800==    by 0x8094E3C: main_control (luatex0.c:36892)
==26800==    by 0x8058402: main_body (luatexini.c:2710)
==26800==    by 0x8099616: main (luatexextra.c:791)
==26800==  If you believe this happened as a result of a stack overflow in your
==26800==  program's main thread (unlikely but possible), you can try
to increase
==26800==  the size of the main thread stack using the --main-stacksize= flag.
==26800==  The main thread stack size used in this run was 8388608.
nds>==26800==
==26800== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 13 from 1)
==26800== malloc/free: in use at exit: 28,025,669 bytes in 251,924 blocks.
==26800== malloc/free: 471,206 allocs, 219,282 frees, 53,171,393 bytes
allocated.
==26800== For counts of detected errors, rerun with: -v
==26800== searching for pointers to 251,924 not-freed blocks.
==26800== checked 28,963,736 bytes.
==26800==
==26800==
==26800== 24 bytes in 1 blocks are definitely lost in loss record 3 of 21
==26800==    at 0x402613C: realloc (vg_replace_malloc.c:429)
==26800==    by 0x82DD92C: xrealloc (xrealloc.c:31)
==26800==    by 0x82DB26C: str_list_concat (str-list.c:58)
==26800==    by 0x82D9558: search_list (pathsearch.c:498)
==26800==    by 0x82D6F18: kpathsea_init_db (db.c:360)
==26800==    by 0x82D6290: kpathsea_cnf_get (cnf.c:236)
==26800==    by 0x82DD117: kpathsea_var_value (variable.c:55)
==26800==    by 0x82DD1D9: kpse_var_value (variable.c:85)
==26800==    by 0x8098B83: init_shell_escape (luatexextra.c:190)
==26800==    by 0x80D9835: init_kpse (luainit.c:452)
==26800==    by 0x80DA204: lua_initialize (luainit.c:623)
==26800==    by 0x8099611: main (luatexextra.c:785)
==26800==
==26800==
==26800== 26 (16 direct, 10 indirect) bytes in 1 blocks are definitely
lost in loss record 4 of 21
==26800==    at 0x40240D2: calloc (vg_replace_malloc.c:397)
==26800==    by 0x813E6C1: gcalloc (memory.c:55)
==26800==    by 0x81BFAF3: SplineFontEmpty (splineutil2.c:1631)
==26800==    by 0x816C116: SFFillFromTTF (parsettf.c:6002)
==26800==    by 0x8170972: _SFReadTTF (parsettf.c:6250)
==26800==    by 0x8190716: _ReadSplineFont (splinefont.c:395)
==26800==    by 0x81910BF: ReadSplineFont (splinefont.c:494)
==26800==    by 0x813E1DC: ff_open (luafflib.c:168)
==26800==    by 0x81F9414: luaD_precall (ldo.c:319)
==26800==    by 0x820899F: luaV_execute (lvm.c:587)
==26800==    by 0x81F99B7: luaD_call (ldo.c:377)
==26800==    by 0x81F2430: f_call (lapi.c:795)
==26800==
==26800==
==26800== 352 bytes in 1 blocks are possibly lost in loss record 5 of 21
==26800==    at 0x402601E: malloc (vg_replace_malloc.c:207)
==26800==    by 0x402619F: realloc (vg_replace_malloc.c:429)
==26800==    by 0x80DC2DC: my_luaalloc (luastuff.c:78)
==26800==    by 0x82010CD: lua_newstate (lstate.c:147)
==26800==    by 0x80DBB9B: luainterpreter (luastuff.c:123)
==26800==    by 0x80D9D3D: lua_initialize (luainit.c:523)
==26800==    by 0x8099611: main (luatexextra.c:785)
==26800==
==26800==
==26800== 9,121 (6,657 direct, 2,464 indirect) bytes in 362 blocks are
definitely lost in loss record 9 of 21
==26800==    at 0x402601E: malloc (vg_replace_malloc.c:207)
==26800==    by 0x82DD65C: xmalloc (xmalloc.c:25)
==26800==    by 0x82DD98C: xstrdup (xstrdup.c:27)
==26800==    by 0x80D97B9: cleaned_invocation_name (luainit.c:419)
==26800==    by 0x80D9A9D: lua_initialize (luainit.c:489)
==26800==    by 0x8099611: main (luatexextra.c:785)
==26800==
==26800== LEAK SUMMARY:
==26800==    definitely lost: 6,697 bytes in 364 blocks.
==26800==    indirectly lost: 2,474 bytes in 122 blocks.
==26800==      possibly lost: 352 bytes in 1 blocks.
==26800==    still reachable: 28,016,146 bytes in 251,437 blocks.
==26800==         suppressed: 0 bytes in 0 blocks.
==26800== Reachable blocks (those to which a pointer was found) are not shown.
==26800== To see them, rerun with: --leak-check=full --show-reachable=yes
세그멘테이션 오류


More information about the luatex mailing list