Date: Fri, 27 Aug 2010 21:58:38 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Glen Barber <glen.j.barber@gmail.com> Cc: ports@freebsd.org, Kurt Jaeger <lists@opsec.eu>, Jeremy Chadwick <freebsd@jdc.parodius.com> Subject: Re: security/clamav: Segmentation fault when running clamav in a 32-bit jail on a 64-bit host Message-ID: <20100827185837.GZ2396@deviant.kiev.zoral.com.ua> In-Reply-To: <4C77F0A9.6030807@gmail.com> References: <4C77DB15.5010501@gmail.com> <20100827163310.GD67795@home.opsec.eu> <4C77EBF8.9020405@gmail.com> <20100827165423.GA32102@icarus.home.lan> <4C77F0A9.6030807@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--sUEwCCp6oxC9Oap7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 27, 2010 at 01:06:49PM -0400, Glen Barber wrote: > On 8/27/10 12:54 PM, Jeremy Chadwick wrote: > > On Fri, Aug 27, 2010 at 12:46:48PM -0400, Glen Barber wrote: > >> On 8/27/10 12:33 PM, Kurt Jaeger wrote: > >>> Hi! > >>> > >>>> I have a few clamav instances running in jails on 32-bit hosts witho= ut > >>>> any issues. A few days ago one of these jails was migrated to a 64-= bit > >>>> host (8.1-RELEASE), where I noticed clamd (0.96.2_1) segfaults when = queried. > >>>> > >>>> The issue seems specific to 32bit/64bit compatibility. I have a gdb > >>>> session available here: http://gist.github.com/549964 > >>>> > >>>> Any thoughts on if this is possible? > >>> > >>> Try > >>> > >>> Bytecode no > >>> > >>> in clamd.conf ? > >>> > >> > >> It was set to 'yes' initially. I thought it was disabled with building > >> without JIT. At any rate, no, it still segfaults with the same backtr= ace. > >=20 > > 1) Is clamd built with debugging symbols enabled? If not, you might wa= nt > > to rebuild it with such, else it might be difficult to debug the > > problem. > >=20 >=20 > It wasn't initially, but is now. >=20 > > Also, if the segfault happens after performing the above, can you > > provide output from "bt full" instead of just "bt"? > >=20 >=20 > Of course. The new backtrace is here: http://gist.github.com/553734 I suspect that this was fixed in r210796/HEAD and r211138/RELENG_8. >=20 > > 2) Was the software rebuilt from source after the upgrade from i386 to > > amd64, or are you expecting the software to work without any hitches > > running on amd64 with lib32 (32-bit compatibility libaries)? The latter > > is not always possible/the case. > >=20 >=20 > clamav was rebuilt from ports. I previously went as far as downgrading > to the previous version, to rule out something between 0.96.1 and > 0.96.2; same results there. Was clamav rebuilt in the 32-bit jail ? At least your backtrace shows 32-bit image being executed. >=20 > > I have no familiarity with the software or functions in question, but an > > initial guess would be that some piece of the code is making assumptions > > about the size of pointers (expecting 4 (32-bit) rather than 8 > > (64-bit)). Speculative on my part, but I ponder such when seeing code > > like somefunc(sizeof(int)). Absolute nonsense. --sUEwCCp6oxC9Oap7 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkx4Ct0ACgkQC3+MBN1Mb4hjMQCg936UkpSiEJ1wOF2jMmeCojN0 SxUAoM+/oeBs7wwOSSYNgiGUADXPOjtq =4w1R -----END PGP SIGNATURE----- --sUEwCCp6oxC9Oap7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100827185837.GZ2396>