https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6143


Justin Mason <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal




--- Comment #16 from Justin Mason <[email protected]>  2009-07-06 15:50:05 PST ---
thanks for that.  I can now do this:

  cd tmp/.spamassassin5004X1lz2qtmp/Mail-SpamAssassin-CompiledRegexps-body_0
  make clean
  perl Makefile.PL
  make
  dd if=/dev/zero of=o bs=1 count=1

  perl -w -Iblib/lib -Iblib/arch -e '
  use Mail::SpamAssassin::CompiledRegexps::body_0; 
  print @{Mail::SpamAssassin::CompiledRegexps::body_0::scan(<>)}' < o

result: one segmentation fault, reproducing the bug on my Ubuntu box here.

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0xb7d128d0 (LWP 9797)]
  Mail_SpamAssassin_CompiledRegexps_body_0_scan1 (p=0xbfd2c2c8) at
scanner1.c:21
  21                      yych = *YYCURSOR;
  (gdb) bt
  #0  Mail_SpamAssassin_CompiledRegexps_body_0_scan1 (p=0xbfd2c2c8) at
scanner1.c:21
  #1  0xb7c7059e in XS_Mail__SpamAssassin__CompiledRegexps__body_0_scan
(my_perl=0x9b4a008,
        cv=0x9bea6e8) at body_0.xs:83
  #2  0x080b3c92 in Perl_pp_entersub ()
  #3  0x080b2069 in Perl_runops_standard ()
  #4  0x080b04d0 in perl_run ()
  #5  0x08063ebd in main ()

here's the thing -- remove -O2 and it works fine.  So it's a compiler
optimization bug, I think.

  -O2: fails
  -O: fails
  -g: ok
  -g -O: fails

none of the other gcc switches affect it; just -O / -O2.

I'm tempted to just close this as WORKSFORME, but maybe we should try to get
sa-compile to avoid compiling rules that contain NUL bytes?

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to