Bug#613367: jclassinfo: memory usage problems

Vincent Fourmond fourmond at gmail.com
Mon Feb 14 11:52:37 UTC 2011


  Hello,

On Mon, Feb 14, 2011 at 12:19 PM, TomaszN <nowak2000 at poczta.onet.pl> wrote:
> Parsing some classes results with a crash:
>
> (...)
> 81)CONSTANT_Utf8[1]("too many bytes in \"")
> *** glibc detected *** /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo: free(): invalid next size (fast): 0x08cf5c08 ***
> ======= Backtrace: =========
> /lib/i686/cmov/libc.so.6(+0x6b281)[0xb75bb281]
> /lib/i686/cmov/libc.so.6(+0x6cad8)[0xb75bcad8]
> /lib/i686/cmov/libc.so.6(cfree+0x6d)[0xb75bfbbd]
> /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo[0x804bf07]
> /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo[0x804bc41]
> /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo[0x804c34c]
> /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo[0x804d8bc]
> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7566c76]
> /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo[0x8049a01]
> ======= Memory map: ========
> 08048000-08050000 r-xp 00000000 08:05 2313111    /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo
> 08050000-08051000 rw-p 00008000 08:05 2313111    /tmp/jclassinfo-0.19.1/jclassinfo/.libs/lt-jclassinfo
> 08cf4000-08d15000 rw-p 00000000 00:00 0          [heap]
> b7400000-b7421000 rw-p 00000000 00:00 0
> b7421000-b7500000 ---p 00000000 00:00 0
> b7517000-b7534000 r-xp 00000000 08:05 1157360    /lib/libgcc_s.so.1
> b7534000-b7535000 rw-p 0001c000 08:05 1157360    /lib/libgcc_s.so.1
> b754f000-b7550000 rw-p 00000000 00:00 0
> b7550000-b7690000 r-xp 00000000 08:05 1610228    /lib/i686/cmov/libc-2.11.2.so
> b7690000-b7692000 r--p 0013f000 08:05 1610228    /lib/i686/cmov/libc-2.11.2.so
> b7692000-b7693000 rw-p 00141000 08:05 1610228    /lib/i686/cmov/libc-2.11.2.so
> b7693000-b7696000 rw-p 00000000 00:00 0
> b7696000-b76ba000 r-xp 00000000 08:05 1610150    /lib/i686/cmov/libm-2.11.2.so
> b76ba000-b76bb000 r--p 00023000 08:05 1610150    /lib/i686/cmov/libm-2.11.2.so
> b76bb000-b76bc000 rw-p 00024000 08:05 1610150    /lib/i686/cmov/libPrzerwane
>
>
> I just increased the size of the char* new_string in jclass/jstring.c by 20 bytes when mallocing; not correct, but works for me.
> Additionally fixed some minor memory problems.

  Thanks.

> To debug, use "valgrind" after "exec" in jclassinfo/jclassinfo:
>      exec valgrind $progdir/$program ${1+"$@"}

  I don't really see what you're talking about here.
/usr/bin/jclassinfo is a ELF binary, not a shell script.

  I'll dig into this some time soon.

  As a side note for myself, I'll need to switch to format 3.0 (quilt).

  Cheers,

      Vincent





More information about the pkg-java-maintainers mailing list