Closed nathankidd closed 6 years ago
Blerg. OK, I'll look into it.
Should be fixed now. Test it and let me know.
@nathankidd Have you had a chance to test? I would like to spin a release with this fix.
Just got confirmation the fix worked. Thanks!
VirtualGL currently hooks
dlopen()
blindly, without reentrancy checks ("does my stack chain contain myself?"), and callsgetenv()
. The new Cadence Virtuoso IC618 hooksgetenv()
, also blindly, and callsdlopen()
from that hook. The result is a stack smash, starting off like below (excuse the poor OCR of a screenshot):(This from our custom build. I don't have ability to run HEAD VirtualGL in that environment, but I think the problem is understandable enough from a theoretical POV.)
XCB support had the same issue, resolved with TLS-based guards, IIRC. Seems we need the same kind of guard for dlopen()?