Infinite loop when using fullcoverage

Issue #191 invalid
Brett Cannon created an issue

When I try to run fullcoverage with {{{ PYTHONPATH=../../coveragepy/coverage/fullcoverage ./python.exe ../../coveragepy run --pylib Lib/test/ }}} (and verified that it pulls in fullcoverage/ by running Python with -v), it seems to get stuck in an infinite loop. I think it might have to do with Collector.start() calling what self._start_tracer() returns on the results collected during startup and ending up tracing itself (or at least that what seems to happen when I print out PyTracer._trace() gets passed. I tried postponing the processing to Collector.stop(), but that didn't seem to actually improve the coverage results (e.g. Lib/stat should have a very high coverage as almost all of its code is just constants and one-line function definitions).

Comments (4)

  1. Brett Cannon reporter

    I should also mention I submitted a pull request to go with this issue that at least gets the code running again (but obviously doesn't fix the infinite loop).

  2. Ned Batchelder repo owner

    I think this is a simple case of running with the Python trace function instead of the C trace function. I've added a clearer message when that happens.

  3. Log in to comment