# dansguardian unusable because of frequent segfaults

## DawgG

i just had to deactivate dansguardian because it segfaults all the time and performance degrades frequently so users complain rightfully.

```
...

dansguardian[20788]: segfault at 414 ip 000000000040a583 sp 00007fff8defeea0 error 4 in dansguardian[400000+93000]

dansguardian[18556]: segfault at 414 ip 000000000040a583 sp 00007fff8defeea0 error 4 in dansguardian[400000+93000]

dansguardian[18493]: segfault at 414 ip 000000000040a583 sp 00007fff8defeea0 error 4 in dansguardian[400000+93000

...

```

there already is a bug about this behavior:

https://bugs.gentoo.org/show_bug.cgi?id=303319

and i have posted about this issue:

https://forums.gentoo.org/viewtopic-t-840727.html

filtering via squid-regex is no problem but there are some url-replacements i cannot do with squid (yet). for now performance and stability is much more important so squid has "taken over."

do you know of any solution (tried different cflags, glibc-versions etc.) to this old problem and do the ppl over at http://dansguardian.org/ know about it and work on it?

here's the emerge --info again:

```
squid ~ # emerge --info

Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11.2-r0, 2.6.31-gentoo-r10 x86_64)

=================================================================

System uname: Linux-2.6.31-gentoo-r10-x86_64-Intel-R-_Xeon-R-_CPU_E5410_@_2.33GHz-with-gentoo-1.12.13

Timestamp of tree: Thu, 07 Oct 2010 23:45:02 +0000

app-shells/bash:     4.0_p37

dev-lang/python:     2.6.5-r3

sys-apps/baselayout: 1.12.13

sys-apps/sandbox:    2.3-r1

sys-devel/autoconf:  2.65-r1

sys-devel/automake:  1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.3.4, 4.4.3-r2

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.10

sys-devel/make:      3.81-r2

virtual/os-headers:  2.6.30-r1

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-march=native -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests buildpkg distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="de en"

MAKEOPTS="-j9"
```

----------

## cach0rr0

all i know to do here is snag a backtrace, and file a bug. 

You familiar with that process? 

You will first need to re-merge the package with FEATURES="splitdebug"

Then emerge gdb if you don't have it already

You should be able to get the numeric process ID for dansguardian with ps

fire up gdb

attach <process id>

wait for segfault, soon as it occurs, hit bt and press enter. Take that backtrace, and either post here to get other eyes on it, or, see if you can find a similar crash in an open bug. 

Beyond that I don't know, as I don't use it.

(NOTE: I'm more accustomed to cdb/windbg under Windows, so I'm not entirely sure if that's the "correct" way to do things on Linux, but it's worked for me on other apps !)

----------

## DawgG

thx for your help, but i don't know if i can do that since this is a really busy production server. until i go to work on a sunday i think i can live w/out dansguardian for some time  :wink:

when the opportunity occurs i will do it.

----------

## cach0rr0

ah right. yeah, suppose that's a bit of a monkey wrench! 

I guess the other possibility is seeing how much of that setup you can recreate on a VM, but that gets into the territory of "wait a minute...do I really have the time to spend duplicating a setup to try and debug an issue I don't really have time to debug, for a product that isn't mind?"

but if you DO have the time/spare cycles, that'd be one path.

----------

