Gerard Goossen wrote:
> This patch fixes the sequence number generation when
-Dmad is enabled.
> I haven't tried it with all the dump refactor patches
of Jim Cromie, but
> it fixes the (revised) t/run/debugging.t test.
>
>
thanks for following up on this.
<to catch everyone else up>
the t/run/debugging.t test he speaks of was 1st patch of my
dump-refactor series.
It just added a test, active only under -DEBUGGING (so I see
it as safe
for 5.10)
When I tried it on a -Dmad -DEBUGGING build, it exposed an
op-sequencing
off-by-one error.
IE- abreviating..
# )/
# got: ' TYPE = leave ===> DONE'
# want: (?-xism:1 TYPE = leave ===> DONE)
# got: ' {'
# want: (?-xism: {)
# got: '1 TYPE = enter ===> 2'
# want: (?-xism:2 TYPE = enter ===> 3)
# got: ' {'
Not knowing enough about mad-ness, I punted, and asked
Gerard
(privately) to apply his mad-skills.
His patch yanks one chunk of
Change 27422 by nicholas nicholas-saigo on
2006/03/08 16:29:26
MAD changes to dump.c
Which I suspect was a quick hack around some problem that
has since been fixed at the root cause.
Nicholas, can you comment ?
Anyway, I applied his patch, and it restores expected
sequencing.
Ive also tested his patch against a set of 'poor-mans-smoke'
builds,
(but without my dump-test patch), and nothing went boom.
setup_pbd qw(bld-plain);
setup_pbd qw(bld-plainthr -Dusethreads);
setup_pbd qw(bld-plainithr -Duseithreads);
setup_pbd qw(bld-64 -Duse64bitint);
setup_pbd qw(bld-more -Dusemorebits);
setup_pbd qw(bld-slab -Accflags=-DPL_OP_SLAB_ALLOC);
setup_pbd qw(bld-mad -Dmad);
setup_pbd qw(bld-mad-thr -Dmad -Dusethreads);
setup_pbd qw(bld-mad-dbg -Dmad -DEBUGGING);
setup_pbd qw(bld-mad-thr-dbg -Dmad -Dusethreads
-DEBUGGING);
setup_pbd qw(bld-ro -DDEBUGGING
-Accflags=-DPERL_DEBUG_READONLY_OPS);
setup_pbd qw(bld-stdio -Uperlio);
setup_pbd qw(bld-malloc -Dusemymalloc);
setup_pbd qw(bld-large -Duselargefiles);
setup_pbd qw(bld-ocow
-Accflags='-DPERL_OLD_COPY_ON_WRITE');
setup_pbd qw(bld-ocow-thr
-Accflags='-DPERL_OLD_COPY_ON_WRITE'
-Duseithreads);
setup_pbd qw(bld-ocow-mlc
-Accflags='-DPERL_OLD_COPY_ON_WRITE'
-Dusemymalloc);
setup_pbd qw(bld-ocow-mlc-thr
-Accflags='-DPERL_OLD_COPY_ON_WRITE'
-Dusemymalloc -Duseithreads);
(tests are still running)
> Jim: does this solve all the mad errors? I'll try your
other patches and
> see how it goes.
>
It looks good - I'll regenerate the t/run/mad.t patch I
posted earlier
with the correct op-sequence numbers.
> If there are still problems with mad you might also
want to try the
> 'bleadgerard' branch of 'git://dev.tty.nl/perl', which
has more mad
> patches.
>
>
Can you prep a 6 line script for us git illiterati ?
Something to establish a git repo,
perhaps fill it with blead from a rsync tree (in order to
not suck your
bandwith)
then pull your branches.
Id be happy to use it
Im re-attaching the dump-test patch
It now adds ext/B/t/debugging.t, since I reworked it to use
OptreeCheck.pm
(which is now extended to support using -Dx flag)
RGS, if you wish to apply, feel free to rename debugging.t
to dump-debug.t,
or whatever else you like.
thanks again,
jimc
|