Re: [squid-users] COSS doesn't crash :)

From: Adrian Chadd <adrian@dont-contact.us>
Date: Thu, 14 Dec 2006 03:43:06 +0800

On Wed, Dec 13, 2006, Wojciech Puchar wrote:
> results after doing what You said:
>
> 2006/12/13 19:56:50| squidaio_queue_request: WARNING - Queue congestion
>
> when starting and rebuilding storages.

Thats normal during startup/rebuilding.

> 2006/12/13 20:01:39| COSS: /dev/ad6d: Rebuilding (94 % completed -
> 9273/9765 stripes)
> 2006/12/13 20:01:49| COSS: /dev/ad6d: Rebuilding (99 % completed -
> 9761/9765 stripes)
> 2006/12/13 20:01:49| Finished rebuilding storage from disk.
> 2006/12/13 20:01:49| 72287 Entries scanned
> 2006/12/13 20:01:49| 0 Invalid entries.
> 2006/12/13 20:01:49| 0 With invalid flags.
> 2006/12/13 20:01:49| 71760 Objects loaded.
> 2006/12/13 20:01:49| 0 Objects expired.
> 2006/12/13 20:01:49| 0 Objects cancelled.
> 2006/12/13 20:01:49| 561 Duplicate URLs purged.
> 2006/12/13 20:01:49| 0 Swapfile clashes avoided.
> 2006/12/13 20:01:49| Took 574.8 seconds ( 124.8 objects/sec).
> 2006/12/13 20:01:49| Beginning Validation Procedure
> 2006/12/13 20:01:49| COSS: /dev/ad6d: Rebuild Completed
> 2006/12/13 20:01:49| 304 objects scanned, 0 objects relocated, 0 objects
> fresher, 0 objects ignored
> 2006/12/13 20:01:49| Completed Validation Procedure
> 2006/12/13 20:01:49| Validated 71760 Entries
> 2006/12/13 20:01:49| store_swap_size = 8173017k
> 2006/12/13 20:01:49| storeLateRelease: released 1115 objects
>
>
> and then works - for about one minute under moderate load (30-40 req/s)
>
> and then - crash...
>
>
> this time without any information.

Hm! What you could try is running it under gdb. That way you can intercept
it pretty quickly and trap the crash.

The way to do it:

* go into source directory/src - eg /home/adrian/work/squid/src
* create file .gdbinit, with:

handle all noprint pass
handle SIGSEGV stop
break fatal
break xassert

* run squid inside gdb, ie

$ gdb squid
(gdb) run -ND

.. wait a minute or two for it to crash. It'll then hopefully crash to the debugger
allowing you to get a backtrace (bt) which you can then paste here.

Also, check dmesg under FreeBSD - it'll log whenever a process exits due to segfault.
You may want to try and nab a coredump from Squid (check squid.conf for the coredump_dir
directive and check google/wiki for instructions on enabling coredumps. I don't have
my FreeBSD server turned on at the moment.)

Which version of FreeBSD-6 are you running? I've had no trouble running Squid + AUFS
at loads far exceeding your 30/40 req/sec load.

Adrian

-- 
- Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
Received on Wed Dec 13 2006 - 12:41:20 MST

This archive was generated by hypermail pre-2.1.9 : Mon Jan 01 2007 - 12:00:01 MST