On Thu, 23 Feb 2012, Remi Pointel wrote:

> Hi,
> 
> this is the diff to use rthreads with Python.
> 
> Attached are two diffs:
> - update 2.7.1 to use rthreads
> - update 2.7.1 to 2.7.2 to use rthreads
> 
> Please test the first diff, and if everything is ok test the second.

Hi,

There's a failure.

$ python -V ; sysctl kern.version hw.machine hw.model hw.ncpu
Python 2.7.2
kern.version=OpenBSD 5.1-current (GENERIC.MP) #4: Mon Feb 27 06:43:33 CET 2012
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

hw.machine=amd64
hw.model=Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
hw.ncpu=2

...

Re-running test 'test_threading' in verbose mode
test_acquire_contended (test.test_threading.LockTests) ... ok
test_acquire_destroy (test.test_threading.LockTests) ... ok
test_acquire_release (test.test_threading.LockTests) ... ok
test_constructor (test.test_threading.LockTests) ... ok
test_different_thread (test.test_threading.LockTests) ... ok
test_reacquire (test.test_threading.LockTests) ... ok
test_thread_leak (test.test_threading.LockTests) ... ok
test_try_acquire (test.test_threading.LockTests) ... ok
test_try_acquire_contended (test.test_threading.LockTests) ... ok
test_with (test.test_threading.LockTests) ... ok
test__is_owned (test.test_threading.RLockTests) ... ok
test_acquire_contended (test.test_threading.RLockTests) ... ok
test_acquire_destroy (test.test_threading.RLockTests) ... ok
test_acquire_release (test.test_threading.RLockTests) ... ok
test_constructor (test.test_threading.RLockTests) ... ok
test_different_thread (test.test_threading.RLockTests) ... ok
test_reacquire (test.test_threading.RLockTests) ... ok
test_release_unacquired (test.test_threading.RLockTests) ... ok
test_thread_leak (test.test_threading.RLockTests) ... ok
test_try_acquire (test.test_threading.RLockTests) ... ok
test_try_acquire_contended (test.test_threading.RLockTests) ... ok
test_with (test.test_threading.RLockTests) ... ok
test_is_set (test.test_threading.EventTests) ... ok
test_notify (test.test_threading.EventTests) ... ok
test_timeout (test.test_threading.EventTests) ... ok
test__is_owned (test.test_threading.ConditionAsRLockTests) ... ok
test_acquire_contended (test.test_threading.ConditionAsRLockTests) ... ok
test_acquire_destroy (test.test_threading.ConditionAsRLockTests) ... ok
test_acquire_release (test.test_threading.ConditionAsRLockTests) ... ok
test_constructor (test.test_threading.ConditionAsRLockTests) ... ok
test_different_thread (test.test_threading.ConditionAsRLockTests) ... ok
test_reacquire (test.test_threading.ConditionAsRLockTests) ... ok
test_release_unacquired (test.test_threading.ConditionAsRLockTests) ... ok
test_thread_leak (test.test_threading.ConditionAsRLockTests) ... ok
test_try_acquire (test.test_threading.ConditionAsRLockTests) ... ok
test_try_acquire_contended (test.test_threading.ConditionAsRLockTests) ... ok
test_with (test.test_threading.ConditionAsRLockTests) ... ok
test_acquire (test.test_threading.ConditionTests) ... ok
test_notify (test.test_threading.ConditionTests) ... ok
test_timeout (test.test_threading.ConditionTests) ... ok
test_unacquired_notify (test.test_threading.ConditionTests) ... ok
test_unacquired_wait (test.test_threading.ConditionTests) ... ok
test_acquire (test.test_threading.SemaphoreTests) ... ok
test_acquire_contended (test.test_threading.SemaphoreTests) ... ok
test_acquire_destroy (test.test_threading.SemaphoreTests) ... ok
test_constructor (test.test_threading.SemaphoreTests) ... ok
test_default_value (test.test_threading.SemaphoreTests) ... ok
test_release_unacquired (test.test_threading.SemaphoreTests) ... ok
test_try_acquire (test.test_threading.SemaphoreTests) ... ok
test_try_acquire_contended (test.test_threading.SemaphoreTests) ... ok
test_with (test.test_threading.SemaphoreTests) ... ok
test_acquire (test.test_threading.BoundedSemaphoreTests) ... ok
test_acquire_contended (test.test_threading.BoundedSemaphoreTests) ... ok
test_acquire_destroy (test.test_threading.BoundedSemaphoreTests) ... ok
test_constructor (test.test_threading.BoundedSemaphoreTests) ... ok
test_default_value (test.test_threading.BoundedSemaphoreTests) ... ok
test_recursion_limit (test.test_threading.BoundedSemaphoreTests) ... skipped 
'test macosx problem'
test_release_unacquired (test.test_threading.BoundedSemaphoreTests) ... ok
test_try_acquire (test.test_threading.BoundedSemaphoreTests) ... ok
test_try_acquire_contended (test.test_threading.BoundedSemaphoreTests) ... ok
test_with (test.test_threading.BoundedSemaphoreTests) ... ok
test_PyThreadState_SetAsyncExc (test.test_threading.ThreadTests) ...     
started worker thread
    trying nonsensical thread id
    waiting for worker thread to get started
    verifying worker hasn't exited
    attempting to raise asynch exception in worker
    waiting for worker to say it caught the exception
    all OK -- joining worker
