On Wed, 25 Aug 2010 09:34:52 +0200
Eric Bischoff <ebisch...@nerim.net> wrote:

> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 0xb74338c0 (LWP 2780)]
> > csscompress (filename=0xbfa1f91f "/home/julien/eric.css") at 
> > csscompress.c:150
> > 150 csscompress.c: No such file or directory.
> >     in csscompress.c
> > (gdb) bt
> > #0  csscompress (filename=0xbfa1f91f "/home/julien/eric.css") at 
> > csscompress.c:150
> > #1  0x0804ad9a in main (argc=Cannot access memory at address 0x166d56d2
> > ) at csscompress.c:89
> > (gdb) s
> > 
> > Program terminated with signal SIGSEGV, Segmentation fault.
> > The program no longer exists.
> > (gdb) quit
> > 
> > 
> > I hae no idea how to read these results..
> > I'd appreciate your comments on the various points above.
> 
> Some additional information:
> 
> - I have attempted several times to restart dspam's training from scratch 
> (that is, with fresh new css files). It always ends like this, with 
> segmentation faults in the tools. So, it's very reproducible, and it is not 
> the css file that got "accidentally corrupted".
> 
> - I have the *impression* it is linked to the size of the css file. It *looks 
> like* the css tools have a problem of recursion when there are too many 
> levels of nodes in the hash file. These statements are purely conjectural, 
> though, I cannot prove them.
> 
> - I don't consider the answer "hash backend is buggy, don't use it" as a 
> valid solution to this problem. :-)
> 
> - Sample of faulty file is here : http://www.bureau-cornavin.com/eric.css
> 

The hash driver has one issue and that is that it is not portable between 32bit 
and 64bit.

So you need to use a 64bit system if the css file was created on a 64bit 
installation. However... the tools and some part of the hash driver is broken 
IMHO. I can fix the segmentation fault but making the hash driver 32/64 bit 
safe would take some time (which I currently don't have but I am open for patch 
submission).

I quickly did a patch for cssstat on my 64bit system and I get the cssstats 
back to work without a segmentation fault:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
erebos ~ # cssstat /root/eric.css
filename /root/eric.css length 31290328
extent 0: record length 98317
        extent records used 98317
        extent records free 0
extent 1: record length 49157
        extent records used 49157
        extent records free 0
extent 2: record length 54072
        extent records used 54072
        extent records free 0
extent 3: record length 59479
        extent records used 59479
        extent records free 0
extent 4: record length 65426
        extent records used 65426
        extent records free 0
extent 5: record length 71968
        extent records used 71968
        extent records free 0
extent 6: record length 79164
        extent records used 79164
        extent records free 0
extent 7: record length 87080
        extent records used 87080
        extent records free 0
extent 8: record length 95788
        extent records used 93933
        extent records free 1855
extent 9: record length 105366
        extent records used 94812
        extent records free 10554
extent 10: record length 115902
        extent records used 91391
        extent records free 24511
extent 11: record length 127492
        extent records used 69853
        extent records free 57639
extent 12: record length 140241
        extent records used 11664
        extent records free 128577
extent 13: record length 154265
        extent records used 2
        extent records free 154263
total database records used 926318
total database records free 377399
total extents               14
erebos ~ # dspam --version

DSPAM Anti-Spam Suite GIT (agent/library)

Copyright (c) 2002-2010 DSPAM Project
http://dspam.sourceforge.net.

DSPAM may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the DSPAM distribution kit.

Configuration parameters:  '--prefix=/usr' '--build=x86_64-pc-linux-gnu' 
'--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' 
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' 
'--localstatedir=/var/lib' '--libdir=/usr/lib64' 
'--with-storage-driver=hash_drv,mysql_drv' '--with-dspam-home=/var/spool/dspam' 
'--sysconfdir=/etc/mail/dspam' '--enable-daemon' '--disable-external-lookup' 
'--disable-clamav' '--enable-large-scale' '--disable-domain-scale' 
'--enable-syslog' '--enable-debug' '--enable-bnr-debug' 
'--enable-verbose-debug' '--enable-split-configuration' 
'--enable-long-usernames' '--with-dspam-group=dspam' 
'--with-dspam-home-group=dspam' '--with-dspam-mode=2511' 
'--with-logdir=/var/log/dspam' '--with-mysql-includes=/usr/include/mysql' 
'--with-mysql-libraries=/usr/lib64/mysql' '--enable-virtual-users' 
'--enable-preferences-extension' '--disable-homedir' 
'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 
'CC=x86_64-pc-linux-gnu-gcc' 'CFLAGS=-march=native -O2 -pipe -fweb 
-frename-registers -ftree-vectorize -floop-interchange -floop-strip-mine 
-floop-block -ftree-loop-optimize -freorder-blocks-and-partition -fgcse-sm 
-fgcse-las -maccumulate-outgoing-args -funswitch-loops -ftracer 
-fprefetch-loop-arrays -fno-ident -fno-strict-overflow -mfpmath=sse -mmmx -msse 
-msse2 -g2 -ggdb -g2 -ggdb' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,-O1 
-Wl,--add-needed -Wl,--as-needed -Wl,--hash-style=both -Wl,--sort-common' 
'CPPFLAGS='
erebos ~ #
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


I will try to make the other css tools to work again but as said before: this 
will not fix the fundamental issue with 32/64 bit.

Looking at the current code I am not sure if the fixes will work with already 
broken css files? I mean: I don't know if fixing the hash driver will force 
users to recreate their css file and start from scratch?

Would that be an issue or should I just go on and fix things and not care about 
the compatibility?


-- 
Kind Regards from Switzerland,

Stevan Bajić

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Dspam-devel mailing list
Dspam-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-devel

Reply via email to