Alexander Mohr <thehes...@gmail.com> added the comment:

here's another problem, if I change that function signature to:
def test(s3_client):
    try:
        method = getattr(s3_client, sys.argv[1])
        method(Bucket='archpi.dabase.com', Key='doesnotexist')
    except botocore.exceptions.ClientError as e:
        if e.response['ResponseMetadata']['HTTPStatusCode'] != 404:
            raise 

    print('.', end='', flush=True)

the print happens every time and the raise does not ever get hit, yet the raise 
line is still marked as the top "leak" (unfreed blocks).  It's really strange.  
Furthermore the second top "leak" is this stack:
  File "/tmp/Python-3.6.5/Lib/sre_compile.py", line 439
    return prefix, prefix_skip, False
  File "/tmp/Python-3.6.5/Lib/sre_compile.py", line 498
    prefix, prefix_skip, got_all = _get_literal_prefix(pattern)
  File "/tmp/Python-3.6.5/Lib/sre_compile.py", line 548
    _compile_info(code, p, flags)


which doesn't make sense either, why would the return line be marked as having 
allocated anything?

and btw I did change the implementation to start early, and then compare 
differences between a snapshot at iter 20 and iter 100 and the same holds true 
as I stated, there should logically be no difference between starting it later, 
or starting in the beginning and comparing two snapshots as all what you're 
doing in either cases is comparing two

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33565>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to