Loading...

clamav-devel@lists.clamav.net

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [Clamav-devel] Tests failing on FreeBSD 6.x Renato Botelho Thu Mar 04 10:00:27 2010

2010/3/4 Török Edwin <[EMAIL PROTECTED]>:
> On 03/04/2010 07:17 PM, Renato Botelho wrote:
>> 2010/3/4 Török Edwin <[EMAIL PROTECTED]>:
>>> On 03/04/2010 07:01 PM, Renato Botelho wrote:
>>>> 2010/3/4 Török Edwin <[EMAIL PROTECTED]>:
>>>>> On 03/04/2010 06:02 PM, Renato Botelho wrote:
>>>>>> Without -O2, results changed
>>>>>>
>>>>>> #10 0x0000000000000000 in ?? ()
>>>>>> #11 0x0000000000000000 in ?? ()
>>>>>> #12 0x0000000000000000 in ?? ()
>>>>>> #13 0x0000000000000000 in ?? ()
>>>>>> #14 0x0000000000000001 in ?? ()
>>>>>> #15 0x0000000000000000 in ?? ()
>>>>>> #16 0x00007fffffffedf3 in ?? ()
>>>>>> #17 0x00007fffffffedfd in ?? ()
>>>>>> #18 0x00007fffffffee08 in ?? ()
>>>>> Sorry that still doesn't tell me what the bug is.
>>>>> Can you show me config.log (from libclamav/c++), maybe its linking to a
>>>>> wrong library.
>>>> Attached
>>>>
>>>>> Could you also post a strace output of the program? (so we see what it
>>>>> does prior to crashing)
>>>> Sorry, we don't have strace for freebsd amd64, just for i386
>>>>
>>>>> Also try doing this:
>>>>> (gdb) breakpoint main
>>>>> (gdb) run
>>>>> (gdb) next
>>>>> (gdb) next
>>>>> (gdb) quit
>>>> It seems to segfault before main.
>>>>
>>>> testegw# gdb ./llvmunittest_ADT
>>>> GNU gdb 6.1.1 [FreeBSD]
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "amd64-marcel-freebsd"...
>>>> (gdb) break main
>>>> Breakpoint 1 at 0x462c39: file
>>>> llvm/utils/unittest/UnitTestMain/TestMain.cpp, line 13.
>>>> (gdb) run
>>>> Starting program:
>>>> /home/garga/clamav-devel/work/clamav-devel-20100303/libclamav/c++/llvmunittest_ADT
>>>> [New LWP 100101]
>>>> [New Thread 0x5dd000 (LWP 100101)]
>>>> [New LWP 100101]
>>>>
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> [Switching to LWP 100101]
>>>> 0x00000008006f531d in _pthread_mutex_trylock () from /usr/lib/libthr.so.2
>>>> (gdb) next
>>>> Single stepping until exit from function _pthread_mutex_trylock,
>>>> which has no line number information.
>>>>
>>>> Program terminated with signal SIGSEGV, Segmentation fault.
>>>> The program no longer exists.
>>>> (gdb) next
>>>> The program is not being run.
>>>> (gdb) quit
>>>> testegw#
>>>>
>>>> I'm thinking this problem could be related with thread library. I'll
>>>> try to link it with libthr instead of libpthread and see what happens.
>>>>
>>> It already links with lthr, maybe try libpthread then?
>>> LDFLAGS=' -L/usr/local/lib  -lthr -Wl,-rpath=/usr/local/lib/gcc42'
>>>
>>> Best regards,
>>> --Edwin
>>> _______________________________________________
>>> http://lurker.clamav.net/list/clamav-devel.html
>>> Please submit your patches to our Bugzilla: http://bugs.clamav.net
>>>
>>
>> So, something went wrong, unit test binary is linked with libpthread
>
> Can you show me the output of:
> rm llvmunittest_ADT
> make llvmunittest_ADT V=1
>
>
>>
>> testegw# ldd llvmunittest_ADT
>> llvmunittest_ADT:
>>         libthr.so.2 => /usr/lib/libthr.so.2 (0x8006e7000)
>>         libstdc++.so.6 => /usr/local/lib/gcc42/libstdc++.so.6 (0x8007fe000)
>>         libm.so.4 => /lib/libm.so.4 (0x800a0a000)
>>         libgcc_s.so.1 => /usr/local/lib/gcc42/libgcc_s.so.1 (0x800b26000)
>>         libpthread.so.2 => /lib/libpthread.so.2 (0x800c33000)
>>         libc.so.6 => /lib/libc.so.6 (0x800d5e000)
>
> Ouch, how did the linker even allow that?!


Yeah, I think we found it:

/bin/sh ./libtool  --tag=CXX    --mode=link g++42 -Woverloaded-virtual
-pedantic -Wno-long-long -Wall -W -Wno-unused-parameter
-Wwrite-strings -Wno-missing-field-initializers -Wno-variadic-macros
-fno-exceptions  -fno-strict-aliasing -pipe -g
-Wl,-rpath=/usr/local/lib/gcc42  -L/usr/local/lib  -lthr
-Wl,-rpath=/usr/local/lib/gcc42 -o llvmunittest_ADT
llvmunittest_ADT-APFloatTest.o  llvmunittest_ADT-APIntTest.o
llvmunittest_ADT-DenseMapTest.o  llvmunittest_ADT-DenseSetTest.o
llvmunittest_ADT-ImmutableSetTest.o
llvmunittest_ADT-SmallStringTest.o  llvmunittest_ADT-SmallVectorTest.o
 llvmunittest_ADT-SparseBitVectorTest.o
llvmunittest_ADT-StringMapTest.o  llvmunittest_ADT-StringRefTest.o
llvmunittest_ADT-TripleTest.o  llvmunittest_ADT-TwineTest.o
libgoogletest.la libllvmjit.la libllvmsupport.la libllvmsystem.la
libtool: link: g++42 -Woverloaded-virtual -pedantic -Wno-long-long
-Wall -W -Wno-unused-parameter -Wwrite-strings
-Wno-missing-field-initializers -Wno-variadic-macros -fno-exceptions
-fno-strict-aliasing -pipe -g -Wl,-rpath=/usr/local/lib/gcc42
-Wl,-rpath=/usr/local/lib/gcc42 -o llvmunittest_ADT
llvmunittest_ADT-APFloatTest.o llvmunittest_ADT-APIntTest.o
llvmunittest_ADT-DenseMapTest.o llvmunittest_ADT-DenseSetTest.o
llvmunittest_ADT-ImmutableSetTest.o llvmunittest_ADT-SmallStringTest.o
llvmunittest_ADT-SmallVectorTest.o
llvmunittest_ADT-SparseBitVectorTest.o
llvmunittest_ADT-StringMapTest.o llvmunittest_ADT-StringRefTest.o
llvmunittest_ADT-TripleTest.o llvmunittest_ADT-TwineTest.o
-L/usr/local/lib ./.libs/libgoogletest.a ./.libs/libllvmjit.a
./.libs/libllvmsupport.a ./.libs/libllvmsystem.a -lthr -pthread

-- 
Renato Botelho
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net