Thus said Stephen Gildea on Wed, 20 Nov 2024 09:23:11 -0800:
> I cloned git at HEAD, applied your patch, applied my patch
> 1 of 2 from today's email (so, the new test, not my fix), and
> "autoreconf -i && ./configure && make check".
I cloned master [ffe12c9a] and applied your test-pop patch and also
my nmh-master-take-two.patch patch. I then ran 100 iterations with
increasing line lengths:
$ time for j in $(jot 100 1000 - 1000); do MH_TEST_LONG_LINE=$j make
check-TESTS TESTS=test/inc/test-pop; done | grep -c PASS
100
6m56.07s real 0m49.40s user 4m36.99s system
How about 10 tests at larger increment (I had to reduce to 10 because
printf is slow at generating so much data):
$ time for j in $(jot 10 100000 - 100000); do MH_TEST_LONG_LINE=$j make
check-TESTS TESTS=test/inc/test-pop; done | grep -c PASS
10
7m33.01s real 0m49.42s user 4m56.34s system
What about 100 iterations when the buffer is growing and "shifty":
$ time for j in $(jot 100 1000 - 999); do MH_TEST_LONG_LINE=$j make check-TESTS
TESTS=test/inc/test-pop; done | grep -c PASS
100
6m49.37s real 0m49.18s user 4m32.45s system
So I'm not seeing any failures with my patch using your updated
test-pop. I'm now curious why you're getting a segfault and I am not.
Any chance you can get a backtrace like Ken suggested?
Andy