Posted
about 10 years
ago
by
Edward d'Auvergne
Hi,
I am planning in a few weeks time on merging the frame_order_cleanup
branch back into the relax trunk. Despite the name, this branch is a
huge change containing many, many commits and it completes the frame
order theory implementation in relax
... [More]
- which in trunk is very
rudimentary, incomplete and unusable - and brings it up to publication
quality. The merger of the new theory will correspond to a
publication. As this change is so big and brings in a completely new
analysis category into relax, I am thinking of incrementing the major
version number and releasing this as relax 4.0.
Regards,
Edward
[Less]
|
Posted
over 10 years
ago
by
Edward d'Auvergne
For reference, I've created another test which uses many more GUI
elements and which causes a segmentation fault on Mac systems after
less than 300 iterations:
$ ./relax devel_scripts/memory_management/GUI_uf_align_tensor_init.py
This script works
... [More]
flawlessly on Linux and Windows systems.
Regards,
Edward
On 17 March 2015 at 11:54, Edward d'Auvergne <edward-kqII41Zox2pDPfheJLI6IQ< at >public.gmane.org> wrote:
[Less]
|
Posted
over 10 years
ago
by
Edward d'Auvergne
Hi,
Here is a good example of where the Mac GUI limits can be tested:
$ ./relax devel_scripts/memory_management/GUI_uf_time.py
This repetitively calls the time user function 10000 times. This uses
the muppy module from the powerful Pympler
... [More]
package
(https://pythonhosted.org/Pympler/). Looking at the 'muppy_log' file
produced, it can be seen that no extra memory is being leaked. I.e.
all the GUI objects are released. The memory between iteration 100
and the last iteration is the same (except for some extra Python
objects after iteration 1700 when the first invisible problems
probably occur). The way the time user function is called is that the
user function window is created and then destroyed each time. No
wxPython objects are present in memory after the user function is
destroyed. This is different to the GUI behaviour where the window is
created and then closed by being hidden, and a second call simply
reopens the original window. However this test demonstrates the Mac
GUI object failure point ex [Less]
|
Posted
over 10 years
ago
by
Edward d'Auvergne
Hi,
Would anyone know of any tools in Mac OS X which can be used to track
GUI object usage? In MS Windows, the task manager can be set up to
display "USER Objects" and "GUI Objects". I have used this for
debugging to allow the GUI tests to pass
... [More]
again on that system and not
run into the 10,000 object limits. But in Mac and Linux systems, I
have no idea what can be used for a GUI debugging tool! If I could
see these and have an idea about their usage, I might be able to track
down possible GUI object leaks and maybe get the tests to run again.
It might be possible to save memory in other areas, or to even force
Macs to release the GUI objects. But we are currently completely
blind as to what is happening with wxPython, GUI objects, and the Mac
way of handling these.
Cheers,
Edward
On 15 March 2015 at 14:11, Edward d'Auvergne <edward-kqII41Zox2pDPfheJLI6IQ< at >public.gmane.org> wrote:
[Less]
|
Posted
over 10 years
ago
by
Edward d'Auvergne
Hi,
The error I see is:
"""
$ ./relax --gui-tests
=============
= GUI tests =
=============
.........................................Sun Mar 15 13:53:41 Mac.local
Python[248] <Error>: kCGErrorFailure: _CGSBindWindowBacking: cannot
map
... [More]
backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
Set a breakpoint < at > CGErrorBreakpoint() to catch errors as they are
logged.
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
_CGSLockWindow: Unable to lock window
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
_CGSBindWindowBacking: cannot map backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
_CGSLockWindow: Unable to lock window
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
_CGSBindWindowBacking: cannot map backing data shmem
Sun Mar 15 13:53:41 Mac.local Python[248] <Error>: kCGErrorFailure:
_CGSLockWindow: Unable to lock window
"""
This is repeated many, many times until I see:
"""
Pyt [Less]
|
Posted
over 10 years
ago
by
Edward d'Auvergne
Hi Jack,
Maybe you might be able to help solve this problem. It is rather
difficult and I think the easiest solution is to blacklist GUI tests
from running on Mac OS X. However despite the segfaults, I find the
tests useful to make sure all is
... [More]
well in the GUI on a Mac. The
problem is either a bug in wxPython, well really wxWidgets, or a
design flaw in Mac OS X. From what I've read, it sounds more like a
Mac design flaw.
This was previously a problem on MS Windows, but I have solved it for
that OS in relax 3.3.6 (http://wiki.nmr-relax.com/Relax_3.3.6). All
operating systems have a hard limit for the number of GUI objects that
can be created (windows, panels, buttons, etc.). In MS Windows, this
is called "User Objects" and there the limit is 10,000, and "GDI
Object" which has the same limit. In Mac systems, I'm not sure what
the equivalent are called. In Linux, the limits are so high that
we'll never encountered the problem. In relax these limits are
reached due to the design of the GUI, specificall [Less]
|
Posted
over 10 years
ago
by
Jack Howarth
Follow-up Comment #1, bug #23389 (project relax):
This failure also appears in 3.3.6 with 'relax --test-suite'. Oddly it doesn't
occur with 'relax --gui-tests'.
_______________________________________________________
Reply to this item at:
... [More]
<http://gna.org/bugs/?23389>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
[Less]
|
Posted
over 10 years
ago
by
Jack Howarth
URL:
<http://gna.org/bugs/?23389>
Summary: GUI tests segfaults in 3.3.7
Project: relax
Submitted by: jhowarth
Submitted on: Sat 14 Mar 2015 07:25:26 PM UTC
Category:
... [More]
GUI
Specific analysis category: None
Priority: 5 - Normal
Severity: 3 - Normal
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Release: 3.3.7
Discussion Lock: Any
Operating System: Mac OS X
_______________________________________________________
Details:
The 3.3.7 release exhibits gui test suite failures of the form...
2015-03-14 15:00:17.780 python2.7[97122:1548460] -[QNSApplication
transformToForegroundApplication]: unrecognized selector sent to instance
0x7fa9899c0360
2015-03-14 15:00:17.989 python2.7[97122:1548460] An uncaught exception was
raised
2015-03-14 15:00:17.989 python2.7[97122:1548460] [Less]
|
Posted
over 10 years
ago
by
Edward d Auvergne
Update of sr #3219 (project relax):
Operating System: Microsoft Windows => All systems
_______________________________________________________
Reply to this item at:
<http://gna.org/support/?3219>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
|
Posted
over 10 years
ago
by
Edward d Auvergne
Update of sr #3219 (project relax):
Status: None => Done
Open/Closed: Open => Closed
Summary: Help for inputting CPMG
... [More]
dispersion data from heigh
list => Help for inputting CPMG dispersion data from height list.
_______________________________________________________
Follow-up Comment #6:
The following pseudo-script will read the data out of the attached Sam.csv
file:
"""
# Create the data pipe.
pipe.create(pipe_name='test', pipe_type='relax_disp')
# Load the sequence.
sequence.read('Sam.csv', dir='.', res_num_col=1, sep=',')
# Name the spins so they can be matched to the assignments, and the isotope
for field strength scaling.
spin.name(name='N')
spin.isotope(isotope='15N')
# Load the peak intensities.
spectrum.read_intensities('Sam.csv', dir='.', spectrum_id='test',
int_method='height', int_col=2, res_num_col=1, sep=',')
"""
This is just a demonstration. If using the GUI, j [Less]
|