This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Windows: failures in refleak mode
Type: resource usage Stage: resolved
Components: Tests Versions: Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: python-dev, sbt, skrah
Priority: normal Keywords: patch

Created on 2012-02-25 22:47 by skrah, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
mp_wfmo_leak.patch sbt, 2012-02-26 23:28
time_strftime_leak.patch sbt, 2012-02-27 12:59
Messages (10)
msg154287 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-02-25 22:47
The following tests fail on Windows in refleak mode. I used
24ca28cc9c9c as a reference point. Build is x64. Summary:

test_concurrent_futures, test_datetime, test_multiprocessing, test_strftime and test_time are leaking.



C:\Users\stefan\hg\master\PCbuild>amd64\python_d.exe -m test -uall -R :: test_multiprocessing              
[1/1] test_multiprocessing                                                                                 
beginning 9 repetitions                                                                                    
123456789                                                                                                  
.........                                                                                                  
test_multiprocessing leaked [3, 3, 3, 3] references, sum=12                                                
Warning -- multiprocessing.process._dangling was modified by test_multiprocessing                          
1 test failed:                                                                                             
    test_multiprocessing                                                                                   
[172456 refs]


C:\Users\stefan\hg\master\PCbuild>amd64\python_d.exe -m test -uall -R :: test_concurrent_futures           
[1/1] test_concurrent_futures                                                                              
beginning 9 repetitions                                                                                    
123456789                                                                                                  
.........                                                                                                  
test_concurrent_futures leaked [1524, 1518, 1524, 1524] references, sum=6090                               
1 test failed:                                                                                             
    test_concurrent_futures                                                                                
[170398 refs]                                                                                              
                     

C:\Users\stefan\hg\master\PCbuild>amd64\python_d.exe -m test -uall -R :: test_datetime                     
[1/1] test_datetime                                                                                        
beginning 9 repetitions                                                                                    
123456789                                                                                                  
.........                                                                                                  
test_datetime leaked [20, 20, 20, 20] references, sum=80                                                   
1 test failed:                                                                                             
    test_datetime                                                                                          
[191763 refs]                                                                                            



C:\Users\stefan\hg\master\PCbuild>amd64\python_d.exe -m test -uall -R :: test_strftime                     
[1/1] test_strftime                                                                                        
beginning 9 repetitions                                                                                    
123456789                                                                                                  
.........                                                                                                  
test_strftime leaked [2761, 2761, 2761, 2761] references, sum=11044                                        
1 test failed:                                                                                             
    test_strftime                                                                                          
[170275 refs]                                                                                          


C:\Users\stefan\hg\master\PCbuild>amd64\python_d.exe -m test -uall -R :: test_time                         
[1/1] test_time                                                                                            
beginning 9 repetitions                                                                                    
123456789                                                                                                  
.........                                                                                                  
test_time leaked [1, 1, 1, 1] references, sum=4                                                            
1 test failed:                                                                                             
    test_time                                                                                              
[144556 refs]
msg154420 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-02-26 23:28
The failures for test_multiprocessing and test_concurrent_futures seem to be caused by a leak in _multiprocessing.win32.WaitForMultipleObjects().

The attached patch fixes those leaks for me (on a 32 bit build).
msg154473 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-02-27 12:56
Nice! This also fixes the leak in test_concurrent_futures. The
time-related test failures probably also have a single source.


I ran the whole test suite on x64 with no (new) failures.
msg154474 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-02-27 12:57
New changeset ba51573fcf90 by Stefan Krah in branch 'default':
Issue #14125: Fix multiprocessing refleak on Windows. Patch by sbt.
http://hg.python.org/cpython/rev/ba51573fcf90
msg154475 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-02-27 12:58
The attached patch fixes the time related refleaks.
msg154476 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-02-27 12:59
Ah.  Forgot the patch.
msg154481 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-02-27 15:33
New changeset d4adbf908983 by Stefan Krah in branch 'default':
Issue #14125: Fix refleak in timemodule.c on Windows. Thanks sbt for pointing
http://hg.python.org/cpython/rev/d4adbf908983
msg154482 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-02-27 15:36
sbt, thanks again! I chose a different approach because on non-Windows
the unused 'error' label produced compiler warnings.
msg154488 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-02-27 16:40
New changeset b4321f93e3f2 by Stefan Krah in branch '3.2':
Issue #14125: backport refleak fix (d4adbf908983).
http://hg.python.org/cpython/rev/b4321f93e3f2
msg154489 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2012-02-27 16:49
Test suite is OK also on 3.2. Closing.
History
Date User Action Args
2022-04-11 14:57:27adminsetgithub: 58333
2012-02-27 16:49:23skrahsetstatus: open -> closed
messages: + msg154489

components: + Tests
resolution: fixed
stage: resolved
2012-02-27 16:40:01python-devsetmessages: + msg154488
2012-02-27 15:36:17skrahsetmessages: + msg154482
2012-02-27 15:33:31python-devsetmessages: + msg154481
2012-02-27 12:59:45sbtsetfiles: + time_strftime_leak.patch

messages: + msg154476
2012-02-27 12:58:57sbtsetmessages: + msg154475
2012-02-27 12:57:25python-devsetnosy: + python-dev
messages: + msg154474
2012-02-27 12:56:18skrahsetmessages: + msg154473
2012-02-26 23:28:12sbtsetfiles: + mp_wfmo_leak.patch

nosy: + sbt
messages: + msg154420

keywords: + patch
2012-02-25 22:47:30skrahcreate