[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#841313: latex-cjk-japanese-wadalab: FTBFS: Create .afm and .pfa fonts from dg. \n Segmentation fault (core dumped)



Am 19.10.2016 um 17:20 schrieb Danai SAE-HAN (韓達耐):

Hi all,

It looks like a problem with the wftodm binary.  This is an important piece
in the creation of the fonts.
I will only have access to my PC next week Thursday (27 October 2016) to
check the C source code and replicate it on amd64.  Please bear with me for
a while.

I *think* I can reproduce the bug.

Here is the gdb backtrace:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
106     ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
#1  0x00002ba08dfdbda3 in _IO_vfprintf_internal (s=s@entry=0x7ffd926eb3f0,
format=<optimized out>, format@entry=0x5643d866b22e "/StdHW [ %s ] |-\n",
    ap=ap@entry=0x7ffd926eb518) at vfprintf.c:1637
#2  0x00002ba08dffcacb in __IO_vsprintf (
    string=0x7ffd926eb620 "/StdHW [ re{16 16} |-\n",
format=0x5643d866b22e "/StdHW [ %s ] |-\n", args=args@entry=0x7ffd926eb518)
    at iovsprintf.c:42
#3 0x00002ba08dfe2327 in __sprintf (s=<optimized out>, format=<optimized out>)
    at sprintf.c:32
#4 0x00005643d866a8e2 in e_printf (form=<optimized out>, i0=<optimized out>,
    i1=<optimized out>, i2=<optimized out>, i3=<optimized out>,
i4=<optimized out>, i5=1936353124, i6=-1838284703, i7=0, i8=-1909291776,
    i9=0) at wftodm.c:306
#5  0x00005643d866aa77 in output_pfa (file=1) at wftodm.c:255
#6  0x00005643d8669d3a in main (ac=<optimized out>, ag=<optimized out>)
    at wftodm.c:158

And here is the function e_printf() in question:

e_printf(form,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9)
char *form;
{
  int len,i;
  unsigned char buf[4096];
  sprintf(buf,form,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9);
  len=strlen(buf);
  for(i=0;i<len;i++)
    e_putchar(buf[i]);
}

In line 255 (function output_pfa) it is called like this

e_printf("/StdHW [ %s ] |-\n",StdHW);

I /guess/ there is a thinks in string processing. Sorry, I don't have enough knowledge in C to help here. Does that ring anywhere a bell on your side? Is the problem reproducible e.g. in i386?

Hilmar
--
http://www.hilmar-preusse.de.vu/   #206401 http://counter.li.org


Reply to: