You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(58) |
Nov
(95) |
Dec
(55) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(205) |
Feb
(106) |
Mar
(36) |
Apr
(25) |
May
(34) |
Jun
(36) |
Jul
(161) |
Aug
(66) |
Sep
(100) |
Oct
(62) |
Nov
(77) |
Dec
(172) |
2003 |
Jan
(101) |
Feb
(202) |
Mar
(191) |
Apr
(97) |
May
(27) |
Jun
(21) |
Jul
(16) |
Aug
(55) |
Sep
(155) |
Oct
(166) |
Nov
(19) |
Dec
(134) |
2004 |
Jan
(569) |
Feb
(367) |
Mar
(81) |
Apr
(62) |
May
(124) |
Jun
(77) |
Jul
(85) |
Aug
(80) |
Sep
(66) |
Oct
(42) |
Nov
(20) |
Dec
(133) |
2005 |
Jan
(192) |
Feb
(143) |
Mar
(183) |
Apr
(128) |
May
(136) |
Jun
(18) |
Jul
(22) |
Aug
(33) |
Sep
(20) |
Oct
(12) |
Nov
(80) |
Dec
(44) |
2006 |
Jan
(42) |
Feb
(38) |
Mar
(17) |
Apr
(112) |
May
(220) |
Jun
(67) |
Jul
(96) |
Aug
(214) |
Sep
(104) |
Oct
(67) |
Nov
(150) |
Dec
(103) |
2007 |
Jan
(111) |
Feb
(50) |
Mar
(113) |
Apr
(19) |
May
(32) |
Jun
(34) |
Jul
(61) |
Aug
(103) |
Sep
(75) |
Oct
(99) |
Nov
(102) |
Dec
(40) |
2008 |
Jan
(86) |
Feb
(56) |
Mar
(104) |
Apr
(50) |
May
(45) |
Jun
(64) |
Jul
(71) |
Aug
(147) |
Sep
(132) |
Oct
(176) |
Nov
(46) |
Dec
(136) |
2009 |
Jan
(159) |
Feb
(136) |
Mar
(188) |
Apr
(189) |
May
(166) |
Jun
(97) |
Jul
(160) |
Aug
(235) |
Sep
(163) |
Oct
(46) |
Nov
(99) |
Dec
(54) |
2010 |
Jan
(104) |
Feb
(121) |
Mar
(153) |
Apr
(75) |
May
(138) |
Jun
(63) |
Jul
(61) |
Aug
(27) |
Sep
(93) |
Oct
(63) |
Nov
(40) |
Dec
(102) |
2011 |
Jan
(52) |
Feb
(26) |
Mar
(61) |
Apr
(27) |
May
(33) |
Jun
(43) |
Jul
(37) |
Aug
(53) |
Sep
(58) |
Oct
(63) |
Nov
(67) |
Dec
(16) |
2012 |
Jan
(97) |
Feb
(34) |
Mar
(6) |
Apr
(18) |
May
(32) |
Jun
(9) |
Jul
(17) |
Aug
(78) |
Sep
(24) |
Oct
(101) |
Nov
(31) |
Dec
(7) |
2013 |
Jan
(44) |
Feb
(35) |
Mar
(59) |
Apr
(17) |
May
(29) |
Jun
(38) |
Jul
(48) |
Aug
(46) |
Sep
(74) |
Oct
(140) |
Nov
(94) |
Dec
(177) |
2014 |
Jan
(94) |
Feb
(74) |
Mar
(75) |
Apr
(63) |
May
(24) |
Jun
(1) |
Jul
(30) |
Aug
(112) |
Sep
(78) |
Oct
(137) |
Nov
(60) |
Dec
(17) |
2015 |
Jan
(128) |
Feb
(254) |
Mar
(273) |
Apr
(137) |
May
(181) |
Jun
(157) |
Jul
(83) |
Aug
(34) |
Sep
(26) |
Oct
(9) |
Nov
(24) |
Dec
(43) |
2016 |
Jan
(94) |
Feb
(77) |
Mar
(83) |
Apr
(19) |
May
(39) |
Jun
(1) |
Jul
(5) |
Aug
(10) |
Sep
(28) |
Oct
(34) |
Nov
(82) |
Dec
(301) |
2017 |
Jan
(53) |
Feb
(50) |
Mar
(11) |
Apr
(15) |
May
(23) |
Jun
(36) |
Jul
(84) |
Aug
(90) |
Sep
(35) |
Oct
(81) |
Nov
(13) |
Dec
(11) |
2018 |
Jan
(15) |
Feb
(4) |
Mar
(2) |
Apr
(2) |
May
|
Jun
(6) |
Jul
(4) |
Aug
(13) |
Sep
(31) |
Oct
(4) |
Nov
(25) |
Dec
(64) |
2019 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
|
May
(13) |
Jun
(8) |
Jul
(16) |
Aug
(7) |
Sep
(27) |
Oct
(1) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(8) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(3) |
Oct
(2) |
Nov
(4) |
Dec
(3) |
2021 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
(9) |
Aug
(3) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
|
2022 |
Jan
|
Feb
(6) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(8) |
2023 |
Jan
(6) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(10) |
Jun
(7) |
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(9) |
Oct
|
Nov
|
Dec
|
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: Arjen M. <Arj...@de...> - 2016-12-22 09:33:01
|
Hi Alan, > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Thursday, December 22, 2016 10:25 AM > To: Arjen Markus > Cc: PLplot development list > Subject: RE: [Plplot-devel] Comprehensive testing > > On 2016-12-22 08:27-0000 Arjen Markus wrote: > > > I have just added the version and origin information for Tcl in the Wiki page. > > Thanks, Arjen. I tweaked that footnote a bit more than propagated all changes to > the (duplicate) footnote for the other table. While doing that, it struck me that > although the current description of your batch file (taken from your e-mail) does not > include C++, those examples are built in any case by nmake. So the next time you > use that batch file you may want to add the C++ examples as well. > > Also, would you be willing to copy your batch file to the scripts directory and commit > it? It sounds like it would be useful to other MSVC + ifort testers. > Yes, that is an omission in the script. I now use a Tcl script to compare the files (because of lack of a suitable command under Windows - sigh) but a small C program to do the same may be more appropriate - we can be sure there is a C compiler on the machine, but not anything else. Also my current script simply takes for granted that the various languages are supported. I should make it a trifle more robust before releasing it to the outside world :). I will take care of both issues, not sure when, as the coming festivities will exact their toll on my time. Regards, Arjen DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Alan W. I. <ir...@be...> - 2016-12-22 09:24:57
|
On 2016-12-22 08:27-0000 Arjen Markus wrote: > I have just added the version and origin information for Tcl in the Wiki page. Thanks, Arjen. I tweaked that footnote a bit more than propagated all changes to the (duplicate) footnote for the other table. While doing that, it struck me that although the current description of your batch file (taken from your e-mail) does not include C++, those examples are built in any case by nmake. So the next time you use that batch file you may want to add the C++ examples as well. Also, would you be willing to copy your batch file to the scripts directory and commit it? It sounds like it would be useful to other MSVC + ifort testers. 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: Arjen M. <Arj...@de...> - 2016-12-22 08:27:32
|
Hi Alan, > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Thursday, December 22, 2016 1:15 AM > To: Arjen Markus > Cc: PLplot development list > Subject: Re: [Plplot-devel] Comprehensive testing > > Hi Arjen: > > I have just described your recent MSVC + ifort platform tests as the first item in the > two tables at > <https://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Testing%20Reports> > and > <https://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Fortran%20Testing%20Repor > ts>. > Please take a careful look at the footnote (called "l" in that former table and "d" in > that latter table, but the wording is identical for those two different footnotes). I > believe I have come up with a resonable designation for your MSVC compiler in > those footnotes, but feel free to advise me if you think I can improve on that. Also, > note the two ??? values that are in that footnote now corresponding to the Tcl > version you use and general site where you obtained that version of Tcl. Could you > please let me know that information so I can replace those ??? values or else > update those two separate footnotes yourself? > I have just added the version and origin information for Tcl in the Wiki page. As for the designation of the C/C++ and Fortran compilers: as far as I am aware "everybody" uses the terms now in that Wiki page. The official designations you get with the options to report the version are confusing in my opinion - what is a composer other than someone writing a piece of music? (Those terms seem to originate with the marketing department of the various companies.) The short message therefore is that with the concise and the detailed designations the software has been uniquely identified. Regards, Arjen DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
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: 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: 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 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: Alan W. I. <ir...@be...> - 2016-12-22 00:14:46
|
Hi Arjen: I have just described your recent MSVC + ifort platform tests as the first item in the two tables at <https://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Testing%20Reports> and <https://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Fortran%20Testing%20Reports>. Please take a careful look at the footnote (called "l" in that former table and "d" in that latter table, but the wording is identical for those two different footnotes). I believe I have come up with a resonable designation for your MSVC compiler in those footnotes, but feel free to advise me if you think I can improve on that. Also, note the two ??? values that are in that footnote now corresponding to the Tcl version you use and general site where you obtained that version of Tcl. Could you please let me know that information so I can replace those ??? values or else update those two separate footnotes yourself? 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-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-21 22:32:44
|
On 2016-12-19 09:39-0000 Arjen Markus wrote: >> -----Original Message----- >> From: Alan W. Irwin [mailto:ir...@be...] [...] >> From the e-mail you wrote back then, I have identified that platform as Ubuntu (I >> believe it was on some virtual box you had available to you at work) with NAGFOR >> compiler. Can you retrieve any more details at this late date about which version >> (i.e., codename) of Ubuntu, and which numerical version of NAGFOR? If so, >> please update that table item in the wiki or send me that data so I can do that >> myself. >> > I have checked the Ubuntu version - not a codename but only: Ubuntu 16.04 LTS > > NAG Fortran was version 6.1 Thanks for that info. I have just now updated our wiki accordingly at <https://sourceforge.net/p/plplot/wiki/Testing_PLplot/#Fortran%20Testing%20Reports>. 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 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 19:52:17
|
I must confess that I use msvc and visual studio them interchangeably. But can't visual studio do visual basic and c# too? I sort of assumed msvc was the c/c++ bit of visual studio. But I'd be happy to learn different. I always though the visual bit referred to fact that you could draw windows and visual studio would generate code for you. But I only ever tried this once (in visual studio 6 I think) and don't know if that feature still exists. Phil Sent from my Windows 10 phone From: Alan W. Irwin Sent: 21 December 2016 19:25 To: Arjen Markus Cc: PLplot development list Subject: Re: [Plplot-devel] Comprehensive testing On 2016-12-21 11:04-0000 Arjen Markus wrote: >> -----Original Message----- >> From: Alan W. Irwin [mailto:ir...@be...] [...] >> I have additional questions about terminology. Is MSVC an IDE? (That is implied >> by the wikipedia article about it.) Just out of curiosity is the "Microsoft C/C++ >> optimizing compiler" the compiler used by that IDE? However, if I recall correctly, >> you use the command line and not an IDE. So does that mean you are using >> nmake on the command line? I believe I have often described your tests as MSVC >> +ifort, but it appears that is not correct, if MSVC is an IDE that you are not actually >> using. >> > Well, MSVC (MicroSoft Visual C++) is the compiler and it is usual to use it in combination with the MicroSoft Visual Studio IDE, but it is perfectly possible to use it from the command-line. And that is what I do in the case of PLplot. One reason is that it is easier to automate things (if you use the Visual Studio generator - and you have carefully selected the right version - you get a complex or at least extensive set of projects, each to build a single component of PLplot). Another is that I like working from the command-line. It gives me more control :). > > So, the concise description is correct. Hi Arjen: Thanks for the additional information you gave about your test conditions and also your clarifying explanation above that MSVC is not an IDE but often used in conjunction with one. Which is not consistent with what the wikipedia article <https://en.wikipedia.org/wiki/Visual_C++> says (for example, in their summary box they say MSVC is an IDE), but I suspect they got it wrong this time. One naming convention still has me confused. You reported > C:\Program Files (x86)\Intel\Composer XE 2015>cl -v > Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64 There is no mention there of "Visual" so is this some different compiler than MSVC? My working hypothesis to explain this difference in nomenclature is MSVC is actually a suite of products including this compiler, a debugger, and a lot of machinery (which you don't use) to make it all work with the Visual Studio IDE. But I would appreciate your confirmation of that hypothesis. If that hypothesis is correct, it might be better to use the shorthand (and more recognizable) description MSVC to describe your compiler as opposed to "C/C++ Optimizing Compiler Version 18.00.40629", but I would need to know your MSVC version number in that case. Actually, what I need here is your advice on the best way to designate your C/C++ and Intel Fortran compiler versions in a way that Windows developers will instantly recognize, and I will follow that advice. By the way, it is even more confusing in the free compiler world; "gcc" is the name of the suite of compilers for C, C++, Fortran, etc., but "gcc" is also the name for the C compiler subset of that suite. :-) 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: Alan W. I. <ir...@be...> - 2016-12-21 19:25:30
|
On 2016-12-21 11:04-0000 Arjen Markus wrote: >> -----Original Message----- >> From: Alan W. Irwin [mailto:ir...@be...] [...] >> I have additional questions about terminology. Is MSVC an IDE? (That is implied >> by the wikipedia article about it.) Just out of curiosity is the "Microsoft C/C++ >> optimizing compiler" the compiler used by that IDE? However, if I recall correctly, >> you use the command line and not an IDE. So does that mean you are using >> nmake on the command line? I believe I have often described your tests as MSVC >> +ifort, but it appears that is not correct, if MSVC is an IDE that you are not actually >> using. >> > Well, MSVC (MicroSoft Visual C++) is the compiler and it is usual to use it in combination with the MicroSoft Visual Studio IDE, but it is perfectly possible to use it from the command-line. And that is what I do in the case of PLplot. One reason is that it is easier to automate things (if you use the Visual Studio generator - and you have carefully selected the right version - you get a complex or at least extensive set of projects, each to build a single component of PLplot). Another is that I like working from the command-line. It gives me more control :). > > So, the concise description is correct. Hi Arjen: Thanks for the additional information you gave about your test conditions and also your clarifying explanation above that MSVC is not an IDE but often used in conjunction with one. Which is not consistent with what the wikipedia article <https://en.wikipedia.org/wiki/Visual_C++> says (for example, in their summary box they say MSVC is an IDE), but I suspect they got it wrong this time. One naming convention still has me confused. You reported > C:\Program Files (x86)\Intel\Composer XE 2015>cl -v > Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64 There is no mention there of "Visual" so is this some different compiler than MSVC? My working hypothesis to explain this difference in nomenclature is MSVC is actually a suite of products including this compiler, a debugger, and a lot of machinery (which you don't use) to make it all work with the Visual Studio IDE. But I would appreciate your confirmation of that hypothesis. If that hypothesis is correct, it might be better to use the shorthand (and more recognizable) description MSVC to describe your compiler as opposed to "C/C++ Optimizing Compiler Version 18.00.40629", but I would need to know your MSVC version number in that case. Actually, what I need here is your advice on the best way to designate your C/C++ and Intel Fortran compiler versions in a way that Windows developers will instantly recognize, and I will follow that advice. By the way, it is even more confusing in the free compiler world; "gcc" is the name of the suite of compilers for C, C++, Fortran, etc., but "gcc" is also the name for the C compiler subset of that suite. :-) 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: Arjen M. <Arj...@de...> - 2016-12-21 11:04:44
|
Hi Alan, See below > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Wednesday, December 21, 2016 11:50 AM > To: Arjen Markus > Cc: PLplot development list > Subject: RE: [Plplot-devel] Comprehensive testing > > On 2016-12-21 09:01-0000 Arjen Markus wrote: > > > I just ran the little script I have for the examples in C, Fortran > and Tcl. The PostScript files all came out identical for the corresponding examples. > Here are the details for the two compilers: > > Thanks for that critical test of the Microsoft C/C++ compiler + Intel compiler and the > further compiler details you supplied. > > Could you also identify what cmake version you used, what generator you used, > and confirm your tests were confined to the build tree with default shared libraries > and dynamic devices? > CMake 3.4.3, with the "NMake Makefiles" generator. The complete command line for this was: d:\cmake3.4.3\bin\cmake ..\plplot-git -G "NMake Makefiles" -DBUILD_TEST=ON -DENABLE_java=OFF -DPLD_wxwidgets=OFF > I have additional questions about terminology. Is MSVC an IDE? (That is implied > by the wikipedia article about it.) Just out of curiosity is the "Microsoft C/C++ > optimizing compiler" the compiler used by that IDE? However, if I recall correctly, > you use the command line and not an IDE. So does that mean you are using > nmake on the command line? I believe I have often described your tests as MSVC > +ifort, but it appears that is not correct, if MSVC is an IDE that you are not actually > using. > Well, MSVC (MicroSoft Visual C++) is the compiler and it is usual to use it in combination with the MicroSoft Visual Studio IDE, but it is perfectly possible to use it from the command-line. And that is what I do in the case of PLplot. One reason is that it is easier to automate things (if you use the Visual Studio generator - and you have carefully selected the right version - you get a complex or at least extensive set of projects, each to build a single component of PLplot). Another is that I like working from the command-line. It gives me more control :). So, the concise description is correct. Regards, Arjen DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
From: Alan W. I. <ir...@be...> - 2016-12-21 10:50:15
|
On 2016-12-21 09:01-0000 Arjen Markus wrote: > I just ran the little script I have for the examples in C, Fortran and Tcl. The PostScript files all came out identical for the corresponding examples. Here are the details for the two compilers: Thanks for that critical test of the Microsoft C/C++ compiler + Intel compiler and the further compiler details you supplied. Could you also identify what cmake version you used, what generator you used, and confirm your tests were confined to the build tree with default shared libraries and dynamic devices? I have additional questions about terminology. Is MSVC an IDE? (That is implied by the wikipedia article about it.) Just out of curiosity is the "Microsoft C/C++ optimizing compiler" the compiler used by that IDE? However, if I recall correctly, you use the command line and not an IDE. So does that mean you are using nmake on the command line? I believe I have often described your tests as MSVC +ifort, but it appears that is not correct, if MSVC is an IDE that you are not actually using. 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: Arjen M. <Arj...@de...> - 2016-12-21 09:02:14
|
Hi Alan, I just ran the little script I have for the examples in C, Fortran and Tcl. The PostScript files all came out identical for the corresponding examples. Here are the details for the two compilers: Intel(R) Parallel Studio XE 2015 Copyright (C) 1985-2014 Intel Corporation. All rights reserved. Intel(R) Parallel Studio XE 2015 Update 1 Composer Edition (package 148) C:\Program Files (x86)\Intel\Composer XE 2015>cl -v Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x64 Copyright (C) Microsoft Corporation. All rights reserved. (See also remark below) Regards, Arjen > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > Sent: Sunday, December 18, 2016 12:52 AM > > > > I believe you mentioned previously that you planned to test the > > combination of MSVC + ifort for this release? If you have done that I > > would appreciate you letting me know the results for our release notes > > (concerning the part of those release notes detailing what new Fortran > > binding tests were done. Also, please let me know the version of MSVC > > and ifort you used so I can record that in the release notes. > > > > By the way, you might find as a result of those tests that you have to > > upgrade bindings/f95/plplotf95_ifort.def since that was last updated > > in February 2016 (!) and there have been some Fortran changes since. > > PLplot built smoothlessly from a clean directory - so the Intel Fortran .def file is up to date. DISCLAIMER: This message is intended exclusively for the addressee(s) and may contain confidential and privileged information. If you are not the intended recipient please notify the sender immediately and destroy this message. Unauthorized use, disclosure or copying of this message is strictly prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, The Netherlands, Commercial Registration Number 41146461, is not liable in any way whatsoever for consequences and/or damages resulting from the improper, incomplete and untimely dispatch, receipt and/or content of this e-mail. |
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 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: 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 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: 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 01:32:20
|
Hi Phil I agree, the Show() solution is a bad solution, the stream creation must be done in OnCreate() -Pedro ----- Original Message ----- From: p.d...@gm... To: Pedro Vicente ; Alan W. Irwin Cc: PLplot development list Sent: Tuesday, December 20, 2016 6:38 PM Subject: RE: [Plplot-devel] Subscribing to our git feed Hi Pedro The fact that the solution is currently broken does not help my argument here. However, here is the reasoning. With the show solution this works MyFrame *frame = new Frame(); frame->Show(); Plot(frame); But the user may not want to show the frame immediately or may want to show and hide it at various times, in which case the following code fails MyFrame *frame = new Frame(); Plot(frame); // this could be one line later or in a whole // different scope frame->Show(); By having the create call this should put all construction in one place ( assuming it works!) and totally separates the construction and setting up of the window from displaying it. Another way to think of it is that each function must have a well defined contract – a set of things it does. If it doesn't do those things, or if it has some side effects that aren't part of that contract then this is bad. It violates the “principle of least surprise” and leads not only to buggy code but to bugs that are very difficult to track down. In this case the Show method already has a well defined contract and wxWidgets users would expect that to be respected. Show displays or hides windows. Drawing on windows is totally independent of Show. If we add a side effect to the Show method then wxWidgets users don't expect that. The worst case scenario is that by chance it works to start with, because they happen to have Show() before Plot(), then they decide to move the Show() call, perhaps as part of some bigger restructuring. Suddenly everything breaks and the user has no idea why. They probably don't even suspect the innocuous Show() call, because they are sure they know what it does – it has a well defined contract, but we broke that. So they spend hours or days debugging and looking in the wrong place. Well I may be over exaggerating. But I'm sure you get my point. In well structured code every function has a well defined contract and no side effects. If we mess with Show() then we are breaking that contract. At least with Create(), there is a documented methodology already. We can also encapsulate this in a constructor if needed (this is my plan for a few cases, but it will have to wait until the next release). Does that make sense? I am however happy to hear other solutions, but I am pretty keen on trying to enforce the principle of least surprise along with the contract concept as I have been caught out badly in the past by (my own and other peoples’) code that didn't confirm to these principles. Phil Sent from my Windows 10 phone From: Pedro Vicente Sent: 20 December 2016 18:07 To: Alan W. Irwin Cc: PLplot development list Subject: Re: [Plplot-devel] Subscribing to our git feed Hi Alan, Phil > Also, it was > really good to hear that your tests show we finally have the > definitive fix for this Linux issue You're welcome, glad I could help. I was going to send an email questioning the reasoning of both solutions assuming both were working (Phil's and mine), but 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 About the solutions 1) Current solution Right now, this has to be done in the client code //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(); } So, the user has to do some extra step in order to wait for wxWidgets to process some event. Ideally he should not have to do this but rather all should be done inside wxWidgets. This is error prone, because the usual way to use wxWidgets is MyFrame *frame = new Frame() frame->Show() here we have MyFrame *frame = new Frame() frame->Create() While () { wait() } frame->Show() Plot( so a user might not even be aware of this wait extra step. that is assuming it's working, but on my CentOS it gets stuck on the Yield() 2) Solution of creating the fame in Show() Client code is MyFrame *frame = new Frame() frame->Create() frame->Show() Plot() there is no wait loop; there is also no need to create the stream in OnCreate() -Pedro On 2016-12-20 04:01, Alan W. Irwin wrote: > On 2016-12-19 23:32-0500 Pedro Vicente wrote: > >> Hi Alan >> >> I subscribed to the feed, got the latest master, and all is working >> now on wxWidgetsdemo. > > Hi Pedro: > > That is good that you are subscribed to the git feed. Also, it was > really good to hear that your tests show we finally have the > definitive fix for this Linux issue thanks to your original report of > the issue, your implementation of an initial solution, your > subsequent > test efforts on various Linux platforms, and your discussions of the > issue with Phil. And my thanks to Phil for ultimately finding the > definitive fix. That was good collaborative development work on an > open source project you can both be proud of. > > 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 > __________________________ -- Pedro Vicente ped...@sp... http://www.space-research.org/ ------------------------------------------------------------------------------ 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-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: <p.d...@gm...> - 2016-12-20 23:38:12
|
Hi Pedro The fact that the solution is currently broken does not help my argument here. However, here is the reasoning. With the show solution this works MyFrame *frame = new Frame(); frame->Show(); Plot(frame); But the user may not want to show the frame immediately or may want to show and hide it at various times, in which case the following code fails MyFrame *frame = new Frame(); Plot(frame); // this could be one line later or in a whole // different scope frame->Show(); By having the create call this should put all construction in one place ( assuming it works!) and totally separates the construction and setting up of the window from displaying it. Another way to think of it is that each function must have a well defined contract – a set of things it does. If it doesn't do those things, or if it has some side effects that aren't part of that contract then this is bad. It violates the “principle of least surprise” and leads not only to buggy code but to bugs that are very difficult to track down. In this case the Show method already has a well defined contract and wxWidgets users would expect that to be respected. Show displays or hides windows. Drawing on windows is totally independent of Show. If we add a side effect to the Show method then wxWidgets users don't expect that. The worst case scenario is that by chance it works to start with, because they happen to have Show() before Plot(), then they decide to move the Show() call, perhaps as part of some bigger restructuring. Suddenly everything breaks and the user has no idea why. They probably don't even suspect the innocuous Show() call, because they are sure they know what it does – it has a well defined contract, but we broke that. So they spend hours or days debugging and looking in the wrong place. Well I may be over exaggerating. But I'm sure you get my point. In well structured code every function has a well defined contract and no side effects. If we mess with Show() then we are breaking that contract. At least with Create(), there is a documented methodology already. We can also encapsulate this in a constructor if needed (this is my plan for a few cases, but it will have to wait until the next release). Does that make sense? I am however happy to hear other solutions, but I am pretty keen on trying to enforce the principle of least surprise along with the contract concept as I have been caught out badly in the past by (my own and other peoples’) code that didn't confirm to these principles. Phil Sent from my Windows 10 phone From: Pedro Vicente Sent: 20 December 2016 18:07 To: Alan W. Irwin Cc: PLplot development list Subject: Re: [Plplot-devel] Subscribing to our git feed Hi Alan, Phil > Also, it was > really good to hear that your tests show we finally have the > definitive fix for this Linux issue You're welcome, glad I could help. I was going to send an email questioning the reasoning of both solutions assuming both were working (Phil's and mine), but 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 About the solutions 1) Current solution Right now, this has to be done in the client code //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(); } So, the user has to do some extra step in order to wait for wxWidgets to process some event. Ideally he should not have to do this but rather all should be done inside wxWidgets. This is error prone, because the usual way to use wxWidgets is MyFrame *frame = new Frame() frame->Show() here we have MyFrame *frame = new Frame() frame->Create() While () { wait() } frame->Show() Plot( so a user might not even be aware of this wait extra step. that is assuming it's working, but on my CentOS it gets stuck on the Yield() 2) Solution of creating the fame in Show() Client code is MyFrame *frame = new Frame() frame->Create() frame->Show() Plot() there is no wait loop; there is also no need to create the stream in OnCreate() -Pedro On 2016-12-20 04:01, Alan W. Irwin wrote: > On 2016-12-19 23:32-0500 Pedro Vicente wrote: > >> Hi Alan >> >> I subscribed to the feed, got the latest master, and all is working >> now on wxWidgetsdemo. > > Hi Pedro: > > That is good that you are subscribed to the git feed. Also, it was > really good to hear that your tests show we finally have the > definitive fix for this Linux issue thanks to your original report of > the issue, your implementation of an initial solution, your > subsequent > test efforts on various Linux platforms, and your discussions of the > issue with Phil. And my thanks to Phil for ultimately finding the > definitive fix. That was good collaborative development work on an > open source project you can both be proud of. > > 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 > __________________________ -- Pedro Vicente ped...@sp... http://www.space-research.org/ ------------------------------------------------------------------------------ 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 |