On Sun, 2011-03-20 at 23:13 -0400, Michael Scheidell wrote: > On 3/20/11 8:57 PM, Karsten Bräckelmann wrote: > > There are now reports, that this bug is not strictly related to 32 bit > > architecture (though always with compiled rules). > > > > Since there have been offers for further testing: One data point is to > > collect details about systems, CPU architecture, instruction set used > > for compiling, versions (OS, kernel, compiler, re2c, Perl) and patch- > > level. > > I had it happen on two out of 32 jailed freebsd clients. > guess what: all the same hardware, os level, software, software level. > all amd64, freebsd 7.3, perl 5.10.0, sa 3.3.1 running through > amavisd-new 2.6.4, running compiled rules.
Uhm, you do realize that is NOT helpful, don't you? ;) Seriously, thanks Michael! Supports the previous conclusion that this is not strictly based on any system or environment -- but likely a very obscure bug with re2c compilation, triggering in some highly specific circumstances only [1]. Does the "use space instead of \s" theory fix it for you? [1] CPU version or rather stepping? -- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}