From: Alan W. I. <ir...@be...> - 2016-12-20 20:11:00
|
On 2016-12-20 13:07-0500 Pedro Vicente wrote: > Hi Alan, Phil [...] I just tried on my CentOS with the latest git > code, and what happens > is that the execution is always on > > 12:50:24: Debug: Plot() Yielding To Pedro and Phil: @Pedro: It is good you have checked Phil's latest solution against some of the Linux platforms accessible to you, but while waiting for a response from him on this infinite Yielding issue you have found on your CentOS platform, you might want to check all your Linux platforms to see if the issue is confined just to CentOS or not to help give Phil some insight as to why his latest solution is not working universally on all Linux platforms. And of course when Phil comes up with a fix, it would help us a lot if you checked it against all Linux platforms accessible to you. @Phil: Part of my motivation for responding here is I noticed that Pedro had dropped you from the specific recipients list and used an old subject line that is no longer relevant. So you might have missed his post. Therefore, I have put your e-mail address back in the recipients list and changed the subject line to something more relevant just to make sure this infinite Yielding issue gets your immediate attention. It does sound to me like this is a release critical issue, i.e., if it is not fixed by our current estimate of the release date (December 27th), I should probably hold the release until you do figure out a solution. 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-20 22:49:25
|
@Alan, Phil here are my results for git master current CentOS 6.8 wxWidgets 3.1 Linux 14.04 wxWidgets 3.0 Linux 16.04 wxWidgets 3.0 Debian 8.0 wxWidgets 3.0 all infinite loop 14:25:57: Debug: wxPLplotwindow::wxPLplotwindow 14:25:57: Debug: frame->Create 14:25:57: Debug: Plot() Yielding 14:25:57: Debug: Plot() Yielding made with cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/home/pvn/plplot-install -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TEST=ON -DPLPLOT_WX_DEBUG_OUTPUT=ON yesterday I sent this result for Ubuntu 14.04, but that was with yesterday's master. Phil, today there was a new commit, so could that be it ? 23:26:43: Debug: wxPLplotwindow::wxPLplotwindow 23:26:44: Debug: frame->Create 23:26:44: Debug: Plot() Yielding 23:26:44: Debug: wxPLplotwindow::OnCreate 23:26:44: Debug: plD_init_wxwidgets(): enter 23:26:44: Debug: wxPLDevice(): enter 23:26:44: Debug: wxPLDevice(): gc done 23:26:44: Debug: wxPLDevice(): m_interactiveTextGcdc done 23:26:44: Debug: wxPLDevice(): SetDC done 23:26:44: Debug: wxPLDevice(): leave 23:26:44: Debug: plD_init_wxwidgets(): leave 23:26:44: Debug: Plot() ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Phil Rosenberg" <p.d...@gm...>; "Pedro Vicente" <ped...@sp...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 3:10 PM Subject: Infinite Yielding issue > On 2016-12-20 13:07-0500 Pedro Vicente wrote: > >> Hi Alan, Phil > [...] I just tried on my CentOS with the latest git >> code, and what happens >> is that the execution is always on >> >> 12:50:24: Debug: Plot() Yielding > > To Pedro and Phil: > > @Pedro: > > It is good you have checked Phil's latest solution against some of the > Linux platforms accessible to you, but while waiting for a response > from him on this infinite Yielding issue you have found on your CentOS > platform, you might want to check all your Linux platforms to see if > the issue is confined just to CentOS or not to help give Phil some > insight as to why his latest solution is not working universally on > all Linux platforms. And of course when Phil comes up with a fix, it > would help us a lot if you checked it against all Linux platforms > accessible to you. > > @Phil: > > Part of my motivation for responding here is I noticed that Pedro had > dropped you from the specific recipients list and used an old subject > line that is no longer relevant. So you might have missed his post. > Therefore, I have put your e-mail address back in the recipients list > and changed the subject line to something more relevant just to make > sure this infinite Yielding issue gets your immediate attention. It > does sound to me like this is a release critical issue, i.e., if it is > not fixed by our current estimate of the release date (December 27th), > I should probably hold the release until you do figure out a solution. > > 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 > __________________________ > |
From: <p.d...@gm...> - 2016-12-20 22:58:30
|
Hi Pedro, Alan Sorry. I guess I made a mistake in the new commit. It worked fine on my system but I never saw the same problem you did in the first place. I will check for obvious mistakes and if I can't see the cause then I'll revert the last commit. Although this will have to wait until the morning UK time. Phil Sent from my Windows 10 phone From: Pedro Vicente Sent: 20 December 2016 22:49 To: Alan W. Irwin; Phil Rosenberg; PLplot development list Subject: Re: Infinite Yielding issue @Alan, Phil here are my results for git master current CentOS 6.8 wxWidgets 3.1 Linux 14.04 wxWidgets 3.0 Linux 16.04 wxWidgets 3.0 Debian 8.0 wxWidgets 3.0 all infinite loop 14:25:57: Debug: wxPLplotwindow::wxPLplotwindow 14:25:57: Debug: frame->Create 14:25:57: Debug: Plot() Yielding 14:25:57: Debug: Plot() Yielding made with cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/home/pvn/plplot-install -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TEST=ON -DPLPLOT_WX_DEBUG_OUTPUT=ON yesterday I sent this result for Ubuntu 14.04, but that was with yesterday's master. Phil, today there was a new commit, so could that be it ? 23:26:43: Debug: wxPLplotwindow::wxPLplotwindow 23:26:44: Debug: frame->Create 23:26:44: Debug: Plot() Yielding 23:26:44: Debug: wxPLplotwindow::OnCreate 23:26:44: Debug: plD_init_wxwidgets(): enter 23:26:44: Debug: wxPLDevice(): enter 23:26:44: Debug: wxPLDevice(): gc done 23:26:44: Debug: wxPLDevice(): m_interactiveTextGcdc done 23:26:44: Debug: wxPLDevice(): SetDC done 23:26:44: Debug: wxPLDevice(): leave 23:26:44: Debug: plD_init_wxwidgets(): leave 23:26:44: Debug: Plot() ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Phil Rosenberg" <p.d...@gm...>; "Pedro Vicente" <ped...@sp...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 3:10 PM Subject: Infinite Yielding issue > On 2016-12-20 13:07-0500 Pedro Vicente wrote: > >> Hi Alan, Phil > [...] I just tried on my CentOS with the latest git >> code, and what happens >> is that the execution is always on >> >> 12:50:24: Debug: Plot() Yielding > > To Pedro and Phil: > > @Pedro: > > It is good you have checked Phil's latest solution against some of the > Linux platforms accessible to you, but while waiting for a response > from him on this infinite Yielding issue you have found on your CentOS > platform, you might want to check all your Linux platforms to see if > the issue is confined just to CentOS or not to help give Phil some > insight as to why his latest solution is not working universally on > all Linux platforms. And of course when Phil comes up with a fix, it > would help us a lot if you checked it against all Linux platforms > accessible to you. > > @Phil: > > Part of my motivation for responding here is I noticed that Pedro had > dropped you from the specific recipients list and used an old subject > line that is no longer relevant. So you might have missed his post. > Therefore, I have put your e-mail address back in the recipients list > and changed the subject line to something more relevant just to make > sure this infinite Yielding issue gets your immediate attention. It > does sound to me like this is a release critical issue, i.e., if it is > not fixed by our current estimate of the release date (December 27th), > I should probably hold the release until you do figure out a solution. > > 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 > __________________________ > |
From: Alan W. I. <ir...@be...> - 2016-12-20 23:56:54
|
On 2016-12-20 17:49-0500 Pedro Vicente wrote: > @Alan, Phil > > > here are my results > > for git master current > > CentOS 6.8 wxWidgets 3.1 > Linux 14.04 wxWidgets 3.0 > Linux 16.04 wxWidgets 3.0 > Debian 8.0 wxWidgets 3.0 > > all infinite loop > > 14:25:57: Debug: wxPLplotwindow::wxPLplotwindow > 14:25:57: Debug: frame->Create > 14:25:57: Debug: Plot() Yielding > 14:25:57: Debug: Plot() Yielding > > made with > > cmake .. -G "Unix Makefiles" > -DCMAKE_INSTALL_PREFIX:PATH=/home/pvn/plplot-install -DCMAKE_BUILD_TYPE=Debug > -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TEST=ON -DPLPLOT_WX_DEBUG_OUTPUT=ON > > yesterday I sent this result for Ubuntu 14.04, but that was with yesterday's > master. > > Phil, today there was a new commit, so could that be it ? Hi Pedro: You can prove or disprove the latest commit 995e75e6086 is the source of some/all of the above issues by running those tests again on the previous commit. Which from the current "git log" results you should be able to get access to as follows: git checkout 995e75e6086^ or the equivalent git checkout 65e7b3c9980 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-21 02:23:45
|
@Alan yes, git is really good for these things, I forgot about that. I did git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c make VERBOSE=1 test_wxPLplotDemo &Phil hmm, still some issues. Good thing I decided to try on all platforms because I was almost going to shout success after trying the 2 ubuntus and debian (that have wxwidgets 3.0) but on CentOS the Yield() has no effect (don't know if it's because is wxWidgets 3.1) So, it happens that I had a similar problem some weeks ago, the problem was that my wxWidgets app (a client) must read some data from a socket on a server and potentially this can take minutes. Initially I did the reading on the socket on the main window frame. But the reading blocks all the GUI, it's not even possible to exit the program, so I started searching for a way to avoid the blocking, and I found the Yield() function on their docs. However it had no effect at all :-) So, my next step was to use a separate thread as explained in their examples. It's good that wxWidgets has its own thread API. This makes the code much more complex, specially the way one thread communicates with the other, but works like a charm. Since my goal was to detect when one task was finished , it may be possible to do something similar here. I'll post on my next email the example I followed. here it goes the results ubuntu, debian, a plot shows 20:53:09: Debug: wxPLplotwindow::wxPLplotwindow 20:53:09: Debug: frame->Create 20:53:09: Debug: wxPLplotwindow::OnCreate 20:53:09: Debug: plD_init_wxwidgets(): enter 20:53:09: Debug: wxPLDevice(): enter 20:53:09: Debug: wxPLDevice(): gc done 20:53:09: Debug: wxPLDevice(): m_interactiveTextGcdc done 20:53:09: Debug: wxPLDevice(): SetDC done 20:53:09: Debug: wxPLDevice(): leave 20:53:09: Debug: plD_init_wxwidgets(): leave 20:53:09: Debug: Plot() centOS, here we get a window with no plot, see the NULL below 21:01:37: Debug: wxPLplotwindow::wxPLplotwindow 21:01:37: Debug: frame->Create 21:01:37: Debug: pls NULL 21:01:37: Debug: wxPLplotwindow::OnCreate 21:01:37: Debug: plD_init_wxwidgets(): enter 21:01:37: Debug: wxPLDevice(): enter 21:01:37: Debug: wxPLDevice(): gc done 21:01:37: Debug: wxPLDevice(): m_interactiveTextGcdc done 21:01:37: Debug: wxPLDevice(): SetDC done 21:01:37: Debug: wxPLDevice(): leave 21:01:37: Debug: plD_init_wxwidgets(): leave ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...> Cc: "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 6:56 PM Subject: Re: Infinite Yielding issue > On 2016-12-20 17:49-0500 Pedro Vicente wrote: > >> @Alan, Phil >> >> >> here are my results >> >> for git master current >> >> CentOS 6.8 wxWidgets 3.1 >> Linux 14.04 wxWidgets 3.0 >> Linux 16.04 wxWidgets 3.0 >> Debian 8.0 wxWidgets 3.0 >> >> all infinite loop >> >> 14:25:57: Debug: wxPLplotwindow::wxPLplotwindow >> 14:25:57: Debug: frame->Create >> 14:25:57: Debug: Plot() Yielding >> 14:25:57: Debug: Plot() Yielding >> >> made with >> >> cmake .. -G "Unix >> Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/home/pvn/plplot-install -DCMAKE_BUILD_TYPE=Debug >> -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TEST=ON -DPLPLOT_WX_DEBUG_OUTPUT=ON >> >> yesterday I sent this result for Ubuntu 14.04, but that was with >> yesterday's master. >> >> Phil, today there was a new commit, so could that be it ? > > Hi Pedro: > > You can prove or disprove the latest commit 995e75e6086 is the source of > some/all of the above issues by running those tests again on the > previous commit. Which from the current "git log" results you should > be able to get access to as follows: > > git checkout 995e75e6086^ > > or the equivalent > > git checkout 65e7b3c9980 > > 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 > __________________________ > |
From: Pedro V. <ped...@sp...> - 2016-12-21 03:24:28
|
@Phil this is the main page for the thread documentation http://docs.wxwidgets.org/3.1/overview_thread.html and this page as an example http://docs.wxwidgets.org/3.1/classwx_thread.html -Pedro |
From: Alan W. I. <ir...@be...> - 2016-12-21 03:47:30
|
On 2016-12-20 21:23-0500 Pedro Vicente wrote: > @Alan > > yes, git is really good for these things, I forgot about that. > > I did > > git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c Hi Pedro: Note this summary of the last three commits (all from Phil) for the master branch. software@raven> git log --oneline -3 995e75e Made some items clearer in the wxWigdets Demo 65e7b3c Fix bug with plotting in wxPLplotDemo 67ef7be Added a function to check if the window is ready to accept plot commands. So master^^ = 67ef7be is the one you are testing which is simply a preparation for master^ = 65e7b3c. I thought it was master^ that worked previously for you on one platform, and master = 995e75e that has been causing you trouble since. So I am surprised you are testing master^^ = 67ef7be rather than master^ = 65e7b3c. But maybe I am not remembering the sequence of events and tests correctly. 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-21 04:27:57
|
@Alan, Phil yes, my bad, sorry here are corrected results. *It works* on the commit before the current master, for CentOS, I'll try others later git checkout master git log --oneline -3 995e75e60 Made some items clearer in the wxWigdets Demo 65e7b3c99 Fix bug with plotting in wxPLplotDemo 67ef7be48 Added a function to check if the window is ready to accept plot commands. on master, infinite loop make VERBOSE=1 test_wxPLplotDemo 23:20:31: Debug: wxPLplotwindow::wxPLplotwindow 23:20:31: Debug: frame->Create 23:20:31: Debug: Plot() Yielding 23:20:31: Debug: Plot() Yielding going back one , ok git checkout 65e7b3c99 65e7b3c99 Fix bug with plotting in wxPLplotDemo 23:23:09: Debug: wxPLplotwindow::wxPLplotwindow 23:23:09: Debug: frame->Create 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: Plot() Yielding 23:23:09: Debug: wxPLplotwindow::OnCreate 23:23:09: Debug: plD_init_wxwidgets(): enter 23:23:09: Debug: wxPLDevice(): enter 23:23:09: Debug: wxPLDevice(): gc done 23:23:09: Debug: wxPLDevice(): m_interactiveTextGcdc done 23:23:09: Debug: wxPLDevice(): SetDC done 23:23:09: Debug: wxPLDevice(): leave 23:23:09: Debug: plD_init_wxwidgets(): leave 23:23:09: Debug: Plot() ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 10:47 PM Subject: Re: Infinite Yielding issue > On 2016-12-20 21:23-0500 Pedro Vicente wrote: > >> @Alan >> >> yes, git is really good for these things, I forgot about that. >> >> I did >> >> git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c > > Hi Pedro: > > Note this summary of the last three commits (all from Phil) for the > master branch. > > software@raven> git log --oneline -3 > 995e75e Made some items clearer in the wxWigdets Demo > 65e7b3c Fix bug with plotting in wxPLplotDemo > 67ef7be Added a function to check if the window is ready to accept plot > commands. > > So master^^ = 67ef7be is the one you are testing which is simply > a preparation for master^ = 65e7b3c. I thought it was master^ that > worked previously for you on one platform, and master = 995e75e that > has been causing you trouble since. So I am surprised you are testing > master^^ = 67ef7be rather than master^ = 65e7b3c. But maybe I am not > remembering the sequence of events and tests correctly. > > 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 > __________________________ > |
From: Pedro V. <ped...@sp...> - 2016-12-21 04:59:09
|
@Alan, Phil all works on the commit *before* current master, detailed results below @Phil Would you mind sending a few lines explaining how the Yield() function works and its effect here? I get a few different results, and I would just like to understand what is happening here. Also, it would be really great if you could replicate my results. Maybe the VirtualBox on Windows? If you do, a must is to install the GuestCD Additions that allows full screen and both ways copy and paste to host. Otherwise you get a tiny window with Linux running inside Windows. By the way on debian I could not install the GuestCD Additions. Or even an old machine that you have lying around, if you do a complete new install of ubuntu. ubuntu 14.04 ubuntu 16.04 ok, but curiously we don't have a Yield() wait 65e7b3c Fix bug with plotting in wxPLplotDemo 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow 23:31:38: Debug: frame->Create 23:31:38: Debug: wxPLplotwindow::OnCreate 23:31:38: Debug: plD_init_wxwidgets(): enter 23:31:38: Debug: wxPLDevice(): enter 23:31:38: Debug: wxPLDevice(): gc done 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done 23:31:38: Debug: wxPLDevice(): SetDC done 23:31:38: Debug: wxPLDevice(): leave 23:31:38: Debug: plD_init_wxwidgets(): leave 23:31:38: Debug: Plot() debian 8.0 also ok, but the result has one Yield() call on CentOS I got many Yield() calls 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow 23:31:38: Debug: frame->Create 23:31:38: Debug: Plot() Yielding 23:31:38: Debug: wxPLplotwindow::OnCreate 23:31:38: Debug: plD_init_wxwidgets(): enter 23:31:38: Debug: wxPLDevice(): enter 23:31:38: Debug: wxPLDevice(): gc done 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done 23:31:38: Debug: wxPLDevice(): SetDC done 23:31:38: Debug: wxPLDevice(): leave 23:31:38: Debug: plD_init_wxwidgets(): leave 23:31:38: Debug: Plot() ----- Original Message ----- From: "Pedro Vicente" <ped...@sp...> To: "Alan W. Irwin" <ir...@be...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 11:27 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > @Alan, Phil > > yes, my bad, sorry > > here are corrected results. *It works* on the commit before the current > master, for CentOS, I'll try others later > > git checkout master > git log --oneline -3 > > 995e75e60 Made some items clearer in the wxWigdets Demo > 65e7b3c99 Fix bug with plotting in wxPLplotDemo > 67ef7be48 Added a function to check if the window is ready to accept plot > commands. > > on master, infinite loop > > make VERBOSE=1 test_wxPLplotDemo > 23:20:31: Debug: wxPLplotwindow::wxPLplotwindow > 23:20:31: Debug: frame->Create > 23:20:31: Debug: Plot() Yielding > 23:20:31: Debug: Plot() Yielding > > going back one , ok > > git checkout 65e7b3c99 > > 65e7b3c99 Fix bug with plotting in wxPLplotDemo > > > > 23:23:09: Debug: wxPLplotwindow::wxPLplotwindow > 23:23:09: Debug: frame->Create > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: Plot() Yielding > 23:23:09: Debug: wxPLplotwindow::OnCreate > 23:23:09: Debug: plD_init_wxwidgets(): enter > 23:23:09: Debug: wxPLDevice(): enter > 23:23:09: Debug: wxPLDevice(): gc done > 23:23:09: Debug: wxPLDevice(): m_interactiveTextGcdc done > 23:23:09: Debug: wxPLDevice(): SetDC done > 23:23:09: Debug: wxPLDevice(): leave > 23:23:09: Debug: plD_init_wxwidgets(): leave > 23:23:09: Debug: Plot() > > > > ----- Original Message ----- > From: "Alan W. Irwin" <ir...@be...> > To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" > <p.d...@gm...>; "PLplot development list" > <plp...@li...> > Sent: Tuesday, December 20, 2016 10:47 PM > Subject: Re: Infinite Yielding issue > > >> On 2016-12-20 21:23-0500 Pedro Vicente wrote: >> >>> @Alan >>> >>> yes, git is really good for these things, I forgot about that. >>> >>> I did >>> >>> git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c >> >> Hi Pedro: >> >> Note this summary of the last three commits (all from Phil) for the >> master branch. >> >> software@raven> git log --oneline -3 >> 995e75e Made some items clearer in the wxWigdets Demo >> 65e7b3c Fix bug with plotting in wxPLplotDemo >> 67ef7be Added a function to check if the window is ready to accept plot >> commands. >> >> So master^^ = 67ef7be is the one you are testing which is simply >> a preparation for master^ = 65e7b3c. I thought it was master^ that >> worked previously for you on one platform, and master = 995e75e that >> has been causing you trouble since. So I am surprised you are testing >> master^^ = 67ef7be rather than master^ = 65e7b3c. But maybe I am not >> remembering the sequence of events and tests correctly. >> >> 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 >> __________________________ >> > > > ------------------------------------------------------------------------------ > Developer Access Program for Intel Xeon Phi Processors > Access to Intel Xeon Phi processor-based developer platforms. > With one year of Intel Parallel Studio XE. > Training and support from Colfax. > Order your platform today.http://sdm.link/intel > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: Pedro V. <ped...@sp...> - 2016-12-21 22:06:45
|
@Phil it seems the problem on the code in the current master is that the Yield(0 is called before Show() if I change to after Show(), like this, I get the result below wxPLplotwindow<wxFrame> *frame = new wxPlDemoFrame(); frame->Create( NULL, wxID_ANY, wxT( "wxPLplotDemo" ) ); PLPLOT_wxLogDebug("frame->Create"); frame->SetIcon( wxIcon( graph ) ); frame->Show(); //We must wait for the Create event to be processed and the //wxPLplotstream to be prepared while (!frame->IsReady()) { PLPLOT_wxLogDebug("Plot() Yielding"); wxGetApp().Yield(); } //Now we can set up our frame and do the plotting Plot( frame ); 16:27:38: Debug: frame->Create 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: wxPLplotwindow::OnCreate 16:27:39: Debug: plD_init_wxwidgets(): enter 16:27:39: Debug: wxPLDevice(): enter 16:27:39: Debug: wxPLDevice(): gc done 16:27:39: Debug: wxPLDevice(): m_interactiveTextGcdc done 16:27:39: Debug: wxPLDevice(): SetDC done 16:27:39: Debug: wxPLDevice(): leave 16:27:39: Debug: plD_init_wxwidgets(): leave 16:27:39: Debug: Plot() ----- Original Message ----- From: "Pedro Vicente" <ped...@sp...> To: "Alan W. Irwin" <ir...@be...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 11:58 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > @Alan, Phil > > all works on the commit *before* current master, detailed results below > > > @Phil > > Would you mind sending a few lines explaining how the Yield() function > works > and its effect here? > I get a few different results, and I would just like to understand what is > happening here. > > Also, it would be really great if you could replicate my results. > > Maybe the VirtualBox on Windows? > If you do, a must is to install the GuestCD Additions that allows full > screen and both ways copy and paste to host. > Otherwise you get a tiny window with Linux running inside Windows. > By the way on debian I could not install the GuestCD Additions. > > Or even an old machine that you have lying around, if you do a complete > new > install of ubuntu. > > ubuntu 14.04 > ubuntu 16.04 > > ok, but curiously we don't have a Yield() wait > > 65e7b3c Fix bug with plotting in wxPLplotDemo > > 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow > 23:31:38: Debug: frame->Create > 23:31:38: Debug: wxPLplotwindow::OnCreate > 23:31:38: Debug: plD_init_wxwidgets(): enter > 23:31:38: Debug: wxPLDevice(): enter > 23:31:38: Debug: wxPLDevice(): gc done > 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done > 23:31:38: Debug: wxPLDevice(): SetDC done > 23:31:38: Debug: wxPLDevice(): leave > 23:31:38: Debug: plD_init_wxwidgets(): leave > 23:31:38: Debug: Plot() > > > debian 8.0 > > also ok, but the result has one Yield() call > on CentOS I got many Yield() calls > > 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow > 23:31:38: Debug: frame->Create > 23:31:38: Debug: Plot() Yielding > 23:31:38: Debug: wxPLplotwindow::OnCreate > 23:31:38: Debug: plD_init_wxwidgets(): enter > 23:31:38: Debug: wxPLDevice(): enter > 23:31:38: Debug: wxPLDevice(): gc done > 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done > 23:31:38: Debug: wxPLDevice(): SetDC done > 23:31:38: Debug: wxPLDevice(): leave > 23:31:38: Debug: plD_init_wxwidgets(): leave > 23:31:38: Debug: Plot() > > > > > ----- Original Message ----- > From: "Pedro Vicente" <ped...@sp...> > To: "Alan W. Irwin" <ir...@be...>; "Phil Rosenberg" > <p.d...@gm...>; "PLplot development list" > <plp...@li...> > Sent: Tuesday, December 20, 2016 11:27 PM > Subject: Re: [Plplot-devel] Infinite Yielding issue > > >> @Alan, Phil >> >> yes, my bad, sorry >> >> here are corrected results. *It works* on the commit before the current >> master, for CentOS, I'll try others later >> >> git checkout master >> git log --oneline -3 >> >> 995e75e60 Made some items clearer in the wxWigdets Demo >> 65e7b3c99 Fix bug with plotting in wxPLplotDemo >> 67ef7be48 Added a function to check if the window is ready to accept plot >> commands. >> >> on master, infinite loop >> >> make VERBOSE=1 test_wxPLplotDemo >> 23:20:31: Debug: wxPLplotwindow::wxPLplotwindow >> 23:20:31: Debug: frame->Create >> 23:20:31: Debug: Plot() Yielding >> 23:20:31: Debug: Plot() Yielding >> >> going back one , ok >> >> git checkout 65e7b3c99 >> >> 65e7b3c99 Fix bug with plotting in wxPLplotDemo >> >> >> >> 23:23:09: Debug: wxPLplotwindow::wxPLplotwindow >> 23:23:09: Debug: frame->Create >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: wxPLplotwindow::OnCreate >> 23:23:09: Debug: plD_init_wxwidgets(): enter >> 23:23:09: Debug: wxPLDevice(): enter >> 23:23:09: Debug: wxPLDevice(): gc done >> 23:23:09: Debug: wxPLDevice(): m_interactiveTextGcdc done >> 23:23:09: Debug: wxPLDevice(): SetDC done >> 23:23:09: Debug: wxPLDevice(): leave >> 23:23:09: Debug: plD_init_wxwidgets(): leave >> 23:23:09: Debug: Plot() >> >> >> >> ----- Original Message ----- >> From: "Alan W. Irwin" <ir...@be...> >> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" >> <p.d...@gm...>; "PLplot development list" >> <plp...@li...> >> Sent: Tuesday, December 20, 2016 10:47 PM >> Subject: Re: Infinite Yielding issue >> >> >>> On 2016-12-20 21:23-0500 Pedro Vicente wrote: >>> >>>> @Alan >>>> >>>> yes, git is really good for these things, I forgot about that. >>>> >>>> I did >>>> >>>> git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c >>> >>> Hi Pedro: >>> >>> Note this summary of the last three commits (all from Phil) for the >>> master branch. >>> >>> software@raven> git log --oneline -3 >>> 995e75e Made some items clearer in the wxWigdets Demo >>> 65e7b3c Fix bug with plotting in wxPLplotDemo >>> 67ef7be Added a function to check if the window is ready to accept plot >>> commands. >>> >>> So master^^ = 67ef7be is the one you are testing which is simply >>> a preparation for master^ = 65e7b3c. I thought it was master^ that >>> worked previously for you on one platform, and master = 995e75e that >>> has been causing you trouble since. So I am surprised you are testing >>> master^^ = 67ef7be rather than master^ = 65e7b3c. But maybe I am not >>> remembering the sequence of events and tests correctly. >>> >>> 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 >>> __________________________ >>> >> >> >> ------------------------------------------------------------------------------ >> Developer Access Program for Intel Xeon Phi Processors >> Access to Intel Xeon Phi processor-based developer platforms. >> With one year of Intel Parallel Studio XE. >> Training and support from Colfax. >> Order your platform today.http://sdm.link/intel >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > > ------------------------------------------------------------------------------ > Developer Access Program for Intel Xeon Phi Processors > Access to Intel Xeon Phi processor-based developer platforms. > With one year of Intel Parallel Studio XE. > Training and support from Colfax. > Order your platform today.http://sdm.link/intel > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: <p.d...@gm...> - 2016-12-21 23:25:48
|
Sorry I have not been able to look at this today. I have had family things on. Thanks for looking into that. I half suspected that might be the case. So after everything I said about contracts with the Show function, it seems it is already broken ☹ I suspect that actually this is a wxWidgets bug. But the documentation around Create is sparse. Probably we should generate a minimal example and report it to wxWidgets. Sent from my Windows 10 phone From: Pedro Vicente Sent: 21 December 2016 22:06 To: Alan W. Irwin; Phil Rosenberg; PLplot development list Subject: Re: [Plplot-devel] Infinite Yielding issue @Phil it seems the problem on the code in the current master is that the Yield(0 is called before Show() if I change to after Show(), like this, I get the result below wxPLplotwindow<wxFrame> *frame = new wxPlDemoFrame(); frame->Create( NULL, wxID_ANY, wxT( "wxPLplotDemo" ) ); PLPLOT_wxLogDebug("frame->Create"); frame->SetIcon( wxIcon( graph ) ); frame->Show(); //We must wait for the Create event to be processed and the //wxPLplotstream to be prepared while (!frame->IsReady()) { PLPLOT_wxLogDebug("Plot() Yielding"); wxGetApp().Yield(); } //Now we can set up our frame and do the plotting Plot( frame ); 16:27:38: Debug: frame->Create 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: Plot() Yielding 16:27:38: Debug: wxPLplotwindow::OnCreate 16:27:39: Debug: plD_init_wxwidgets(): enter 16:27:39: Debug: wxPLDevice(): enter 16:27:39: Debug: wxPLDevice(): gc done 16:27:39: Debug: wxPLDevice(): m_interactiveTextGcdc done 16:27:39: Debug: wxPLDevice(): SetDC done 16:27:39: Debug: wxPLDevice(): leave 16:27:39: Debug: plD_init_wxwidgets(): leave 16:27:39: Debug: Plot() ----- Original Message ----- From: "Pedro Vicente" <ped...@sp...> To: "Alan W. Irwin" <ir...@be...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Tuesday, December 20, 2016 11:58 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > @Alan, Phil > > all works on the commit *before* current master, detailed results below > > > @Phil > > Would you mind sending a few lines explaining how the Yield() function > works > and its effect here? > I get a few different results, and I would just like to understand what is > happening here. > > Also, it would be really great if you could replicate my results. > > Maybe the VirtualBox on Windows? > If you do, a must is to install the GuestCD Additions that allows full > screen and both ways copy and paste to host. > Otherwise you get a tiny window with Linux running inside Windows. > By the way on debian I could not install the GuestCD Additions. > > Or even an old machine that you have lying around, if you do a complete > new > install of ubuntu. > > ubuntu 14.04 > ubuntu 16.04 > > ok, but curiously we don't have a Yield() wait > > 65e7b3c Fix bug with plotting in wxPLplotDemo > > 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow > 23:31:38: Debug: frame->Create > 23:31:38: Debug: wxPLplotwindow::OnCreate > 23:31:38: Debug: plD_init_wxwidgets(): enter > 23:31:38: Debug: wxPLDevice(): enter > 23:31:38: Debug: wxPLDevice(): gc done > 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done > 23:31:38: Debug: wxPLDevice(): SetDC done > 23:31:38: Debug: wxPLDevice(): leave > 23:31:38: Debug: plD_init_wxwidgets(): leave > 23:31:38: Debug: Plot() > > > debian 8.0 > > also ok, but the result has one Yield() call > on CentOS I got many Yield() calls > > 23:31:38: Debug: wxPLplotwindow::wxPLplotwindow > 23:31:38: Debug: frame->Create > 23:31:38: Debug: Plot() Yielding > 23:31:38: Debug: wxPLplotwindow::OnCreate > 23:31:38: Debug: plD_init_wxwidgets(): enter > 23:31:38: Debug: wxPLDevice(): enter > 23:31:38: Debug: wxPLDevice(): gc done > 23:31:38: Debug: wxPLDevice(): m_interactiveTextGcdc done > 23:31:38: Debug: wxPLDevice(): SetDC done > 23:31:38: Debug: wxPLDevice(): leave > 23:31:38: Debug: plD_init_wxwidgets(): leave > 23:31:38: Debug: Plot() > > > > > ----- Original Message ----- > From: "Pedro Vicente" <ped...@sp...> > To: "Alan W. Irwin" <ir...@be...>; "Phil Rosenberg" > <p.d...@gm...>; "PLplot development list" > <plp...@li...> > Sent: Tuesday, December 20, 2016 11:27 PM > Subject: Re: [Plplot-devel] Infinite Yielding issue > > >> @Alan, Phil >> >> yes, my bad, sorry >> >> here are corrected results. *It works* on the commit before the current >> master, for CentOS, I'll try others later >> >> git checkout master >> git log --oneline -3 >> >> 995e75e60 Made some items clearer in the wxWigdets Demo >> 65e7b3c99 Fix bug with plotting in wxPLplotDemo >> 67ef7be48 Added a function to check if the window is ready to accept plot >> commands. >> >> on master, infinite loop >> >> make VERBOSE=1 test_wxPLplotDemo >> 23:20:31: Debug: wxPLplotwindow::wxPLplotwindow >> 23:20:31: Debug: frame->Create >> 23:20:31: Debug: Plot() Yielding >> 23:20:31: Debug: Plot() Yielding >> >> going back one , ok >> >> git checkout 65e7b3c99 >> >> 65e7b3c99 Fix bug with plotting in wxPLplotDemo >> >> >> >> 23:23:09: Debug: wxPLplotwindow::wxPLplotwindow >> 23:23:09: Debug: frame->Create >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: Plot() Yielding >> 23:23:09: Debug: wxPLplotwindow::OnCreate >> 23:23:09: Debug: plD_init_wxwidgets(): enter >> 23:23:09: Debug: wxPLDevice(): enter >> 23:23:09: Debug: wxPLDevice(): gc done >> 23:23:09: Debug: wxPLDevice(): m_interactiveTextGcdc done >> 23:23:09: Debug: wxPLDevice(): SetDC done >> 23:23:09: Debug: wxPLDevice(): leave >> 23:23:09: Debug: plD_init_wxwidgets(): leave >> 23:23:09: Debug: Plot() >> >> >> >> ----- Original Message ----- >> From: "Alan W. Irwin" <ir...@be...> >> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" >> <p.d...@gm...>; "PLplot development list" >> <plp...@li...> >> Sent: Tuesday, December 20, 2016 10:47 PM >> Subject: Re: Infinite Yielding issue >> >> >>> On 2016-12-20 21:23-0500 Pedro Vicente wrote: >>> >>>> @Alan >>>> >>>> yes, git is really good for these things, I forgot about that. >>>> >>>> I did >>>> >>>> git checkout 67ef7be48217c098ae49bb893df5e170c3eccc2c >>> >>> Hi Pedro: >>> >>> Note this summary of the last three commits (all from Phil) for the >>> master branch. >>> >>> software@raven> git log --oneline -3 >>> 995e75e Made some items clearer in the wxWigdets Demo >>> 65e7b3c Fix bug with plotting in wxPLplotDemo >>> 67ef7be Added a function to check if the window is ready to accept plot >>> commands. >>> >>> So master^^ = 67ef7be is the one you are testing which is simply >>> a preparation for master^ = 65e7b3c. I thought it was master^ that >>> worked previously for you on one platform, and master = 995e75e that >>> has been causing you trouble since. So I am surprised you are testing >>> master^^ = 67ef7be rather than master^ = 65e7b3c. But maybe I am not >>> remembering the sequence of events and tests correctly. >>> >>> 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 >>> __________________________ >>> >> >> >> ------------------------------------------------------------------------------ >> Developer Access Program for Intel Xeon Phi Processors >> Access to Intel Xeon Phi processor-based developer platforms. >> With one year of Intel Parallel Studio XE. >> Training and support from Colfax. >> Order your platform today.http://sdm.link/intel >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > > ------------------------------------------------------------------------------ > Developer Access Program for Intel Xeon Phi Processors > Access to Intel Xeon Phi processor-based developer platforms. > With one year of Intel Parallel Studio XE. > Training and support from Colfax. > Order your platform today.http://sdm.link/intel > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: Alan W. I. <ir...@be...> - 2016-12-22 00:37:08
|
On 2016-12-21 23:25-0000 p.d...@gm... wrote: > Sorry I have not been able to look at this today. I have had family things on. > Thanks for looking into that. I half suspected that might be the case. So after everything I said about contracts with the Show function, it seems it is already broken ☹ To Pedro and Phil: Since we are all running out of time not only because of family activities during this season but also because the release date is only 6 days from now, I suggest we come up with a quick compromise fix for this release even if you guys don't completely understand why it works. Here is my suggestion for such a fix. @Pedro: It appears your proposed solution to swap the order in which Yield and Show are called works on your CentOS platform which has always given you the most trouble. So that sounds promising for a quick fix, but please also test your proposed solution on all platforms accessible to you including your Windows platform (just in case a change since you last tested that platform has somehow clobbered wxwidgets on that platform). If it works on all of them please prepare the relevant commit (with a tested by: paragraph listing all the platforms you tested for future reference just in case we run into trouble with this part of our wxwidgets-related software ever again) and send it to me for one final test that it also works here. Assuming all those tests work, I will push that commit, and we will be done with this bug for at least this 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-22 04:15:01
|
@Alan > It appears your proposed solution to swap the order in which Yield and > Show are called works on your CentOS platform which has always given > you the most trouble. If it works on all of them please prepare the > relevant commit ok, I just posted a question about this on the wxWidgets forum https://groups.google.com/forum/#!topic/wx-dev/wsk--AlQNzU If noboby replies in a day or 2, I''ll commit that workaround patch. It would be nice to sort this out if we can. @Phil I did a simple wxWidgets app (no PLplot) that shows the issue it's here , wx_demo.cpp https://github.com/pedro-vicente/plplot-wxwidgets I get this output (OnCreate is called after the main app tries to test frame->IsReady() ) the stream here is simulated by a boolean 18:33:43: Debug: wxFrameTest::wxFrameTest 18:33:43: Debug: frame->Create 18:33:43: Debug: wxFrameTest::Show 18:33:43: Debug: frame->Show 18:33:43: Debug: FALSE frame->IsReady 18:33:43: Debug: wxFrameTest::OnSize 18:33:43: Debug: wxFrameTest::OnCreate 18:33:43: Debug: wxFrameTest::CreateStream ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Wednesday, December 21, 2016 7:36 PM Subject: RE: [Plplot-devel] Infinite Yielding issue > On 2016-12-21 23:25-0000 p.d...@gm... wrote: > >> Sorry I have not been able to look at this today. I have had family >> things on. > >> Thanks for looking into that. I half suspected that might be the > case. So after everything I said about contracts with the Show > function, it seems it is already broken ☹ > > To Pedro and Phil: > > Since we are all running out of time not only because of family activities > during this season but also because the release date is only 6 days > from now, I suggest we come up with a quick compromise fix for this > release even if you guys don't completely understand why it works. > > Here is my suggestion for such a fix. > > @Pedro: > > It appears your proposed solution to swap the order in which Yield and > Show are called works on your CentOS platform which has always given > you the most trouble. So that sounds promising for a quick fix, but > please also test your proposed solution on all platforms accessible to > you including your Windows platform (just in case a change since you > last tested that platform has somehow clobbered wxwidgets on that > platform). If it works on all of them please prepare the relevant > commit (with a tested by: paragraph listing all the platforms you > tested for future reference just in case we run into trouble with this > part of our wxwidgets-related software ever again) and send it to me > for one final test that it also works here. Assuming all those tests > work, I will push that commit, and we will be done with this bug for > at least this 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 > __________________________ > |
From: Alan W. I. <ir...@be...> - 2016-12-22 05:13:08
|
On 2016-12-21 23:14-0500 Pedro Vicente wrote: > I did a simple wxWidgets app (no PLplot) that shows the issue > > it's here , wx_demo.cpp > > https://github.com/pedro-vicente/plplot-wxwidgets [...] > 18:33:43: Debug: wxFrameTest::wxFrameTest > 18:33:43: Debug: frame->Create > 18:33:43: Debug: wxFrameTest::Show > 18:33:43: Debug: frame->Show > 18:33:43: Debug: FALSE frame->IsReady > 18:33:43: Debug: wxFrameTest::OnSize > 18:33:43: Debug: wxFrameTest::OnCreate > 18:33:43: Debug: wxFrameTest::CreateStream Hi Pedro: I had some difficulty obtaining wx_demo.cpp, and you may want to update your instructions in the newsgroup to make it easier to do so. Here is how I obtained, built, and ran it (on Debian Jessie) irwin@raven> wget https://raw.githubusercontent.com/pedro-vicente/plplot-wxwidgets/master/wx_plplot/wx_demo.cpp irwin@raven> g++ $(wx-config --cppflags --libs ) wx_demo.cpp irwin@raven> ./a.out 21:00:14: Debug: wxFrameTest::wxFrameTest 21:00:15: Debug: frame->Create 21:00:15: Debug: wxFrameTest::Show 21:00:15: Debug: wxFrameTest::OnSize 21:00:15: Debug: wxFrameTest::OnSize 21:00:15: Debug: wxFrameTest::OnCreate 21:00:15: Debug: wxFrameTest::CreateStream 21:00:15: Debug: frame->Show 21:00:15: Debug: TRUE frame->IsReady 21:00:15: Debug: wxFrameTest::OnPaint I assume that is the intended result because I got no FALSE on my platform unlike you which immediately shows something is going on that is not predictable. I am not signed up with google, but feel free to add my results (and download and build instructions for that matter) to the wxWidgets forum on google. 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 __________________________ |
From: Alan W. I. <ir...@be...> - 2016-12-22 05:39:54
|
Hi Pedro: More thoughts: I like your example because it follows the first rule of debugging which is to simplify the example that shows the strange behaviour. And I get success on my platform, and you don't on yours which confirms there is a problem (either there is a bug in wxwidgets/GTK+ or your simple example uses that software incorrectly). But it is a huge simplification that PLplot is no longer involved, and I highly approve. And with regard to the actual problem demonstrated by this simple example, I am still left wondering if you might be exposing some wxwidgets or GTK+ bug on your fast hardware there that my slow hardware does not expose here? So just for fun, can you get access to a Linux system on a moderately slow PC there to try this simple example? It doesn't have to be superslow. But I do have a nine-year-old PC running at 2.4GHz with two cpus. So if you can find a Linux PC that has roughly the same speed as that, you might find a platform where you obtain success with your simple example which might be a clue about the cause of this issue. 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 __________________________ |
From: <p.d...@gm...> - 2016-12-22 09:58:29
|
Hi Pedro It's great that you set that up. I would suggest that you post it to the wxWidgets trac system too. The forum is great for advice on how we can change things, and doublemax really knows what he’s talking about, but the wxWidgets devs only use trac for dealing with bug reports. If it is left on the forum then it will get lost. Phil Sent from my Windows 10 phone From: Alan W. Irwin Sent: 22 December 2016 05:39 To: Pedro Vicente; Phil Rosenberg; PLplot development list Subject: Re: [Plplot-devel] Infinite Yielding issue Hi Pedro: More thoughts: I like your example because it follows the first rule of debugging which is to simplify the example that shows the strange behaviour. And I get success on my platform, and you don't on yours which confirms there is a problem (either there is a bug in wxwidgets/GTK+ or your simple example uses that software incorrectly). But it is a huge simplification that PLplot is no longer involved, and I highly approve. And with regard to the actual problem demonstrated by this simple example, I am still left wondering if you might be exposing some wxwidgets or GTK+ bug on your fast hardware there that my slow hardware does not expose here? So just for fun, can you get access to a Linux system on a moderately slow PC there to try this simple example? It doesn't have to be superslow. But I do have a nine-year-old PC running at 2.4GHz with two cpus. So if you can find a Linux PC that has roughly the same speed as that, you might find a platform where you obtain success with your simple example which might be a clue about the cause of this issue. 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-22 14:48:38
|
Hi Phil there is a response from a developer https://groups.google.com/forum/#!topic/wx-dev/wsk--AlQNzU -Pedro On 2016-12-22 04:58, p.d...@gm... wrote: > Hi Pedro > > It's great that you set that up. I would suggest that you post it to > the wxWidgets trac system too. The forum is great for advice on how > we > can change things, and doublemax really knows what he’s talking > about, but the wxWidgets devs only use trac for dealing with bug > reports. If it is left on the forum then it will get lost. > > Phil > > Sent from my Windows 10 phone > > FROM: Alan W. Irwin [1] > SENT: 22 December 2016 05:39 > TO: Pedro Vicente [2]; Phil Rosenberg [3]; PLplot development list > [4] > SUBJECT: Re: [Plplot-devel] Infinite Yielding issue > > Hi Pedro: > > More thoughts: > > I like your example because it follows the first rule of debugging > > which is to simplify the example that shows the strange behaviour. > > And I get success on my platform, and you don't on yours which > > confirms there is a problem (either there is a bug in wxwidgets/GTK+ > > or your simple example uses that software incorrectly). But it is a > huge > > simplification that PLplot is no longer involved, and I highly > > approve. > > And with regard to the actual problem demonstrated by this simple > > example, I am still left wondering if you might be exposing some > > wxwidgets or GTK+ bug on your fast hardware there that my slow > > hardware does not expose here? So just for fun, can you get access > to > > a Linux system on a moderately slow PC there to try this simple > > example? It doesn't have to be superslow. But I do have a > > nine-year-old PC running at 2.4GHz with two cpus. So if you can find > a > > Linux PC that has roughly the same speed as that, you might find a > > platform where you obtain success with your simple example which > might > > be a clue about the cause of this issue. > > 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 > > __________________________ > > > > Links: > ------ > [1] mailto:ir...@be... > [2] mailto:ped...@sp... > [3] mailto:p.d...@gm... > [4] mailto:plp...@li... -- Pedro Vicente ped...@sp... http://www.space-research.org/ |
From: Alan W. I. <ir...@be...> - 2016-12-22 22:07:20
|
On 2016-12-22 09:48-0500 Pedro Vicente wrote: > Hi Phil > > there is a response from a developer > > https://groups.google.com/forum/#!topic/wx-dev/wsk--AlQNzU To Pedro and Phil: I hope that developer is responsive to Pedro's supplementary question, but so far he hasn't been. Therefore, Pedro, I suggest you follow Phil's advice to try other wxwidgets help avenues as well such as the "wxWidgets trac system" he mentioned for getting help. Meanwhile, I discovered just this morning that I now have the infinite Yielding loop when attempting to build the test_wxPLplotDemo target. I believe that is the first time that anybody other than Pedro has encountered this issue. And if I use git checkout master^ the test_wxPLplotDemo infinite Yielding loop goes away, i.e., I get 12:43:03: Debug: nanosecs since epoch = 2131058112372533: wxPLplotwindow::wxPLplotwindow 12:43:03: Debug: nanosecs since epoch = 2131058122107520: frame->Create 12:43:03: Debug: nanosecs since epoch = 2131058129943746: wxPLplotwindow::OnCreate 12:43:03: Debug: nanosecs since epoch = 2131058145174385: plD_init_wxwidgets(): enter 12:43:03: Debug: nanosecs since epoch = 2131058145277524: wxPLDevice(): enter 12:43:03: Debug: nanosecs since epoch = 2131058145349163: wxPLDevice(): gc done 12:43:03: Debug: nanosecs since epoch = 2131058145447089: wxPLDevice(): m_interactiveTextGcdc done 12:43:03: Debug: nanosecs since epoch = 2131058145489262: wxPLDevice(): SetDC done 12:43:03: Debug: nanosecs since epoch = 2131058145596088: wxPLDevice(): leave 12:43:03: Debug: nanosecs since epoch = 2131058145629197: plD_init_wxwidgets(): leave 12:43:03: Debug: nanosecs since epoch = 2131058166078403: Plot() But the infinite loop comes back again if I use git checkout master where to be clear master = 995e75e Made some items clearer in the wxWigdets Demo I am pretty sure I tested 995e75e previously by building the test_wxPLplotDemo target without encountering the infinite loop. So it is possible the infinite loop depends on delicate timing conditions that come and go.... However, I also tried Pedro's simple example again, and that does not have an infinite loop this morning. My instincts as release manager are to make another commit that reverses the effect of 995e75e which I believe was also Pedro's plan with a deadline of tomorrow (Friday) if he could not get advice on a definitive fix. However, that might be the wrong thing to do since the issue is we don't really understand what is going on here. For example, making another commit that puts us back to the equivalent of 65e7b3c Fix bug with plotting in wxPLplotDemo may still leave some users out there that experience the infinite loop even when all of Pedro's tests of 65e7b3c and mine seem fine. So I think we really need a fundamental solution for this issue that you guys understand before we release PLplot. So I appreciate you both spending some time on this issue by, e.g., exploring all avenues such as the "wxWidgets trac system" that Phil mentioned for getting help and also reading through wxwidgets documentation and tutorials to try and figure out for yourselves what is going on. In sum, I believe Pedro's plan was to suggest I make that commit to return us to the equivalent of 65e7b3c tomorrow (Friday) if he or Phil got no useful responses to their questions on wxwidgets forums concerning Pedro's simple example of the problem by then. But finding a fundamental solution to this issue is important enough that I think we should put off that commit (if necessary) until 5 days from now (Tuesday,December 27th when I was planning to make the release). And at that point we should decide whether to release using the equivalent of 65e7b3c or delay the release for several more days (and maybe into the first week in 2017) until we do get a fundamental fix that you guys understand. Does that seem like a reasonable plan for dealing with the fairly large release uncertainties created by this issue? 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-22 23:34:25
|
@Alan >Does that seem like a reasonable plan for dealing with the fairly >large release uncertainties created by this issue? yes this is the response from the developer > This is not completely unexpected, the window is only really created when > it's "realized" in GTK+/X11 terms, which can take quite some time, in > particular if a remote X server is used. But why should it matter? Just > run > the event loop until the "create" event is received and do whatever > initialization you need to do once it happens, you don't have to (and > won't > be able to) do it directly in OnInit(). he says we cannot expect a timely response from the "create" event in wxApp::OnInit(), which is the way wxPLplotDemo has. so, we have to change that, it just cannot be like it is now. @Phil several options 1) remove the frame creation from wxApp::OnInit(), I don't know where to move it to (or even if it is possible) , but the wxApp methods could provide some insight. http://docs.wxwidgets.org/3.1/classwx_app_console.html 2) leave the frame creation in wxApp::OnInit(), this requires that the "create" event must not be triggered, so we cannot call for OnCreate(). Since the frame creation must be done in the "create" functions (either in Create() or OnCreate()) that leaves only the Create() function. But , like Phil mentioned , the class that eventually creates the plot could not be a wxFrame, so the Create() function cannot be overriden. But maybe we can do the template valid only for classes that have similar Create() functions to wxFrame, and where it is possible to override Create() ? I don't know wich classes are the intended targets of the plot, maybe also dialogs? 3) other option would be not to do the templated plot window, and do a version only for wxFrame, and override the Create() function, and make the frame in wxApp::OnInit(). But this would probably break existing applications. but at the moment this is the only solution that we know has no potencial issues. > However, that might be the wrong thing to do since the issue is we > don't really understand what is going on here. So I think we really need a > fundamental solution for this issue that > you guys understand before we release PLplot. yes, no point in switching to another commit version that could have or not the same problem. > But finding > a fundamental solution to this issue is important enough that I think > we should put off that commit (if necessary) until 5 days from now > (Tuesday,December 27th when I was planning to make the release). ok -Pedro ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <Plp...@li...> Sent: Thursday, December 22, 2016 5:07 PM Subject: RE: [Plplot-devel] Infinite Yielding issue > On 2016-12-22 09:48-0500 Pedro Vicente wrote: > >> Hi Phil >> >> there is a response from a developer >> >> https://groups.google.com/forum/#!topic/wx-dev/wsk--AlQNzU > > To Pedro and Phil: > > I hope that developer is responsive to Pedro's supplementary question, > but so far he hasn't been. Therefore, Pedro, I suggest you follow > Phil's advice to try other wxwidgets help avenues as well such as the > "wxWidgets trac system" he mentioned for getting help. > > Meanwhile, I discovered just this morning that I now > have the infinite Yielding loop when attempting to build the > test_wxPLplotDemo target. I believe that is the first time > that anybody other than Pedro has encountered this issue. > > And if I use > > git checkout master^ > > the test_wxPLplotDemo infinite Yielding loop goes away, i.e., I get > > 12:43:03: Debug: nanosecs since epoch = 2131058112372533: > wxPLplotwindow::wxPLplotwindow > 12:43:03: Debug: nanosecs since epoch = 2131058122107520: frame->Create > 12:43:03: Debug: nanosecs since epoch = 2131058129943746: > wxPLplotwindow::OnCreate > 12:43:03: Debug: nanosecs since epoch = 2131058145174385: > plD_init_wxwidgets(): enter > 12:43:03: Debug: nanosecs since epoch = 2131058145277524: wxPLDevice(): > enter > 12:43:03: Debug: nanosecs since epoch = 2131058145349163: wxPLDevice(): gc > done > 12:43:03: Debug: nanosecs since epoch = 2131058145447089: wxPLDevice(): > m_interactiveTextGcdc done > 12:43:03: Debug: nanosecs since epoch = 2131058145489262: wxPLDevice(): > SetDC done > 12:43:03: Debug: nanosecs since epoch = 2131058145596088: wxPLDevice(): > leave > 12:43:03: Debug: nanosecs since epoch = 2131058145629197: > plD_init_wxwidgets(): leave > 12:43:03: Debug: nanosecs since epoch = 2131058166078403: Plot() > > But the infinite loop comes back again if I use > > git checkout master > > where to be clear master = > > 995e75e Made some items clearer in the wxWigdets Demo > > I am pretty sure I tested 995e75e previously by building the > test_wxPLplotDemo target without encountering the infinite loop. So > it is possible the infinite loop depends on delicate timing conditions > that come and go.... However, I also tried Pedro's simple example > again, and that does not have an infinite loop this morning. > > My instincts as release manager are to make another commit that > reverses the effect of 995e75e which I believe was also Pedro's plan > with a deadline of tomorrow (Friday) if he could not get advice > on a definitive fix. > > However, that might be the wrong thing to do since the issue is we > don't really understand what is going on here. For example, making > another commit that puts us back to the equivalent of > > 65e7b3c Fix bug with plotting in wxPLplotDemo > > may still leave some users out there that experience the infinite > loop even when all of Pedro's tests of 65e7b3c and mine seem fine. > > So I think we really need a fundamental solution for this issue that > you guys understand before we release PLplot. So I appreciate you > both spending some time on this issue by, e.g., exploring all avenues > such as the "wxWidgets trac system" that Phil mentioned for getting > help and also reading through wxwidgets documentation and tutorials > to try and figure out for yourselves what is going on. > > In sum, I believe Pedro's plan was to suggest I make that commit to > return us to the equivalent of 65e7b3c tomorrow (Friday) if he or Phil > got no useful responses to their questions on wxwidgets forums > concerning Pedro's simple example of the problem by then. But finding > a fundamental solution to this issue is important enough that I think > we should put off that commit (if necessary) until 5 days from now > (Tuesday,December 27th when I was planning to make the release). And > at that point we should decide whether to release using the equivalent > of 65e7b3c or delay the release for several more days (and maybe into > the first week in 2017) until we do get a fundamental fix that you > guys understand. > > Does that seem like a reasonable plan for dealing with the fairly > large release uncertainties created by this issue? > > 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 > __________________________ > |
From: Alan W. I. <ir...@be...> - 2016-12-23 04:05:48
|
Hi Pedro: On 2016-12-22 18:34-0500 Pedro Vicente wrote: > @Alan [...] > [The wxwidgets developer] says we cannot expect a timely response from the "create" event in > wxApp::OnInit(), > which is the way wxPLplotDemo has. > > so, we have to change that, it just cannot be like it is now. Good point! > > @Phil > > [Three] options Your ideas for fixing this issue are rightly directed to Phil because I don't have much expertise to help you in this area. Therefore, I will confine what I say in response to just one issue with case 3 that you brought up. > But [option 3] would probably break existing applications. > but at the moment this is the only solution that we know has no potencial > issues. I don't think we should be too concerned with breaking applications since Phil's wxwidgets approach is still pretty new and experimental, and it was breaking them in any case as you have been demonstrating. :-) I am not tuned in to wxwidgets very much, but I never heard of anyone using the old plplotwxwidgets library for anything. And the only use of Phil's new plplotwxwidgets library I have heard of up to this point is your use and Greg Jung's use. In his case he used that library as a means of getting the GDL (Gnu Data Language) project (see <https://en.wikipedia.org/wiki/GNU_Data_Language> to provide PLplot-generated plots on Windows. But I am pretty sure his approach was a private experiment and is not an official part of GDL. So I suspect that it is just you and Greg that we would be inconveniencing here, but I assume both of you would be happy to accept that inconvenience if the result was that from then on you were building your apps and libraries on top of a plplotwxwidgets library that was rock solid. It sounds like case 3 is the only rock-solid solution we have up to now so my naive vote would be for that solution unless Phil comes up with a different rock-solid solution that he prefers. So please thrash it out between you, and I look forward to the decision you two make and the implementation that will quickly follow that decision about the best way to fix this issue in a fundamental way. 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-23 06:40:50
|
Alan, Phil I went ahead and did a patch commit for option 3), attached, that has this: (note: I wrote the code in Windows, then ftp to Linux, I got some warnings about line endings, just do dos2unix if any thing shows up) Subject: [PATCH] wxwidgets binding: fix for delayed OnCreate event The delayed call of the create event (OnCreate()) on wxApp::OnInit() is a wxWidgets feature. To avoid that, the fix is to remove the event creation completely, and instead override Create(). For this to happen, the wxPLplotwindow class cannot be templated. Other changes are that events are now handled by a static event table, using wxDECLARE_EVENT_TABLE(). An auxiliary function CreateStream() creates the stream in Create(). The code of wxPLplotwindow was moved to a new source file wxPLplotwindow.cpp Tested by: Pedro Vicente <ped...@rh...> on Ubuntu Linux 16.04 with wxwidgets3.0 package installed. Results from building the test_wxPLplotDemo target: 01:06:35: Debug: wxPLplotwindow::wxPLplotwindow 01:06:35: Debug: wxPLplotwindow::Create() 01:06:35: Debug: wxPLplotwindow::CreateFrame() 01:06:35: Debug: plD_init_wxwidgets(): enter 01:06:35: Debug: wxPLDevice(): enter 01:06:35: Debug: wxPLDevice(): gc done 01:06:35: Debug: wxPLDevice(): m_interactiveTextGcdc done 01:06:35: Debug: wxPLDevice(): SetDC done 01:06:35: Debug: wxPLDevice(): leave 01:06:35: Debug: plD_init_wxwidgets(): leave 01:06:35: Debug: frame->Create 01:06:35: Debug: Plot() NOTE: previous to the creation of Create(), the same code was tested using the event creation of OnCreate(): the error still happens in this case 00:48:12: Debug: wxPLplotwindow::wxPLplotwindow 00:48:12: Debug: frame->Create 00:48:12: Debug: Plot() FALSE IsReady() 00:48:12: Debug: wxPLplotwindow::OnCreate 00:48:12: Debug: plD_init_wxwidgets(): enter 00:48:12: Debug: wxPLDevice(): enter 00:48:12: Debug: wxPLDevice(): gc done 00:48:12: Debug: wxPLDevice(): m_interactiveTextGcdc done 00:48:12: Debug: wxPLDevice(): SetDC done 00:48:12: Debug: wxPLDevice(): leave 00:48:12: Debug: plD_init_wxwidgets(): leave ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <Plp...@li...> Sent: Thursday, December 22, 2016 11:05 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > Hi Pedro: > > On 2016-12-22 18:34-0500 Pedro Vicente wrote: > >> @Alan > [...] >> [The wxwidgets developer] says we cannot expect a timely response from >> the "create" event in wxApp::OnInit(), >> which is the way wxPLplotDemo has. >> >> so, we have to change that, it just cannot be like it is now. > > Good point! > >> >> @Phil >> >> [Three] options > > Your ideas for fixing this issue are rightly directed to Phil because I > don't have much > expertise to help you in this area. Therefore, I will confine what I say > in response to > just one issue with case 3 that you brought up. > >> But [option 3] would probably break existing applications. >> but at the moment this is the only solution that we know has no potencial >> issues. > > I don't think we should be too concerned with breaking applications since > Phil's wxwidgets approach is still pretty new and experimental, and it > was breaking them in any case as you have been demonstrating. :-) > > I am not tuned in to wxwidgets very much, but I never heard of anyone > using the old plplotwxwidgets library for anything. And the only use > of Phil's new plplotwxwidgets library I have heard of up to this point > is your use and Greg Jung's use. In his case he used that library as > a means of getting the GDL (Gnu Data Language) project (see > <https://en.wikipedia.org/wiki/GNU_Data_Language> to provide > PLplot-generated plots on Windows. But I am pretty sure his approach > was a private experiment and is not an official part of GDL. So I > suspect that it is just you and Greg that we would be inconveniencing > here, but I assume both of you would be happy to accept that > inconvenience if the result was that from then on you were building > your apps and libraries on top of a plplotwxwidgets library that was > rock solid. > > It sounds like case 3 is the only rock-solid solution we have up to > now so my naive vote would be for that solution unless Phil comes up > with a different rock-solid solution that he prefers. So please > thrash it out between you, and I look forward to the decision you two > make and the implementation that will quickly follow that decision > about the best way to fix this issue in a fundamental way. > > 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 > __________________________ > |
From: Alan W. I. <ir...@be...> - 2016-12-23 19:50:22
|
On 2016-12-23 01:40-0500 Pedro Vicente wrote: > Alan, Phil > > I went ahead and did a patch commit for option 3), attached, > that has this: > > (note: I wrote the code in Windows, then ftp to Linux, I got some warnings > about line endings, just do > dos2unix if any thing shows up) Hi Pedro: Your change is extremly promising because for the first time I get the same debug output here as you do on Ubunutu. In other words we have a deterministic order for the first time! However, your commit needs some code revision. I did some of that here, but there is more for you to do there to avoid the new bitmap errors I detected when running the wxwidgets device driver which launches wxPLViewer and communicates with it to get the plot displayed. I suspect the revision you have done for the wxPLViewer code is somehow interfering with that use of the wxPLViewer application. Now for the details. Your formatted patch (which by the way has no Windows line endings in it) applied relatively cleanly here aside from minor whitespace issues, but did not build. That build issue was caused by incorrect symbol visibility for your changes. I found that issue on Linux by using the -fvisibility=hidden option, e.g., software@raven> printenv |grep FL CXXFLAGS=-O3 -fvisibility=hidden -Wuninitialized CFLAGS=-O3 -fvisibility=hidden -Wuninitialized FFLAGS=-O3 -Wuninitialized -Wunused That produces for gcc a symbol visibility that is similar to visibility on Windows platforms. That is, I don't think your changes would have built on Windows. The visibility fix was to replace class wxPLplotwindow : public wxFrame by class PLDLLIMPEXP_WX wxPLplotwindow : public wxFrame in bindings/wxwidgets/wxPLplotwindow.h. I attach the revised version of your patch with this change and several line-ending and style changes applied. However, to quote from that revised commit message (in the new Tested by: section for me) I got "the same as the Ubuntu results above which is the first time the two platforms have the same debugging output meaning we appear to have a deterministic solution!" "HOWEVER. There are run-time problems (invalid bitmap) with these changes for wxPLViewer if you use that in conjunction with -dev wxwidgets so this should not be the final version of this commit." software@raven> examples/c/x01c -dev wxwidgets PLplot library version: 5.11.1 10:54:55: Debug: nanosecs since epoch = 2210969809300109: plD_init_wxwidgets(): enter 10:54:55: Debug: nanosecs since epoch = 2210969845142231: wxPLDevice(): enter 10:54:55: Debug: nanosecs since epoch = 2210969845351899: wxPLDevice(): gc done 10:54:55: Debug: nanosecs since epoch = 2210969867143754: wxPLDevice(): m_interactiveTextGcdc done 10:54:55: Debug: nanosecs since epoch = 2210969867214649: SetupMemoryMap(): enter 10:54:55: Debug: nanosecs since epoch = 2210969868074842: SetupMemoryMap(): mapName start 10:54:55: Debug: nanosecs since epoch = 2210969868110859: SetupMemoryMap(): mapName done 10:54:55: Debug: nanosecs since epoch = 2210969868140426: SetupMemoryMap(): m_outputMemoryMap.create call 10:54:55: Debug: nanosecs since epoch = 2210969868201560: SetupMemoryMap(): m_outputMemoryMap.create done 10:54:55: Debug: nanosecs since epoch = 2210970015888076: wxPLplotwindow::wxPLplotwindow 10:54:55: Debug: nanosecs since epoch = 2210970031998161: SetupMemoryMap(): leave 10:54:55: Debug: nanosecs since epoch = 2210970032100417: wxPLDevice(): leave 10:54:55: Debug: nanosecs since epoch = 2210970032134179: plD_init_wxwidgets(): leave software@raven> ../src/gtk/bitmap.cpp(923): assert "IsOk()" failed in GetWidth(): invalid bitmap So Pedro, my version of your patch should be applied there with git am < /tmp/0001-wxwidgets-binding-fix-for-delayed-OnCreate-event.patch You should use that command on a fresh topic branch without your changes, i.e., latest master from SF. And make sure it is my version of your patch you apply and not your own patch of the same name. Please use my revision of your patch that way to preserve the style and line ending issues I fixed and the tested-by section I inserted in the commit message rather than just cherry-picking the visibility fix. The next step after that is to build the wxwidgets, wxPLViewer, and x01c targets and try the experiment above. Assuming you will see the same bitmap error as above, then please revise your patch again to fix that. (Just use "git add" to stage additional changes you want to add to your commit, and "git commit --amend" to add those staged changes to your commit. This very common git pattern avoids a series of non-working commits which are successive approximations to the final working commit.) Then follow up by testing the second revision of your patch on all systems accessible to you by building the test_wxPLplotDemo and test_c_wxwidgets targets on each of them. (The latter does the above experiment on a small subset of the examples with all prerequisite targets built first automatically.) Then send that second revised version of your patch to Phil and me for more testing/analysis. If it passes Phil's tests and mine, AND he likes your new approach, then I will revise my "Tested by:" section in the commit message appropriately and push your patch to finally put this release-critical issue to rest. 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 __________________________ |
From: Alan W. I. <ir...@be...> - 2016-12-23 21:30:30
|
On 2016-12-23 15:18-0500 Pedro Vicente wrote: > Hi Alan > > I applied the patch on CentOS; > no errors on build > wxPLplotwindow demo does the plot > same error on the same example Thanks, Pedro, for verifying my revision of your commit applies cleanly there and for verifying the run-time error I discovered with your commit. And good luck fixing whatever the trouble is that is causing that error. With regard to your suggestion for finding other ways to have collaborative git development, this is a really critical time for us trying to find a rock-solid fix for this release-critical issue so I would prefer we discuss your suggestion post-release when we are all more relaxed and have time to consider your suggestion carefully. 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 __________________________ |
From: Pedro V. <ped...@sp...> - 2016-12-23 21:42:22
|
Hi Alan >With regard to your suggestion for finding other ways to have >collaborative git development, this is a really critical time for us >trying to find a rock-solid fix for this release-critical issue so I >would prefer we discuss your suggestion post-release when we are all >more relaxed and have time to consider your suggestion carefully. on better thinking doing a "dev" branch where things have errors might not be a good idea, the less entropy the better. so, this patch exchange is better i.m.o I''ll check the errors later -Pedro ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Friday, December 23, 2016 4:30 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > On 2016-12-23 15:18-0500 Pedro Vicente wrote: > >> Hi Alan >> >> I applied the patch on CentOS; >> no errors on build >> wxPLplotwindow demo does the plot >> same error on the same example > > Thanks, Pedro, for verifying my revision of your commit applies > cleanly there and for verifying the run-time error I discovered with > your commit. And good luck fixing whatever the trouble is that is > causing that error. > > With regard to your suggestion for finding other ways to have > collaborative git development, this is a really critical time for us > trying to find a rock-solid fix for this release-critical issue so I > would prefer we discuss your suggestion post-release when we are all > more relaxed and have time to consider your suggestion carefully. > > 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 > __________________________ > |
From: Pedro V. <ped...@sp...> - 2016-12-23 21:44:02
|
by the way, what are the commands to do comprehensing testing? -Pedro ----- Original Message ----- From: "Alan W. Irwin" <ir...@be...> To: "Pedro Vicente" <ped...@sp...>; "Phil Rosenberg" <p.d...@gm...>; "PLplot development list" <plp...@li...> Sent: Friday, December 23, 2016 4:30 PM Subject: Re: [Plplot-devel] Infinite Yielding issue > On 2016-12-23 15:18-0500 Pedro Vicente wrote: > >> Hi Alan >> >> I applied the patch on CentOS; >> no errors on build >> wxPLplotwindow demo does the plot >> same error on the same example > > Thanks, Pedro, for verifying my revision of your commit applies > cleanly there and for verifying the run-time error I discovered with > your commit. And good luck fixing whatever the trouble is that is > causing that error. > > With regard to your suggestion for finding other ways to have > collaborative git development, this is a really critical time for us > trying to find a rock-solid fix for this release-critical issue so I > would prefer we discuss your suggestion post-release when we are all > more relaxed and have time to consider your suggestion carefully. > > 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 > __________________________ > |