Notify: wait in progress (Error 4353)

I’ve got a machine that when I try to MotionController::Delete() (in my C++ application), it throws an exception:

Notify: wait in progress (Error 4353) (RSI::RapidCode::Impl::MotionController::~MotionController) (Object 0) (File …..\source\motioncontroller.cpp) (Line 228) (Version 8.3.1 for 04.04.02.RMP)

What does this mean?

  • The EtherCAT network is operational.
  • RapidSetup does not show anything unusual.
  • No axes are enabled.
  • There are two 3-axis drives installed, and the second one only has one motor connected.
    • Encoder feedback is disabled for the other two motors, and we don’t try to use them (AFAIK).
    • This doesn’t/shouldn’t cause it to fault.

@todd_mm

Do you have any threads which are waiting for interrupts? You can use the InterruptWake() functions to help prep for the Delete() section of the code. I’d also shutdown the network first.

1 Like

We spawn one thread per axis, and my app doesn’t (currently) have any notion of a defunct axis, so it does it for the two “non-axes” of the second multi-axis drive. The interrupt threads loop, waiting with timeout values, and they check for an “abort” signal before waiting again. Each axis wrapper is supposed to stop its threads in its destructor, some time before the MotionController object gets ::Destroy()ed, but this is running on a customer machine where I cannot easily attach with a debugger to investigate.

Thanks for the symptom explanation.