Skip to content

Conversation

@rousskov
Copy link
Contributor

@rousskov rousskov commented Dec 21, 2025

with stub time| FATAL: Ipc::Mem::Segment::create failed to
shm_open(squid-0-tr_rebuild_stats.shm): (22) Invalid argument

Instance::NamePrefix() stub implementation ignored head and tail
arguments, resulting in malformed shared memory segment names on
Solaris. Other tested OSes tolerate the lack of a leading "/" character.
Linux shm_open(3) recommends "/somename" format "for portable use".

Simply adding head and tail to NamePrefix() result fixes tests on
Solaris but breaks tests on MacOS. We shortened the result (by removing
pid_filename hash component mimicking) to avoid that breakage and
detailed the problem in a C++ comment. More work is needed to replace
human-friendly name components with shorter hashes [on MacOS].

    with stub time| FATAL: Ipc::Mem::Segment::create failed to
    shm_open(squid-0-tr_rebuild_stats.shm): (22) Invalid argument

Instance::NamePrefix() stub implementation ignored `head` and `tail`
arguments, resulting in malformed shared memory segment names on
Solaris. Other tested OSes tolerate the lack of a leading "/" character.
Linux shm_open(3) recommends "/somename" format "for portable use".

Simply adding `head` and `tail` to `NamePrefix()` result fixes tests on
Solaris but breaks tests on MacOS. We shortened the result (by removing
pid_filename hash component mimicking) to avoid that breakage and
detailed the problem in a C++ comment. More work is needed to replace
human-friendly name components with hashes [on MacOS].
@rousskov
Copy link
Contributor Author

I asked the bug reporter to test this change on Solaris.

squid-anubis pushed a commit that referenced this pull request Dec 22, 2025
    with stub time| FATAL: Ipc::Mem::Segment::create failed to
    shm_open(squid-0-tr_rebuild_stats.shm): (22) Invalid argument

Instance::NamePrefix() stub implementation ignored `head` and `tail`
arguments, resulting in malformed shared memory segment names on
Solaris. Other tested OSes tolerate the lack of a leading "/" character.
Linux shm_open(3) recommends "/somename" format "for portable use".

Simply adding `head` and `tail` to `NamePrefix()` result fixes tests on
Solaris but breaks tests on MacOS. We shortened the result (by removing
pid_filename hash component mimicking) to avoid that breakage and
detailed the problem in a C++ comment. More work is needed to replace
human-friendly name components with shorter hashes [on MacOS].
@squid-anubis squid-anubis added M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-passed-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-abandoned-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels and removed M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-passed-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels labels Dec 22, 2025
@kinkie kinkie added M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels and removed M-abandoned-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels labels Dec 23, 2025
@kinkie
Copy link
Contributor

kinkie commented Dec 23, 2025

@rousskov how about shipping it anyway? It should not cause regressions anyway

@rousskov
Copy link
Contributor Author

@rousskov how about shipping it anyway? It should not cause regressions anyway

Your call. I am not violently against merging this without giving the bug reporter more time to test whether this (seemingly safe) fix works on Solaris. Just re-add the M-cleared-for-merge label if you want this to go in sooner.

squid-anubis pushed a commit that referenced this pull request Dec 23, 2025
    with stub time| FATAL: Ipc::Mem::Segment::create failed to
    shm_open(squid-0-tr_rebuild_stats.shm): (22) Invalid argument

Instance::NamePrefix() stub implementation ignored `head` and `tail`
arguments, resulting in malformed shared memory segment names on
Solaris. Other tested OSes tolerate the lack of a leading "/" character.
Linux shm_open(3) recommends "/somename" format "for portable use".

Simply adding `head` and `tail` to `NamePrefix()` result fixes tests on
Solaris but breaks tests on MacOS. We shortened the result (by removing
pid_filename hash component mimicking) to avoid that breakage and
detailed the problem in a C++ comment. More work is needed to replace
human-friendly name components with shorter hashes [on MacOS].
@squid-anubis squid-anubis added M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-abandoned-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels and removed M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels labels Dec 23, 2025
@kinkie kinkie added the M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels label Dec 25, 2025
@kinkie
Copy link
Contributor

kinkie commented Dec 25, 2025

@rousskov how about shipping it anyway? It should not cause regressions anyway

Your call. I am not violently against merging this without giving the bug reporter more time to test whether this (seemingly safe) fix works on Solaris. Just re-add the M-cleared-for-merge label if you want this to go in sooner.

Let's ship it. We can always come back to it if the reporter feeds back it's not working

squid-anubis pushed a commit that referenced this pull request Dec 25, 2025
    with stub time| FATAL: Ipc::Mem::Segment::create failed to
    shm_open(squid-0-tr_rebuild_stats.shm): (22) Invalid argument

Instance::NamePrefix() stub implementation ignored `head` and `tail`
arguments, resulting in malformed shared memory segment names on
Solaris. Other tested OSes tolerate the lack of a leading "/" character.
Linux shm_open(3) recommends "/somename" format "for portable use".

Simply adding `head` and `tail` to `NamePrefix()` result fixes tests on
Solaris but breaks tests on MacOS. We shortened the result (by removing
pid_filename hash component mimicking) to avoid that breakage and
detailed the problem in a C++ comment. More work is needed to replace
human-friendly name components with shorter hashes [on MacOS].
@squid-anubis squid-anubis added M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels and removed M-abandoned-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels labels Dec 25, 2025
@squid-anubis squid-anubis added M-merged https://github.com/measurement-factory/anubis#pull-request-labels and removed M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels labels Dec 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

M-merged https://github.com/measurement-factory/anubis#pull-request-labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants