Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Orekit Orekit
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 67
    • Issues 67
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Orekit
  • OrekitOrekit
  • Merge requests
  • !70

Resolve "Infinite loop during event handling"

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Evan Ward requested to merge 684-infinit-loop into develop May 27, 2020
  • Overview 2
  • Commits 2
  • Pipelines 1
  • Changes 8

Fix infinite loop in event detection

Previously, when a RESET_* event caused two other event detectors to trigger simultaneously and discontinuously at the same time then an infinite loop would occur in acceptStep as it tries to backup up and process the one event before the other, but the even time remains the same. This affects all propagators.

Now tryAdvance allows the other event to occur first if the events are simultaneous.

Also fixes some cases where tryAdvance returns false (indicating the other event should occur) but does not update t0. This erroneously searched for events before the first occuring event if it was as RESET_*. I.e. events could have occured out of chronological order.

Also fixed a bug in CloseEventsTest that caused two events to be simultaneous when they should have been different by 1 ulp.

Also add FieldFunctionalDetector

This needs Hipparchus 1.7-SNAPSHOT to fix the bug.

Closes #684 (closed)

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: 684-infinit-loop