Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solver Core - Solver Crashes When Interrupting Solve with Escape key #186

Open
david-cattermole opened this issue Dec 19, 2020 · 0 comments
Assignees
Labels
bug core solver Related to the low-level solver functions.

Comments

@david-cattermole
Copy link
Owner

Problem

While a solver is running (with the mmSolver command) the user can press the Escape key to stop the solve.
Unfortunately, this often causes crashes, like the one on Linux below.

Expected behavior:
No crash should happen, instead the Solver should exit the current evaluation and return access of Maya to the user.

Actual behavior:
Sometimes/many times crashes happen, causing Maya to crash.

Steps to Reproduce

  1. Open Solver UI
  2. Set up basic solve.
  3. Press "Solve" button to begin solving.
  4. While solving, press the "Escape" keyboard key.
  5. At the next frame, the solve will stop.

Error:

Solving... frames: 38 
Iteration 0001 | Eval 0001WARNING: User wants to cancel the evaluation!
Stack trace:
  std::string::assign(std::string const&)
  solve_3d_cminpack_lmder(SolverOptions&, int, int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, SolverData&, SolverResult&)
  solve(SolverOptions&, std::vector<std::shared_ptr<Camera>, std::allocator<std::shared_ptr<Camera> > >&, std::vector<std::shared_ptr<Marker>, std::allocator<std::shared_ptr<Marker> > >&, std::vector<std::shared_ptr<Bundle>, std::allocator<std::shared_ptr<Bundle> > >&, std::vector<std::shared_ptr<Attr>, std::allocator<std::shared_ptr<Attr> > >&, Autodesk::Maya::OpenMaya20180000::MTimeArray&, std::vector<std::shared_ptr<StiffAttrs>, std::allocator<std::shared_ptr<StiffAttrs> > >&, std::vector<std::shared_ptr<SmoothAttrs>, std::allocator<std::shared_ptr<SmoothAttrs> > >&, Autodesk::Maya::OpenMaya20180000::MDGModifier&, Autodesk::Maya::OpenMaya20180000::MAnimCurveChange&, Autodesk::Maya::OpenMaya20180000::MComputation&, Autodesk::Maya::OpenMaya20180000::MString&, Autodesk::Maya::OpenMaya20180000::MStringArray&, bool, Autodesk::Maya::OpenMaya20180000::MStringArray&)
  MMSolverCmd::doIt(Autodesk::Maya::OpenMaya20180000::MArgList const&)
  THcommandObject::doIt(TargList&)
  TmetaCommand::doCommand(TargList&)
  TpythonInterpreter::dispatchMayaCommand(TmetaCommand&, _object*, _object*)
  TpythonInterpreter::genericDispatchFunction(_object*, _object*, _object*)
  PyObject_Call
  PyEval_CallObjectWithKeywords
  /usr/autodesk/maya2018/lib/libpython2.7.so.1.0(+0xf2f41) [0x7f83ec978f41]
  PyEval_EvalFrameEx
  PyEval_EvalCodeEx
  /usr/autodesk/maya2018/lib/libpython2.7.so.1.0(+0x793f8) [0x7f83ec8ff3f8]
  PyObject_Call
  PyEval_EvalFrameEx
  PyEval_EvalCodeEx
  PyEval_EvalFrameEx
  PyEval_EvalCodeEx
  PyEval_EvalFrameEx
  PyEval_EvalFrameEx
  PyEval_EvalCodeEx
  /usr/autodesk/maya2018/lib/libpython2.7.so.1.0(+0x792f1) [0x7f83ec8ff2f1]
  PyObject_Call
  /usr/autodesk/maya2018/lib/libpython2.7.so.1.0(+0x5c40f) [0x7f83ec8e240f]
  PyObject_Call
  PyEval_CallObjectWithKeywords
  PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool)
  PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**)
  QMetaObject::activate(QObject*, int, int, void**)
  QAbstractButton::clicked(bool)
  /usr/autodesk/maya2018/lib/libQt5Widgets.so.5(+0x25948a) [0x7f83f61e148a]
  /usr/autodesk/maya2018/lib/libQt5Widgets.so.5(+0x25a4fc) [0x7f83f61e24fc]
  QAbstractButton::mouseReleaseEvent(QMouseEvent*)
  /usr/autodesk/maya2018/lib/python2.7/site-packages/PySide2/QtWidgets.so(+0x41e403) [0x7f82d2076403]
  QWidget::event(QEvent*)
  /usr/autodesk/maya2018/lib/python2.7/site-packages/PySide2/QtWidgets.so(+0x41b6fb) [0x7f82d20736fb]
  QApplicationPrivate::notify_helper(QObject*, QEvent*)
  QApplication::notify(QObject*, QEvent*)
  /usr/autodesk/maya2018/lib/libExtensionLayer.so(+0x1edc8c) [0x7f84014eac8c]

Software Versions

This problem was reported on the below system, but the problem may affect other systems.

  • mmSolver version: v0.3.11
  • Maya version: 2018
  • Operating System (OS): Linux
@david-cattermole david-cattermole added bug core solver Related to the low-level solver functions. labels Dec 19, 2020
@david-cattermole david-cattermole self-assigned this Dec 19, 2020
@david-cattermole david-cattermole changed the title Solver Core - Solver Crashes When Interupting Solve with Escape key Solver Core - Solver Crashes When Interrupting Solve with Escape key Dec 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug core solver Related to the low-level solver functions.
Projects
None yet
Development

No branches or pull requests

1 participant