Epsilon: [Poincar茅] With symbolic calculation enabled, some additions crashes the calculation app.

Created on 5 Nov 2019  路  3Comments  路  Source: numworks/epsilon

Describe the bug

With symbolic computation enable, inputting something like (1)/(x^n) + m (n as real, m as any other expression), calculation app crashes.

Screenshots

https://pastebin.com/24ngVqes

To Reproduce

  1. Apply https://github.com/Omega-Numworks/Omega/commit/a196113cb0a97bff93d22d1f548d1600e475468d to get back symbolic computation
  2. Go in the calculation app, with complex numbers disabled.
  3. Type (1)/(x^2) + 3
  4. Observe.

Expected behavior

It should just work as with complex numbers enabled.

Environment

  • Epsilon version: Latest master as time of writing (0736a3f), with symbolic computation enabled
  • The platform(s) on which the problem happens: Actual device (tested on n0110 and n0100), software simulator.

Most helpful comment

Jokes aside, here's what happens:

  1. It's actually not a crash. Poincare seems resilient enough to handle its own errors gracefully enough. If you wait long enough, you'll have a memory exhaustion popup.
  2. For some reason we get stuck in a loop of
Poincare::Addition::factorizeOnCommonDenominator(Poincare::ExpressionNode::ReductionContext)
Poincare::Addition::shallowReduce(Poincare::ExpressionNode::ReductionContext)

Thanks for the bug report @M4xi1m3

All 3 comments

Then just don't apply this patch? 馃槃

Jokes aside, here's what happens:

  1. It's actually not a crash. Poincare seems resilient enough to handle its own errors gracefully enough. If you wait long enough, you'll have a memory exhaustion popup.
  2. For some reason we get stuck in a loop of
Poincare::Addition::factorizeOnCommonDenominator(Poincare::ExpressionNode::ReductionContext)
Poincare::Addition::shallowReduce(Poincare::ExpressionNode::ReductionContext)

Thanks for the bug report @M4xi1m3

This is fixed by #1194. Thanks @M4xi1m3 !

Was this page helpful?
0 / 5 - 0 ratings