PS:

this is the ouput of the example


pvn@server:~/plplot-plplot/build$ examples/c/x01c -dev wxwidgets
PLplot library version: 5.11.1
00:36:21: Debug: plD_init_wxwidgets(): enter
00:36:21: Debug: wxPLDevice(): enter
00:36:21: Debug: wxPLDevice(): gc done
00:36:21: Debug: wxPLDevice(): m_interactiveTextGcdc done
00:36:21: Debug: SetupMemoryMap(): enter
00:36:21: Debug: SetupMemoryMap(): mapName start
00:36:21: Debug: SetupMemoryMap(): mapName done
00:36:21: Debug: SetupMemoryMap(): m_outputMemoryMap.create call
00:36:21: Debug: SetupMemoryMap(): m_outputMemoryMap.create done
00:36:21: Debug: wxPLplotwindow::wxPLplotwindow
00:36:21: Debug: SetupMemoryMap(): leave
00:36:21: Debug: wxPLDevice(): leave
00:36:21: Debug: plD_init_wxwidgets(): leave
00:36:21: Debug: wxPLplotwindow::OnCreate
00:36:21: Debug: plD_init_wxwidgets(): enter
00:36:21: Debug: wxPLDevice(): enter
00:36:21: Debug: wxPLDevice(): gc done
00:36:21: Debug: wxPLDevice(): m_interactiveTextGcdc done
00:36:21: Debug: wxPLDevice(): SetDC done
00:36:21: Debug: wxPLDevice(): leave
00:36:21: Debug: plD_init_wxwidgets(): leave
00:36:21: Debug: wxPLplotwindow::OnCreate

----- Original Message ----- 
From: "Pedro Vicente" <pedro.vice...@space-research.org>
To: "Alan W. Irwin" <ir...@beluga.phys.uvic.ca>
Cc: "PLplot development list" <Plplot-devel@lists.sourceforge.net>
Sent: Saturday, December 24, 2016 1:13 AM
Subject: Re: [Plplot-devel] Infinite Yielding issue


> Hi Alan
>
> some more upbeat news about the example error , it's gone :-)
>
> It's the first time I do this commit patch procedure , so I just did
>
> git format-patch -1
>
> with my new changes (after doing a new branch, from the master, then
> patching your changes, wrote my changes,
> commited, merged into master, did a new patch, phew :-) )
>
> I did not wrote much in the patch , but here it is, basically I 
> reintroduced
> the wxPLplotwindow::OnCreate() event (keeping the wxPLplotwindow::Create()
> also)
>
> I think what was happening is that the PLViewer needs the
> wxPLplotwindow::OnCreate()  to create the stream , since
> wxPLplotwindow::Create() is not called for PLViewer.
>
>
> I also removed this "PLDLLIMPEXP_WX"
>
> class PLDLLIMPEXP_WX wxPLplotwindow : public wxFrame
>
> I searched  in all the source code and could not find this symbol ?
>
>
>> 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.
>
> It builds on Windows.
> also, I think
>
> class "something" wxPLplotwindow : public wxFrame
>
> I believe is not a valid C++ construct
>
> let me know if something on my patch is not clear
>
>
> -Pedro
>
>
> ----- Original Message ----- 
> From: "Alan W. Irwin" <ir...@beluga.phys.uvic.ca>
> To: "Pedro Vicente" <pedro.vice...@space-research.org>
> Cc: "Phil Rosenberg" <p.d.rosenb...@gmail.com>; "PLplot development list"
> <Plplot-devel@lists.sourceforge.net>
> Sent: Friday, December 23, 2016 2:50 PM
> Subject: Re: [Plplot-devel] Infinite Yielding issue
>
>
>> 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
>> __________________________
>


--------------------------------------------------------------------------------


> ------------------------------------------------------------------------------
> 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
> Plplot-devel@lists.sourceforge.net
> 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
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to