ok
test_enumerate_after_join (test.test_threading.ThreadTests) ... ok
test_finalize_runnning_thread (test.test_threading.ThreadTests) ... ok
test_finalize_with_trace (test.test_threading.ThreadTests) ... ok
test_foreign_thread (test.test_threading.ThreadTests) ... ok
test_ident_of_no_threading_threads (test.test_threading.ThreadTests) ... ok
test_join_nondaemon_on_shutdown (test.test_threading.ThreadTests) ... ok
test_limbo_cleanup (test.test_threading.ThreadTests) ... ok
test_no_refcycle_through_target (test.test_threading.ThreadTests) ... ok
test_various_ops (test.test_threading.ThreadTests) ... task <thread 0> will run 
for 54.2 usec
1 tasks are running
task <thread 1> will run for 65.4 usec
2 tasks are running
task <thread 2> will run for 39.7 usec
3 tasks are runningtask <thread 3> will run for 24.2 usec

task <thread 4> will run for 99.0 usec
task <thread 5> will run for 18.0 usec
task <thread 6> will run for 3.3 usec
task <thread 7> will run for 81.8 usec
task <thread 8> will run for 82.1 usec
task <thread 9> will run for 86.7 usecwaiting for all tasks to complete

tasktask task <thread 1> <thread 2>  done<thread 0>done
 
done<thread 1> is finished. 2 tasks are running

<thread 2> is finished. 1 tasks are running
<thread 0> is finished. 0 tasks are running
1 tasks are running
2 tasks are running
3 tasks are running
task tasktask<thread 4>  <thread 3>done<thread 5> 
 donedone

 <thread 4> is finished. 2 tasks are running
<thread 3> is finished. 1 tasks are running
<thread 5> is finished. 0 tasks are running
1 tasks are running
2 tasks are running
3 tasks are running
tasktask  task<thread 6><thread 7>   <thread 8>donedone 

done
 <thread 6> is finished. 2 tasks are running
<thread 7> is finished. 1 tasks are running
<thread 8> is finished. 0 tasks are running
1 tasks are running
task <thread 9> done
<thread 9> is finished. 0 tasks are running
all tasks done
ok
test_various_ops_large_stack (test.test_threading.ThreadTests) ... with 1MB 
thread stack size...
task <thread 0> will run for 16.6 usec
1 tasks are running
task <thread 1> will run for 78.6 usec
2 tasks are running
task <thread 2> will run for 32.5 usec
3 tasks are running
task <thread 3> will run for 39.2 usec
task <thread 4> will run for 48.2 usec
task <thread 5> will run for 41.3 usec
task <thread 6> will run for 91.7 usec
task <thread 7> will run for 36.4 usec
task <thread 8> will run for 52.1 usec
task <thread 9> will run for 19.3 usec
 waiting for all tasks to complete
tasktasktask   <thread 1><thread 0><thread 2>   donedonedone


<thread 0> is finished. 2 tasks are running
<thread 1> is finished. 1 tasks are running
<thread 2> is finished. 0 tasks are running
1 tasks are running
2 tasks are running
3 tasks are running
task <thread 5> done
tasktask<thread 5> is finished. 2 tasks are running  
<thread 3><thread 4>  donedone

3 tasks are running
<thread 3> is finished. 2 tasks are running
<thread 4> is finished. 1 tasks are running
2 tasks are running
3 tasks are running
tasktask task  <thread 6><thread 8><thread 7>   donedonedone


