From: Arjen M. <Arj...@de...> - 2016-03-15 07:52:33
|
Hi Alan, > -----Original Message----- > From: Alan W. Irwin [mailto:ir...@be...] > > And after a lot of complaints about shapelib being missing I ran into the following > peculiar matrix operator message: > > [...] > *** PLPLOT WARNING *** > plmaptex is a no-op because shapelib is not available. > No matrix operator named "62" > > So from that last line I am pretty sure that the "62" in > > $w cmd plmaptex {} "ss/ss64ne_General_Text" 1.0 0.0 0.5 > "Caffyns\nHeanton\nDown" $minx $maxx $miny $maxy 62 > > in examples/tcl/x19.tcl is the cause of the above matrix operator warning on Linux. > > That warning message comes from line 382 of bindings/tcl/tclMatrix.c. > I notice that for all other error conditions that are handled with Tcl_AppendResult, > the returned value is TCL_ERROR, but in this particular case the returned value is > NULL. Is that difference in pattern significant? In other words, if you changed that > NULL to TCL_ERROR would that solve the segfault on Cygwin? > > In other words do we have two bugs here; one where some misuse of matrix is > causing the > > No matrix operator named "62" > > warning message, and then a second bug in the way that issue is handled? > > Anyhow, I hope these speculations lead you to a definitive fix for both bugs if it > turns out you agree with me that there are actually two bugs to deal with here, the > NULL return value that likely should be changed to TCL_ERROR to get rid of the > segfault on Cygwin, and also the actual condition that causes the above matrix > operator message to be emitted. > Well, I did notice that a lot of PostScript files were created for the Tcl target - glad you found the real culprit example. Tcl will complain and produce a runtime error when something is not right - in this case a non-existent matrix will cause it to abort immediately with a useful error message. A segfault is not part of the usual termination procedure so something below the level of the script may be wrong too. I will have a closer look at example x19 and the underlying API. 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. |