RFH - perl troubles (was: Bug#378753: tetex-bin: texshow sometimes segfaults)
Dear Perl people,
we have here a bugreport against one of tetex-bin's perl scripts, and
would appreciate if you could help us out. texshow.pl segfaults - but
only sometimes. It seems to depend on the kernel version, see the
submitter's investigation quoted below. Here in my sid chroot on a i386
sarge box running 2.6.16-2-686 from backports.org I get the error every
time, unless I use debugperl with the -Dtls option instead of "normal"
perl:
frank@sid:~$ perl /usr/share/texmf-texlive/scripts/context/perl/texshow.pl
TeXShow-XML 0.2 beta / Taco Hoekwater 2004
interface : cont-en
status : searching for setup files
status : loading setups
status : loading 'cont-cz' took 0.058689 seconds
status : loading 'cont-de' took 0.058287 seconds
status : loading 'cont-it' took 0.057864 seconds
status : loading 'cont-nl' took 0.059248 seconds
status : loading 'cont-ro' took 0.05795 seconds
status : loading 'cont-en' took 0.058827 seconds
status : initializing display
*** glibc detected *** malloc(): memory corruption: 0x087e19d4 ***
Aborted
With debugperl -Dtls, the program operates normally.
Here comes the quote from the submitter. Note that he started
/usr/bin/texshow, which is only a sh wrapper to execute perl on
texshow.pl as above.
Helge Kreutzmann <debian@helgefjell.de> wrote:
> So my results are (2.6.10 without, 2.6.14 with grsec):
>
> Kernel Invocation Observation
> 2.6.10 in xterm does not seem to crash
> 2.6.10 from menu Always crashes, always same glibc-address
> (even after X shutdown and new start)
> 0x0000000000ef39a0
> 2.6.14 in xterm Crashes roughly 50% of the time, always
> different address, crash less likly if started
> succesfully already (i.e. in a row, once an
> instance actually started)
> 2.6.14 from menu Except one attempt always crashes but
> different glibc-adress each time:
> 0x0000000000eff0d0
> 0x0000000000ef7bf0
> 0x0000000000ef6bf0
> 0x0000000000efdf40
> 0x0000000000efe6e0
> 0x0000000000efcad0
> 0x0000000000efc2a0
> 0x0000000000efa5f0
>
> Of course, I did not run any statistics, so the numbers are not
> accurate, i.e. the succesfull launch from the menu just happend during
> the last test (I tried this yesterday quite a few times already,
> always without success).
>
> The reason the addresses are different in 2.6.14 probably *is* grsec
> specific (due to memory randomization). So looking at the above data
> from 2.6.10, there is a bug in texshow, just that grsec sometimes
> (seldom) hides it, approx. 50% of the time hits it (where command line
> execution is involved).
I would be grateful if some perl wizard could help us out.
Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)
Reply to: