[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