Re: [Plplot-devel] Problems with the "new" wxwidgets device driver and example 14

2017-07-07 Thread Alan W. Irwin

On 2017-07-07 09:57+0100 p.d.rosenb...@gmail.com wrote:

[...]

I believe that yes multiple streams did used to work with wxWidgets.


Hi Phil:

It was good to hear from you.

Your comment inspired me to try running

examples/c/x14c -dev wxwidgets

on my Linux platform for 5.11.0 (the release where the new wxwidgets device 
driver was
first introduced), 5.11.1, and 5.12.0.  There was a fresh
configuration and build for each version.

5.11.0 displayed both master and slave GUI, but they were independent of each
other, i.e., moving forward one page on one left the other completely 
unaffected.

5.11.1 segfaulted (oops, we should have caught that before that
release!).

5.12.0 (before any of my IPC changes were introduced) has the present
bad behaviour, i.e., slave GUI appears momentarily and then disappears.

In sum, the behaviour of the new -dev wxwidgets has never been correct
and has sometimes been completely problematic on Linux for example 14.
So from this troubled Linux history I am not surprised that Arjen has also
discovered a serious hang issue for this example on Windows.

My feeling is the most likely cause of the current difficulties (both
on Linux and Windows) is some interference between the two streams,
i.e., this device driver is not currently stream safe.  I am curious
enough about that possibility to take a quick look, but I have other
pre-release issues on my plate so if I cannot discover a quick fix
(and nobody else can either), then we will have to put off looking at
this until after the current release.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] Problems with the "new" wxwidgets device driver and example 14

2017-07-07 Thread Alan W. Irwin

On 2017-07-07 11:22-0700 Alan W. Irwin wrote:
[...]

My feeling is the most likely cause of the current difficulties (both
on Linux and Windows) is some interference between the two streams,
i.e., this device driver is not currently stream safe.



From further evidence it appears that feeling was wrong.  :-)


I just now did two experiments where master was wxwidgets and slave
was xwin, and vice versa, and for these conditions where only one
wxwidgets device/wxPLViewer pair was running (so stream interference
between one wxwidgets/wxPLViewer pair and another is not an issue),
there are still two distinct issues:

1.  When wxwidgets is the master and xwin the slave, xwin immediately
runs through its two pages and exits in error, i.e., it never pauses. 
This issue does not occur (xwin slave displays the first page when

master is displaying the first page, and xwin display the second page
when master is displaying the second page) if xwin is both master and
slave or if xcairo or qtwidget is master and xwin the slave.  (The
qtwidget/xwin combination segfaults at the exit from the example, but
that must be a completely different issue.) This nopause issue for the
slave implies that wxwidgets as master is not doing a complete job of
handling pauses. (I don't fully understand the x14c code, but it
appears pausing is turned off for the slave in the expectation that
the master will take care of overall pausing.  That overall pausing
control does occur when other devices are master, but not when
wxwidgets is master.)

2. When other devices are master and wxwidgets the slave, the slave
displays as a blank box.

The combination of 1. and 2. is exactly what you see when wxwidgets is
both master and slave (the usual case for example 14 when you specify
-dev wxwidgets).  That is, the disappearing slave GUI you get in that
case can be completely explained by the combination of the above two
issues.

I would welcome a fix for either/both these two issues before the
release, but I don't think we should delay the release for these two
fixes.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel