You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by GitBox <gi...@apache.org> on 2022/03/17 10:40:34 UTC
[GitHub] [guacamole-server] samiponkanen opened a new pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
samiponkanen opened a new pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377
… This fixes segfaults from guacd_log() in cases where the client plugin has called openlog() with a non-NULL ident string.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] samiponkanen commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
samiponkanen commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1071231622
> In what case does a plugin call `openlog()`? Why does a segfault occur if guacd does not re-call `openlog()`?
Hi Mike,
Vanilla guacamole-server does not call openlog() from plugin code.
In my use case I have integrated external code to protocols/rdp/channels/rdpdr/, and it is this external code that calls openlog(). This causes guacd to segfault everytime guacd_log() is called after the client plugin has been unloaded via dlclose() in libguac/client.c.
While debugging this issue I happened to find this:
https://bugs.freedesktop.org/attachment.cgi?bugid=24589&action=viewall
It is in no way related to guacamole-server, but it helped me to understand the problem and to verify the same pattern was the root cause for the guacd_log() segfault I was debugging.
Br,
Sami
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] samiponkanen commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
samiponkanen commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1072198424
I fully understand your concerns.
Another way to look at it: if a plugin does call openlog() and you start seeing seemingly unrelated segfaults in guacd_log(), then it really is not easy to figure out that the root cause is in the plugin code. The fix in this PR will remove the risk of getting those segfaults, even if the plugin code is not written like it should be.
But it's your call.
Br,
Sami
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] mike-jumper commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
mike-jumper commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1071307247
I'm really on the fence regarding whether this is something that belongs in guacd. If third-party code invokes `openlog()` in such a way that it stomps on guacd's logging, I'd think that:
* If possible, it shouldn't.
* It would break guacd's logging while things are running, prior to the segfault in question.
Can you clarify what external code specifically needs to invoke `openlog()`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] mike-jumper commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
mike-jumper commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1071008743
In what case does a plugin call `openlog()`? Why does a segfault occur if guacd does not re-call `openlog()`?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] mike-jumper commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
mike-jumper commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1071008743
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [guacamole-server] samiponkanen commented on pull request #377: GUACAMOLE-1555: Call openlog() after client plugin unload
Posted by GitBox <gi...@apache.org>.
samiponkanen commented on pull request #377:
URL: https://github.com/apache/guacamole-server/pull/377#issuecomment-1071231622
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org