Hi,

I forgot to mention, but the wxPython App.MainLoop() method, which
launches and runs the GUI indefinitely, can only be executed in the
main Python thread.  I am debugging at the moment to try to work out
if this is indeed the case in the test-suite.

Cheers,

Edward



On 25 August 2011 15:21, Edward d'Auvergne <[email protected]> wrote:
> Hi,
>
> That's great that you have time, to have this working properly is
> quite important.  I didn't realise how much of an issue the merging of
> the multi-processor code and GUI code would be.  I have now merged the
> multi-processor branch into the main 1.3 line, as well as the new GUI
> branch, and that is where the problems are.  I think there are at
> least 2 problems currently occurring.  The first has to do with the
> GUI tests:
>
> $ relax --gui-test
>
> I looks like that there is a clash of the wxPython App.MainLoop() and
> how the master processors of the multi package interact.  There
> appears to be race conditions, even in the uni-processor fabric.  This
> only occurs in the test-suite, I have just tested manual operation of
> the GUI which works, so this makes things more difficult.  The problem
> was not existent in the gui_testing branch (svn co
> svn+ssh://[email protected]/svn/relax/branches/gui_testing/@14200)
> until after the multi-processor code was merged.
>
>
> The second problem is IO redirection.  This occurs in a number of
> places in relax.  These include:
>
> 1)  The --log command line flag which causes STDOUT and STDERR to be
> sent to file.
>
> 2)  The --tee command line flag which causes STDOUT and STDERR to be
> sent both to file and to the terminal.
>
> 3)  The test suite.  The STDOUT and STDERR streams are caught and only
> sent to STDERR if there is an error or failure in a test.
>
> 4)  The relax controller (part of the GUI).  This is a window to which
> STDOUT and STDERR are directed.  In the test-suite mode, the streams
> also output to the terminal.
>
> 5)  The multi-processor package.  There are two parts.  The first is
> essentially a pre-filter which prepends certain tokens to the IO
> stream (i.e. the 'M  |', 'M  E|', and 'S 1|' text).  I cannot see how
> we can do this as 4) is always set up after 5).  So I am considering
> removing this part.  It will make it more difficult with debugging,
> but I can see no other way.
>
> 6)  The second part for the multi-processor package, which is
> currently non-functional, is the catching of the IO streams of the
> slave processes to send back to the master.  I will try to mimic the
> relax controller code here and store all slave text as a list with
> flags specifying whether it is STDOUT or STDERR.  Then the list can be
> returned to the master at which point the text can be sent to the two
> streams.
>
> The problem is that at each point here, sys.stdout and sys.stderr are
> replaced and the order in which this happens is impossible to change.
> Well 4) will always be last.
>
> Regards,
>
> Edward
>
>
> On 25 August 2011 14:51, Gary Thompson <[email protected]> wrote:
>> On 08/25/2011 11:40 AM, Edward d'Auvergne wrote:
>>>
>>> Hi,
>>>
>>> I'm working on this at the moment.  Unfortunately the main 1.3 line is
>>> severely broken at the moment!  The new multi-processor package is
>>> clashing with and causing relax to die hard on the test-suite and the
>>> GUI.  The main cause is IO redirection of sys.stdout and sys.stderr.
>>> The multi-processor code (even in uni-processor mode) is hijacking the
>>> streams and the test suite and GUI do not know what to do anymore.
>>> Once I eliminate all the IO redirection of the multi package, apart
>>> from the IO capture on the slave processes which is non-functional
>>> anyway, then the test-suite should be back in order.  I noticed you
>>> performed an svnmerge, and this is likely causing the breakages in
>>> your branch.
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>>
>>
>> Hi Ed
>> I do at last have time to work on this, would you like me to have a look
>> at what is going on?
>>
>> which branch do I need to look at? and what are the specific problems
>> with the io redirect that need to be addressed?
>>
>> regards
>> gary
>>
>>
>>> On 25 August 2011 12:23, Sébastien Morin<[email protected]>
>>>  wrote:
>>>>
>>>> Hi Ed,
>>>>
>>>> While working on "inversion-recovery" branch, I realized that the system
>>>> tests "Relax_fit.check_curve_fitting__exp_2param_neg" and
>>>> "Relax_fit.check_curve_fitting__exp_3param_inv_neg" were failing. In
>>>> order
>>>> to pin point the problem, I checked on the main 1.3 branch (514439) and
>>>> system test "Relax_fit.check_curve_fitting" also failed, with the same
>>>> error:
>>>>
>>>> ==========
>>>> ======================================================================
>>>> ERROR: check_curve_fitting (test_suite.system_tests.relax_fit.Relax_fit)
>>>> Check the results of the curve-fitting.
>>>> ----------------------------------------------------------------------
>>>>
>>>> relax>  pipe.create(pipe_name='mf', pipe_type='mf')
>>>> Traceback (most recent call last):
>>>>  File
>>>>
>>>> "/Users/semor/Documents/pse-4/collaborations/relax/relax-1.3/test_suite/system_tests/relax_fit.py",
>>>> line 60, in check_curve_fitting
>>>>    self.assertEqual(cdp.curve_type, 'exp')
>>>> AttributeError: 'PipeContainer' object has no attribute 'curve_type'
>>>>
>>>> ----------------------------------------------------------------------
>>>> Ran 1 test in 0.001s
>>>>
>>>> FAILED (errors=1)
>>>> ==========
>>>>
>>>> I tried changing the pipe type from "mf" to "relax_fit" (as it should
>>>> be).
>>>> This did not solve the issue...
>>>>
>>>> Any idea ?
>>>> Thanks !
>>>>
>>>>
>>>> Séb   :)
>>>>
>>>> --
>>>> Sébastien Morin, Ph.D.
>>>> Postdoctoral Fellow, S. Grzesiek NMR Laboratory
>>>> Department of Structural Biology
>>>> Biozentrum, Universität Basel
>>>> Klingelbergstrasse 70
>>>> 4056 Basel
>>>> Switzerland
>>>>
>>>>
>>>> _______________________________________________
>>>> relax (http://nmr-relax.com)
>>>>
>>>> This is the relax-devel mailing list
>>>> [email protected]
>>>>
>>>> To unsubscribe from this list, get a password
>>>> reminder, or change your subscription options,
>>>> visit the list information page at
>>>> https://mail.gna.org/listinfo/relax-devel
>>>>
>>> _______________________________________________
>>> relax (http://nmr-relax.com)
>>>
>>> This is the relax-devel mailing list
>>> [email protected]
>>>
>>> To unsubscribe from this list, get a password
>>> reminder, or change your subscription options,
>>> visit the list information page at
>>> https://mail.gna.org/listinfo/relax-devel
>>
>>
>> --
>> -------------------------------------------------------------------
>> Dr Gary Thompson                  [Homans Lab Research Coordinator]
>>
>> Astbury Centre for Structural Molecular Biology,
>> University of Leeds,
>> Leeds, LS2 9JT, West-Yorkshire, UK             Tel. +44-113-3433024
>> email: [email protected]                   Fax  +44-113-3431935
>> -------------------------------------------------------------------
>>
>>
>

_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to