[squid-users] assertion failed: Queue.cc:388: "EX"
Andrey K
ankor2023 at gmail.com
Sat Mar 8 05:14:26 UTC 2025
Hello Alex,
Thanks for the analysis.
Squid only allows alphanumeric characters in the service name, so it refuses
to use the original service name in the -n option (-n squid.user.service).
I added -n squiduser option to the ExecStart string of the second instance.
Now it looks good:
# the first instance
lsof -p 3746105 | grep shm
squid 3746105 root mem REG 0,23 525572 1213614834
/dev/shm/squid-cf__queues.shm
squid 3746105 root mem REG 0,23 136 1213614835
/dev/shm/squid-cf__readers.shm
squid 3746105 root mem REG 0,23 8 1213614833
/dev/shm/squid-cf__metadata.shm
squid 3746105 root 7u REG 0,23 8 1213614833
/dev/shm/squid-cf__metadata.shm
squid 3746105 root 8u REG 0,23 525572 1213614834
/dev/shm/squid-cf__queues.shm
squid 3746105 root 9u REG 0,23 136 1213614835
/dev/shm/squid-cf__readers.shm
# the second instance
lsof -p 3685356 | grep shm
squid.use 3685356 root mem REG 0,23 2093368 1212704041
/dev/shm/squiduser-tls_session_cache.shm
squid.use 3685356 root mem REG 0,23 525572 1212704039
/dev/shm/squiduser-cf__queues.shm
squid.use 3685356 root mem REG 0,23 136 1212704040
/dev/shm/squiduser-cf__readers.shm
squid.use 3685356 root mem REG 0,23 8 1212704038
/dev/shm/squiduser-cf__metadata.shm
squid.use 3685356 root 6u REG 0,23 8 1212704038
/dev/shm/squiduser-cf__metadata.shm
squid.use 3685356 root 7u REG 0,23 525572 1212704039
/dev/shm/squiduser-cf__queues.shm
squid.use 3685356 root 8u REG 0,23 136 1212704040
/dev/shm/squiduser-cf__readers.shm
squid.use 3685356 root 9u REG 0,23 2093368 1212704041
/dev/shm/squiduser-tls_session_cache.shm
Kind regards,
Ankor.
пт, 7 мар. 2025 г. в 17:48, Alex Rousskov <rousskov at measurement-factory.com
>:
> On 2025-03-07 06:50, Andrey K wrote:
>
> > Squid Cache: Version 6.13
> > Service Name: squid
>
> > Squid Cache: Version 6.10
> > Service Name: squid
>
> > # the first instance
> > 1318 DEL ... 30205 /dev/shm/squid-cf__queues.shm
> > 1318 DEL ... 30206 /dev/shm/squid-cf__readers.shm
> > 1318 DEL ... 30204 /dev/shm/squid-cf__metadata.shm
> > 1318 8u ... 8 30204 /dev/shm/squid-cf__metadata.shm (deleted)
> > 1318 9u ... 525572 30205 /dev/shm/squid-cf__queues.shm (deleted)
> > 1318 10u ... 136 30206 /dev/shm/squid-cf__readers.shm (deleted)
> >
> > # the second instance
> > 1514 mem ... 2093368 31497 /dev/shm/squid-tls_session_cache.shm
> > 1514 mem ... 525572 31495 /dev/shm/squid-cf__queues.shm
> > 1514 mem ... 136 31496 /dev/shm/squid-cf__readers.shm
> > 1514 mem ... 8 31494 /dev/shm/squid-cf__metadata.shm
> > 1514 6u ... 8 31494 /dev/shm/squid-cf__metadata.shm
> > 1514 7u ... 525572 31495 /dev/shm/squid-cf__queues.shm
> > 1514 8u ... 136 31496 /dev/shm/squid-cf__readers.shm
> > 1514 9u ... 2093368 31497 /dev/shm/squid-tls_session_cache.shm
>
> As suspected, these two Squid instances use the same shared memory
> segments (e.g., /dev/shm/squid-cf*). Such shared use violates critical
> code assumptions and results in undefined behavior.
>
>
> > Maybe I'm not experiencing any difficulties because I have caching
> turned off on
> > both instances?
>
> Well, you _are_ experiencing at least one difficulty -- the assertion
> that started this email thread. If you have fully disabled caching, the
> difficulties you experience should not include cache corruption.
> However, it looks like at least one of the two instances does cache TLS
> sessions (in /dev/shm/squid-tls_session_cache.shm). If both instances do
> that, then all bets are off!
>
>
> FWIW, related future Squid improvements may include:
>
> * Detecting such shared memory segments clashes; refusing to start.
> * Disabling shared memory use when caching is completely disabled.
>
> Quality pull requests welcome.
>
>
> Cheers,
>
> Alex.
>
>
> > чт, 6 мар. 2025 г. в 17:11, Alex Rousskov:
> >
> > On 2025-03-06 08:59, Amos Jeffries wrote:
> > > On 6/03/25 19:17, Andrey K wrote:
> > >> Hello,
> > >>
> > >> I have a similar configuration: two SMP squids running on the
> > same OEL
> > >> host.
> > >>
> > >> They were built with different configurations: with different
> > >> installation path prefixes and different names of binary files:
> > squid
> > >> and squid.user and they listen to different ports.
> > >> They are launched from two different services:squid.service and
> > >> squid.user.service with the service Type=forking:
> > >>
> > >> ExecStart=/usr/sbin/squid -sYC
> > >> ExecStart=/sbin/squid.user -f /etc/squid.user/squid.conf
> > >>
> > >> I have not experienced any troubles with this configuration yet.
> > >>
> > >> /> Please be aware that "squid -n ..." is a REQUIREMENT for
> running/
> > >> /multiple Squid instances on the same machine regardless of what
> > features
> > >> are used./
> > >>
> > >> Could you please tell me if I should use the -n option in the
> > >> ExecStart strings?
> > >> The arguments of the options should be the service names?
> > >>
> > >> ExecStart=/usr/sbin/squid -sYC -n squid.service
> > >> ExecStart=/sbin/squid.user -f /etc/squid.user/squid.conf -n
> > >> squid.user.service
> > >>
> > > Yes you should. The different ./configure options has helped you
> > avoid
> > > major issues, but some may still appear.
> >
> > I agree. Moreover, I do not understand how your two SMP Squids could
> > work correctly without distinct service names because (on OEL) I
> would
> > expect them to share the same shared memory segments (which they must
> > not do to remain distinct instances).
> >
> > What is your Squid version? Can you tell how your Squids name their
> > shared memory segment "files"? For example, on some Linux OSes, those
> > segments could be in /var/run/shm/ with names like
> > squid-tr_map_anchors.shm and squid-tr_spaces.shm.
> >
> >
> > Thank you,
> >
> > Alex.
> >
> > _______________________________________________
> > squid-users mailing list
> > squid-users at lists.squid-cache.org
> > <mailto:squid-users at lists.squid-cache.org>
> > https://lists.squid-cache.org/listinfo/squid-users
> > <https://lists.squid-cache.org/listinfo/squid-users>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20250308/94f6d5ab/attachment-0001.htm>
More information about the squid-users
mailing list