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

Bug#191162: mktexpk: segfaults



Hi,

On Tue, Apr 29, 2003 at 08:15:49AM +0200, Hilmar Preusse wrote:
> On 29.04.03 B Thomas (thomas.1037@osu.edu) wrote:
> 
> Hi,
> 
> > I was directed to file a bug report here by dvisvga maintainers as
> > the following command
> > mktexpk --mfmode / --bdpi 300 --mag 1+0/300 --dpi 300 msbm10
> > segfaults.
> > 
> mktexpk is a shell skript. So rather give us the output of it, after
> you've put a "set -x" at the beginning of the skript. We would like
> to see which called program fails.
> 

adding set -x at the begining did not work probably because mktexpk is
a perl script. While I have little knowledge of perl. I looked up the
man pages and did the following. I put a -d switch in the first line.
At the debuger prompt I set the trace on `t`. The command I ran to call
mktexpk was :

mktexpk --mfmode / --bdpi 300 --mag 1+0/300 --dpi 300 msbm10

The perl debuger gave copious output . (I couldn't figure out how to
save it to a file). In any case here is the tail of the out put at which
point mktexpk began to hang the debuger. 'top' told me that mktexpk was
hogging more than 95% of my cpu time. This went on for about 5 minutes,
when I killed mktexpk. I am a bit surpriesed it did not segfault.
Running the mktexpk , causes it to segfault in less than 30 seconds.
Do let me know what else you would like me to do.

--------------------PERL DEBUGGER OUTPUT------------------------
165:        chdir "$TEMPDIR"  or die "$progname: Couldn't chdir
$TEMPDIR!\n";
TeX::Mktex::init(/usr/lib/perl5/TeX/Mktex.pm:169):
169:        $MT_VARTEXFONTS = $ENV{'MT_VARTEXFONTS'} ||
170:            $kpse_plain->expand_var('$VARTEXFONTS');
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:142):
142:        if (@_ != 2) {
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:150):
150:        my ($obj,$var) = @_;
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:151):
151:        if (!ref($obj)) {
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:154):
154:        if (ref($obj) eq 'HASH') {
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:158):
158:        return unless defined wantarray();
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:159):
159:        $obj->do_opts();
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:319):
319:        my ($ropts,$fmt);
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:320):
320:        $ropts = shift;
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:322):
322:        $debug=$ropts->{'debug'};
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:323):
323:        reset_program_name($ropts->{'progname'});
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:325):
325:        init_prog(uc($program_name), $ropts->{'dpi'},
$ropts->{'mode'}, 0);
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:326):
326:        init_format($ropts->{'format-type'}) if exists
$ropts->{'format-type'};
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:327):
327:        for $fmt (@{$ropts->{'mktex'}}) {
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:327):
327:        for $fmt (@{$ropts->{'mktex'}}) {
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:330):
330:        for $fmt (@{$ropts->{'no-mktex'}}) {
TeX::Kpsewhich::do_opts(/usr/lib/perl5/TeX/Kpsewhich.pm:330):
330:        for $fmt (@{$ropts->{'no-mktex'}}) {
TeX::Kpsewhich::expand_var(/usr/lib/perl5/TeX/Kpsewhich.pm:160):
160:        return var_expand($var);

----------------------END PERL DEBUGGER OUTPUT---------------------
> 
> BTW: Do you know a way to configure dvisvga that it calls mktexpk, if
> the pk-File is missing? Here (stable) it doesn't work at all.

dvisvga should initiate the generation of pk-files if the are not there.
There was a bug the prevented it from doing so . This bug has been fixed
in the current unstable distribution. I don't know what could be the
cause of your specific problem. In my caes on unstable , dvisvga does
force the generation of pk files as it does call mktexpk but for some
reason it can't find the pk files. The dvisvga developers told me that
if maketexpk itself segfaults they will have a hard time trying to fix
any downstream bugs, hence my bug report to you.

Thank you for you paitence and effort. Let me know if there is anything
else I can do.
Sincerely
B Thomas



Reply to: