-
Notifications
You must be signed in to change notification settings - Fork 47
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
Fix: dispatching any action causes actmon/actlog to crash with SIGSEGV #2835
base: alpha
Are you sure you want to change the base?
Conversation
* Rename Svr -> Srv * Always use 2 arguments for callback_done signature
I think we need to add a test maybe using actlog (terminal version of actmon). |
If the ACTION_MONITOR server becomes unreachabel/offline The CheckIN will eventually call MessageAst with a NULL for message. This will cause if (!parseMsg(reply, event)) to skip and call CheckIN recursively until the program stack overflows. We need to be able to detect this from the callback msg somehow, possibly by returning a special message instead. alternatively the CheckIN must be called from a async outside of MessageAst with some wait time to prevent a runaway process at 100% as well as the stack overflow due to recursion. |
OK. I removed the recursive calls to I also put some stubs for tests of |
a5094e2
to
20eb8cb
Compare
20eb8cb
to
6eb01b9
Compare
6eb01b9
to
64a75bf
Compare
retest this please |
By changing the definition of the
And here is the error from the Jenkins build:
If you include a fix for that, we will rerun the Jenkins build. Otherwise, we will look into this when we have time. Thank you for investigating this so thoroughly, we greatly appreciate your help :) |
A possible fix for #2829 basically setting all the
job_done
,action_done
callbacks to have a signaturevoid (*ast)(void *astprm, char *msg)
and settingmsg
toNULL
when applicable. Using this fix with the case described in #2829 leads to no error.