guanyingcao / achartengine

Automatically exported from code.google.com/p/achartengine
0 stars 0 forks source link

ANR when calling XYSeries.add(double, double) #382

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
XYSeries series = new XYSeries("test");
series.add(2814214d, 230d);
series.add(2814214d, 230d);

What is the expected output? What do you see instead?
Expected quick response and both points added to series.
Instead an infinite (at least until ANR problem occurs) call.

Please provide a source code snippet that we can use to replicate the
issue.
See above.

What version of the product binary library are you using?
1.1.0

Please provide any additional information below.
The problem is caused by version 1.1.0 using Math.ulp(x) instead of previously 
using PADDING = 0.000000000001.

See XYSeries.java where this:

private static final double PADDING = 0.000000000001;

  public synchronized void add(double x, double y) {
    while (mXY.get(x) != null) {
      // add a very small value to x such as data points sharing the same x will
      // still be added
      x += PADDING;
    }
...

has been changed to this:

  public synchronized void add(double x, double y) {
    while (mXY.get(x) != null) {
      // add a very small value to x such as data points sharing the same x will
      // still be added
      x += getPadding(x);
    }
...

  protected double getPadding(double x) {
    return Math.ulp(x);
  }

Original issue reported on code.google.com by gos...@gmail.com on 1 Jan 2014 at 1:43

GoogleCodeExporter commented 9 years ago
It works fine for me.

Original comment by 4viewsoft@gmail.com on 7 Jan 2014 at 10:20

GoogleCodeExporter commented 9 years ago
Have you tried this on Android 4.x?
Using Android target version 19 and minimum version 7?

I'm not making this issue up, I got about 20 crashes through the Play store for 
various Android 4 devices and I could easily reproduce it.

Please investigate further. Thanks!

Original comment by gos...@gmail.com on 7 Jan 2014 at 10:41

GoogleCodeExporter commented 9 years ago
PLZ fix this bug. Wasted like a day figuring out what was going wrong.

Original comment by karanvee...@sentieo.com on 27 Nov 2014 at 8:02