Skip to content

MINIFICPP-2766 Preventing C++ exceptions from unwinding the stack ove…#2154

Open
cccs-jsjm wants to merge 1 commit intoapache:mainfrom
cccs-jsjm:MINIFICPP-2766-python-exceptions
Open

MINIFICPP-2766 Preventing C++ exceptions from unwinding the stack ove…#2154
cccs-jsjm wants to merge 1 commit intoapache:mainfrom
cccs-jsjm:MINIFICPP-2766-python-exceptions

Conversation

@cccs-jsjm
Copy link
Copy Markdown

@cccs-jsjm cccs-jsjm commented Apr 2, 2026

…r the Python interpreter.

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced
    in the commit message?

  • Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • Has your PR been rebased against the latest commit within the target branch (typically main)?

  • Is your initial contribution a single, squashed commit?

For code changes:

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE file?
  • If applicable, have you updated the NOTICE file?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

@szaszm
Copy link
Copy Markdown
Member

szaszm commented Apr 2, 2026

Thank you for your contribution!

At first glance, your changes seem to do what they're supposed to: catch C++ exceptions, and translate them to Python exceptions. 👍

I'm not sure what happens if no Python stack frame catches the Python exceptions. In that case, letting the exception continue to unwind the C++ stack frames, and eventually rollback the flow file would probably be a better error handling, than letting it become an unhandled Python exception, whatever behavior that means. I didn't test this yet. We may need to change that later.

I'd also like to wait for the feedback of @lordgamez, since he has worked quite a bit on the python processor API, he has more insight into the gotchas with python bindings. I'm expecting him to be able to get to this sometime next week, after easter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants