Opened 2 weeks ago

Last modified 2 weeks ago

#71129 assigned defect

legacy-support is removing atexit-related code for undocumented reason

Reported by: fhgwright (Fred Wright) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.10.2
Keywords: Cc: mascguy (Christopher Nielsen)
Port: legacy-support

Description

The legacy-support Portfile contains the following hack (since commit de0004544):

    # until upstream can be fixed, do not include atexit symbols
    # under certain circumstances, infinite recursive loops can form
    delete ${worksrcpath}/src/macports_legacy_atexit.c

Presumably, "upstream" means the legacy-support project, but it's unknown whether it's been "fixed", and "certain circumstances" is undocumented.

Marcus - I'm assigning this ticket to you for documentation purposes, since that was your change. Feel free to reassign it to me to fix it once it's adequately documented.

Change History (1)

comment:1 Changed 2 weeks ago by fhgwright (Fred Wright)

I should have looked at the code before filing this. :-)

I see a couple of uses of RTLD_DEFAULT, one of which I could see leading to recursion. And, according to the documentation, RTLD_DEFAULT is almost never the right thing to use anyway.

This suggests a fix, though having a known failure case would be useful. Otherwise, I'll have to try to concoct a test.

Note: See TracTickets for help on using tickets.