On Fri, 24 Jun 2005, [ISO-8859-1] Øyvind Repvik wrote: > > >This is the first report I've ever seen of an assertion in this > >function. > >Try making the function non-inline and see if that changes anything. > > > >Which compiler/version are you using? > > > >James > > I can confirm this, on the same ARM platform (Intel IXP420), and openvpn > tarball downloaded yesterday (2.0): > > Fri Jun 24 07:52:49 2005 TESTING ENCRYPT/DECRYPT of packet length=96 > Fri Jun 24 07:52:49 2005 TESTING ENCRYPT/DECRYPT of packet length=97 > Fri Jun 24 07:52:49 2005 Assertion failed at integer.h:94 > Fri Jun 24 07:52:49 2005 Exiting
I need more information on this one: * What are the values of x, y, and mod when the assertion is hit? * A call stack trace would be nice, i.e. which function was calling modulo_add when the assertion was hit? * Does the assertion always hit in the test above immediately after packet length=97? * What is the config file or command line which was used to generate the test? * Does the assertion occur if compiler optimization is turned off? (edit Makefile and remove -O2 from gcc commands) * Does the assertion occur if inline functions are turned off? (edit Makefile and add -fno-inline to gcc commands) > I've compiled openvpn using native gcc: > Reading specs from /usr/lib/gcc/armeb-linux/3.4.4/specs > Configured with: > /home/repvik/slug-svn/build/tmp/work/gcc-3.4.4-r0/gcc-3.4.4/configure > --build=i686-linux --host=armeb-linux --target=armeb-linux --prefix=/usr > --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin > --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc > --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib > --includedir=/usr/include --oldincludedir=/usr/include > --infodir=/usr/share/info --mandir=/usr/share/man > --enable-clocale=generic --with-gnu-ld --enable-shared > --enable-target-optspace --enable-languages=c,c++,f77 > --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long > --enable-symvers=gnu --enable-libstdcxx-pch > --program-prefix=armeb-linux- --with-local-prefix=/usr/local > --with-gxx-include-dir=/usr/include/c++/3.4.4 --with-float=soft > --disable-nls > Thread model: posix > gcc version 3.4.4 James