<thread 6> is finished. 2 tasks are running
<thread 8> is finished. 1 tasks are running
<thread 7> is finished. 0 tasks are running
1 tasks are running
task <thread 9> done
<thread 9> is finished. 0 tasks are running
all tasks done
ok
test_various_ops_small_stack (test.test_threading.ThreadTests) ... with 256kB 
thread stack size...
task <thread 0> will run for 40.0 usec
1 tasks are running
task <thread 1> will run for 21.7 usec
2 tasks are running
task <thread 2> will run for 12.3 usec
3 tasks are running
task <thread 3> will run for 21.7 usec
task <thread 4> will run for 39.3 usec
task <thread 5> will run for 85.7 usec
task <thread 6> will run for 54.2 usec
task <thread 7> will run for 52.0 usec
task <thread 8> will run for 52.5 usec
task <thread 9> will run for 28.8 usecwaiting for all tasks to complete

tasktasktask   <thread 1><thread 0><thread 2>   donedonedone


<thread 1> is finished. 2 tasks are running
<thread 0> is finished. 1 tasks are running
<thread 2> is finished. 0 tasks are running
1 tasks are running
2 tasks are running
3 tasks are running
task <thread 3> done
tasktask <thread 5> done
 <thread 3> is finished. 2 tasks are running<thread 4>
 done<thread 5> is finished. 1 tasks are running

<thread 4> is finished. 0 tasks are running
1 tasks are running
2 tasks are running
3 tasks are running
tasktasktask   <thread 6><thread 7><thread 8>   donedonedone


<thread 6> is finished. 2 tasks are running
<thread 7> is finished. 1 tasks are running
<thread 8> is finished. 0 tasks are running
1 tasks are running
task <thread 9> done
<thread 9> is finished. 0 tasks are running
all tasks done
ok
test_1_join_on_shutdown (test.test_threading.ThreadJoinOnShutdown) ... ok
test_2_join_in_forked_process (test.test_threading.ThreadJoinOnShutdown) ... ok
test_3_join_in_forked_from_thread (test.test_threading.ThreadJoinOnShutdown) 
... FAIL
test_4_joining_across_fork_in_worker_thread 
(test.test_threading.ThreadJoinOnShutdown) ... ok
test_5_clear_waiter_locks_to_avoid_crash 
(test.test_threading.ThreadJoinOnShutdown) ... ok
test_daemonize_active_thread (test.test_threading.ThreadingExceptionTests) ... 
ok
test_joining_current_thread (test.test_threading.ThreadingExceptionTests) ... ok
test_joining_inactive_thread (test.test_threading.ThreadingExceptionTests) ... 
ok
test_start_thread_again (test.test_threading.ThreadingExceptionTests) ... test 
test_threading failed -- Traceback (most recent call last):
  File "/usr/ports/pobj/Python-2.7.2/Python-2.7.2/Lib/test/test_threading.py", 
line 499, in test_3_join_in_forked_from_thread
    self._run_and_join(script)
  File "/usr/ports/pobj/Python-2.7.2/Python-2.7.2/Lib/test/test_threading.py", 
line 434, in _run_and_join
    self.assertEqual(data, "end of main\nend of thread\n")
AssertionError: '' != 'end of main\nend of thread\n'

ok

======================================================================
FAIL: test_3_join_in_forked_from_thread 
(test.test_threading.ThreadJoinOnShutdown)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/ports/pobj/Python-2.7.2/Python-2.7.2/Lib/test/test_threading.py", 
line 499, in test_3_join_in_forked_from_thread
    self._run_and_join(script)
  File "/usr/ports/pobj/Python-2.7.2/Python-2.7.2/Lib/test/test_threading.py", 
line 434, in _run_and_join
    self.assertEqual(data, "end of main\nend of thread\n")
AssertionError: '' != 'end of main\nend of thread\n'

----------------------------------------------------------------------
Ran 82 tests in 4.494s

FAILED (failures=1, skipped=1)
*** Error code 1

Stop in /usr/ports/pobj/Python-2.7.2/Python-2.7.2 (line 735 of Makefile).
*** Error code 1

Stop in /usr/ports/mystuff/lang/python/2.7 (line 2484 of 
/usr/ports/infrastructure/mk/bsd.port.mk).
*** Error code 1

Stop in /usr/ports/mystuff/lang/python/2.7 (line 2204 of 
/usr/ports/infrastructure/mk/bsd.port.mk).
--- Mon Feb 27 09:45:48 CET 2012

Reply via email to