On 18/10/2016 6:16 p.m., Alex Rousskov wrote: > On 10/17/2016 10:37 PM, Deniz Eren wrote: >> On Mon, Oct 17, 2016 at 7:43 PM, Alex Rousskov wrote: >>> On 10/17/2016 02:38 AM, Deniz Eren wrote: >>>> 2016/10/17 11:22:37 kid1| assertion failed: >>>> ../../src/ipc/AtomicWord.h:71: "Enabled()" >>> >>> Either your Squid does not support SMP (a build environment problem) or >>> Squid is trying to use SMP features when SMP is not enabled (a Squid bug). >>> >>> What does the following command show? >>> >>> fgrep -RI HAVE_ATOMIC_OPS config.status include/autoconf.h >> fgrep -RI HAVE_ATOMIC_OPS config.status include/autoconf.h >> config.status:D["HAVE_ATOMIC_OPS"]=" 0" >> include/autoconf.h:#define HAVE_ATOMIC_OPS 0 > > Your Squid does not support SMP. The ./configure script failed to find > the necessary APIs for SMP support. I wish Squid would tell you that in > a less obscure way than an Enabled() assertion; feel free to file a bug > report about that, but that is a reporting/UI problem; the assertion > itself is correct. > > I do not know why your build environment lacks atomics support (or why > Squid cannot detect that support), but I hope that others on the mailing > list would be able to help you with that investigation. It is based on Linux 2.6.18, which has some big multi-processor support issues. What M-P support existed was largely still based on the "Big-Lock" design which made it horribly slow and inefficient. > > Finally, in the interest of full disclosure, I have to note that, IIRC, > atomics are not actually required for some of the primitive SMP > features, but Squid attempts to create a few shared memory tables even > when those tables are not needed, and those tables do require atomics > (and will hit the Enabled() assertion you have reported). > > There have been improvements in this area; eventually no unnecessary > shared memory tables will be created, but it is probably easier for you > to get a build with working atomics (usually does not require any > development) than to get rid of those tables (which probably require > more development). > It may be as simple as the compiler version - CentOS 5 came with GCC 3. Squid-3 requires GCC 4. Either way the config.log produced during build will be needed to figure out the reasons. Amos _______________________________________________ squid-users mailing list squid-users@xxxxxxxxxxxxxxxxxxxxx http://lists.squid-cache.org/listinfo/squid-users