Victor> I wrote the feature (both tracemalloc and query tracemalloc when a
Victor> buffer overflow is detected), so I should be able to help you ;-)

Yes, I thought you might. :-)

I've attached the output of a more complete run. The command is

% PYTHONTRACEMALLOC=5 ./python ./Tools/scripts/run_tests.py -R
5:50:reflog.txt test_rattlesnake

where test_rattlesnake.py has been cut down to a single unit test,
which presumably is the one which exercises the problematic code. I
don't get the error about writing off either end of the buffer unless
I set the second arg pretty high (it succeeds at 40, fails at 45).

I'll also quote one part of Tim's response:

Tim> To my eyes, you left out the most important part ;-)  A traceback
Tim> showing who made the fatal free() call to begin with.

Which is correct as far as that goes, but I hadn't yet given up all
hope of figuring things out. I was more concerned with why I couldn't
(and still can't) get tracemalloc to sing and dance. :-)

I thought setting PYTHONTRACEMALLOC should provoke some useful output,
but I was confused into thinking I was (am?) still missed something
because it continued to produce this message:

Enable tracemalloc to get the memory block allocation traceback

which suggests to me tracemalloc still isn't enabled. That's emitted
from Modules/_tracemalloc.c and seems to be properly protected:

    if (!_Py_tracemalloc_config.tracing) {
        PUTS(fd, "Enable tracemalloc to get the memory block "
                 "allocation traceback\n\n");
        return;
    }

so I think there is still more to do. I was worried enough that I
might have misspelled the environment variable name that I ran again
after copying it from the documentation. No such Doh! moment for me,
though I suspect it might be coming. :-/

FWIW, the register branch of my CPython fork:

https://github.com/smontanaro/cpython/tree/register

is what I'm working with at the moment. Current master has been merged
to it. It should be exactly what is failing for me. (Note that I'm not
asking for help there, just pointing out for the curious where my
busted code is.)

Thanks for both of your responses.

Skip

Attachment: typescript
Description: Binary data

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/BO5672ZXBFVFPEHWUBQMNAZDTEC6XT54/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to