> On Jul 29, 2015, at 7:56 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote: > > Hi Jim: > > I have just discovered the regression mentioned by the subject line. > > My apologies for not spotting this issue earlier in the release cycle. > I guess I did all sorts of spot checking after your multiple keypress > changes to make sure the cairo device driver built and ran without > issues, but I did not test all cairo capabilities like a simple build > of the test_interactive target (which caught this problem now) would > have done at the time. >
The interesting thing is that at least one of the sources for the error message is in the plD_init_xcairo() function. The XInternAtom() call generates some of the messages. Furthermore, the XCloseDisplay() in plD_tidy_xcairo() generates the error message. I thought it might be due to a synchronization issue with the X server, so I put an XSync() call to make sure everything was processed in the event queue. Unfortunately, the error “migrated” to the XSync() call. I then enabled synchronization via XSynchronize() (the sledgehammer approach). That eliminated some of the runtime error messages. I think this bug is a latent problem that has not cropped up earlier. I am not quite sure of the root cause, but I don’t think 78344df is the cause, rather it exposed the problem. I am not familiar enough with the external drawable functionality and, unfortunately, I don’t have time to dig into right now. If you insert "XSynchronize( aStream->Display, TRUE );” some where after the XOpenDisplay() call, I think that will fix the bug for this release. I will revisit the issue after the weekend. > Here is a quick summary of the relevant range of commits that I > discovered via git bisect: > > software@raven> git log --oneline 78344dfc901e^^^^..78344dfc901e > 78344df Corrections to the cairo.c file to fix compilation error > 009fa6b Updated the wingcc driver to reflect the changes for the keypress bug > 5867959 Fix to the multiple keypress bug on page advance > 602bb49 Driver documentation: use correct names of files that need updating > for new device driver > > If I build the test_extXdrawable target for 602bb49, all is well. If > I try that for 5867959 or 009fa6b there are cairo build errors that > are fixed in 78344df. Building test_extXdrawable for > 78344df (or any later commit including master tip) gives the following > run-time error: > > [100%] Built target test_cairo_dyndriver > The program 'extXdrawable_demo' received an X Window System error. > This probably reflects a bug in the program. > The error was 'BadWindow (invalid Window parameter)'. > (Details: serial 178 error_code 3 request_code 2 minor_code 0) > (Note to programmers: normally, X errors are reported asynchronously; > that is, you will receive the error a while after causing it. > To debug your program, run it with the --sync command line > option to change this behavior. You can then get a meaningful > backtrace from your debugger if you break on the gdk_x_error() function.) > make[3]: *** [examples/CMakeFiles/test_extXdrawable] Error 1 > make[2]: *** [examples/CMakeFiles/test_extXdrawable.dir/all] Error 2 > make[1]: *** [examples/CMakeFiles/test_extXdrawable.dir/rule] Error 2 > make: *** [test_extXdrawable] Error 2 > > Note for this commit the test_extcairo target builds without issues > and the output examples/ext-cairo-test.ps from that example has the > expected plot box. > > Also > > make cairo > make x01c > examples/c/x01c -dev xcairo > > works without any run-time issues for this commit. > > So the conclusion is your change only introduced some issue for the > external X drawable cairo example examples/c/extXdrawable_demo.c and nothing > else. So I am hoping only a small change to that demo will fix the > issue rather than having to do some further core change to PLplot. > > I view this regression as release critical since I don't want to make > a release where the external X drawable capability of the cairo device > driver might be compromised. Therefore, I would appreciate your > solution for this issue as soon as possible, please, since the current > plan is to release on Saturday. > > If you are having trouble replicating this issue on your Mac OS X box, > let me know, and I would be happy to run any test on my Linux box that > might help you figure this out. > > 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 > __________________________ ------------------------------------------------------------------------------ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel