Using Wt 3.1.10, in WAxis::computeRange() 

The
assert(segment.renderMinimum < segment.renderMaximum)
fails when plotting a YAxis with a log scale, if the input data is two values 
of ".0001"

The values of segment when the assertion fails are:
print segment
$15 = (const Wt::Chart::WAxis::Segment &) @0x10480b430: {
  minimum = -1.7976931348623157e+308, 
  maximum = 1.7976931348623157e+308, 
  renderMinimum = -nan(0x8000000000000), 
  renderMaximum = 1, 
  renderLength = 310, 
  renderStart = 355

Tracing through the method, at WAxis.C:511: 

segment.renderMinimum = -0.099900000000000003, 
double minLog10 = std::floor(std::log10(segment.renderMinimum));
 print minLog10
$13 = -nan(0x8000000000000)

segment.renderMinimum = std::pow(10, (minLog10));  // computing with a Nan 
yields a Nan.


I've attached the source code for the program that reveals this bug.  

Make a symbolic link to the resources directory, 
Run the program, ../../build/examples/charts.stress/*.wt --docroot . 
--http-address 0.0.0.0 --http-port 8080

To trigger the bug: deselect the two graphs on top, select 'SPCOMP', and the 
application crashes with 

assert(segment.renderMinimum < segment.renderMaximum), WAxis.C:548

Attachment: charts.stress.tgz
Description: Binary data




------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to