You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "John L. Poole" <jl...@gmail.com> on 2010/12/13 23:54:53 UTC

Today's build fails testsock on ARM-Gentoo

downloaded today's build, apr_20101213151338.tar.gz, and ran the tests; 
I got past the problem point encountered in my email of today (test 
hangs at testprocmutex) earlier.

It appears the only test failure was at:

testsock            : FAILED 1 of 15

I went ahead and installed and ran the GNU Debugger; the same results as 
previous:

(gdb) run
Starting program: /usr/sbin/apache2
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x402910e4 in apr_palloc () from /usr/lib/libapr-1.so.0
(gdb)

Can someone give an opinion about the "testsock" failure?
Can someone give an opinion as to what I should do to determine what is 
causing apache to segment fault at libapr-1.so.0

Is there something else that could be affecting apr causing it to fail 
in apr_palloc()?

-- John

plug apr # uname -a
Linux plug 2.6.33.5 #3 PREEMPT Thu Sep 2 07:47:34 PDT 2010 armv5tel 
Feroceon 88FR131 rev 1 (v5l) Marvell SheevaPlug Reference Board GNU/Linux
plug apr #


******************************************
Below are the complete results:
APR Lock Performance Test
==============

apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 1 threads    OK
microseconds: 3143582 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 1 threads    OK
microseconds: 3660777 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 1 threads    OK
microseconds: 2827198 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 2 threads    OK
microseconds: 3878922 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 2 threads    OK
microseconds: 4859949 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 2 threads    OK
microseconds: 3954131 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 3 threads    OK
microseconds: 5068396 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 3 threads    OK
microseconds: 5920033 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 3 threads    OK
microseconds: 6228085 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 4 threads    OK
microseconds: 5972825 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 4 threads    OK
microseconds: 7627837 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 4 threads    OK
microseconds: 8271608 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 5 threads    OK
microseconds: 7456844 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 5 threads    OK
microseconds: 8747029 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 5 threads    OK
microseconds: 10303883 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (UNNESTED)          OK
     Starting 6 threads    OK
microseconds: 8953319 usec
apr_thread_mutex_t Tests
     Initializing the apr_thread_mutex_t (NESTED)            OK
     Starting 6 threads    OK
microseconds: 10192998 usec
apr_thread_rwlock_t Tests
     Initializing the apr_thread_rwlock_t                    OK
     Starting 6 threads    OK
microseconds: 12148738 usec
Trying proc mutexes with mechanism `default'...
   Mutex mechanism `default' is global in scope on this platform.
Trying global mutexes with mechanism `default'...
   no problems encountered...
Trying proc mutexes with mechanism `flock'...
   Mutex mechanism `flock' is not global in scope on this platform.
Trying global mutexes with mechanism `flock'...
   no problems encountered...
Trying proc mutexes with mechanism `sysvsem'...
   Mutex mechanism `sysvsem' is global in scope on this platform.
Trying global mutexes with mechanism `sysvsem'...
   no problems encountered...
Trying proc mutexes with mechanism `posix'...
   Mutex mechanism `posix' is global in scope on this platform.
Trying global mutexes with mechanism `posix'...
   no problems encountered...
Trying proc mutexes with mechanism `fcntl'...
   Mutex mechanism `fcntl' is not global in scope on this platform.
Trying global mutexes with mechanism `fcntl'...
   no problems encountered...
Trying proc mutexes with mechanism `proc_pthread'...
   Mutex mechanism `proc_pthread' is global in scope on this platform.
Trying global mutexes with mechanism `proc_pthread'...
   no problems encountered...
testatomic          : SUCCESS
testdir             : SUCCESS
testdso             : SUCCESS
testdup             : SUCCESS
testenv             : SUCCESS
testfile            : SUCCESS
testfilecopy        : SUCCESS
testfileinfo        : SUCCESS
testflock           : SUCCESS
testfmt             : SUCCESS
testfnmatch         : SUCCESS
testargs            : SUCCESS
testhash            : SUCCESS
testhooks           : SUCCESS
testipsub           : SUCCESS
testlock            : SUCCESS
testcond            : SUCCESS
testlfs             : SUCCESS
testmmap            : SUCCESS
testnames           : SUCCESS
testoc              : SUCCESS
testpath            : SUCCESS
testpipe            : SUCCESS
testpoll            : SUCCESS
testpools           : SUCCESS
testproc            : SUCCESS
testprocmutex       : SUCCESS
testrand            : SUCCESS
testsleep           : SUCCESS
testshm             : SUCCESS
testsock            : FAILED 1 of 15
testsockets         : SUCCESS
testsockopt         : SUCCESS
teststr             : SUCCESS
teststrnatcmp       : SUCCESS
testtable           : SUCCESS
testtemp            : SUCCESS
testthread          : SUCCESS
testtime            : SUCCESS
testud              : SUCCESS
testuser            : SUCCESS
testvsn             : SUCCESS
teststrmatch        : SUCCESS
testuri             : SUCCESS
testuuid            : SUCCESS
testbuckets         : SUCCESS
testpass            : SUCCESS
testbase64          : SUCCESS
testmd4             : SUCCESS
testmd5             : SUCCESS
testcrypto          : SUCCESS
testdbd             : SUCCESS
testdate            : SUCCESS
testmemcache        : SUCCESS
testxml             : SUCCESS
testxlate           : SUCCESS
testrmm             : SUCCESS
testdbm             : SUCCESS
testqueue           : SUCCESS
testreslist         : SUCCESS
Failed Tests            Total   Fail    Failed %
===================================================
testsock                   15      1      6.67%
Loaded pgsql driver OK.
Failed to open pgsql[]
Loaded sqlite3 driver OK.
Opened sqlite3[] OK
======== create table ========
create table test successful

======== insert rows ========
insert rows test successful

======== invalid op ========
invalid op returned 1 (should be nonzero).  Error msg follows
'no such table: apr_dbd_test1'
valid op returned 0 (should be zero; error shouldn't affect subsequent ops)
invalid op test successful

======== select random ========
ROW 5:  wibble  nothing 5
ROW 1:  asdfgh  bar     1
select random test successful

======== select sequential ========
ROW 1:  asdfgh  bar     1
ROW 2:  bar     foo     (null)
ROW 3:  foo     (null)  (null)
ROW 4:  qwerty  foo     0
ROW 5:  wibble  nothing 5
ROW 6:  wibble  other   5
select sequential test successful

======== transactions ========
Transaction 1
6 rows updated
Valid insert returned 1.  Should be nonzero (fail) because transaction 
is bad
Transaction ended (should be rollback) - viewing table
A column of "failed" indicates transaction failed (no rollback)
ROW 1:  asdfgh  bar     1
ROW 2:  bar     foo     (null)
ROW 3:  foo     (null)  (null)
ROW 4:  qwerty  foo     0
ROW 5:  wibble  nothing 5
ROW 6:  wibble  other   5
Transaction 2
6 rows updated
Valid insert returned 0.  Should be zero (OK)
Transaction ended (should be commit) - viewing table
ROW 1:  aaa     zzz     3
ROW 2:  asdfgh  success 1
ROW 3:  bar     success (null)
ROW 4:  foo     success (null)
ROW 5:  qwerty  success 0
ROW 6:  wibble  success 5
ROW 7:  wibble  success 5
transactions test successful

======== prepared select ========
Selecting rows where col3 <= 3 and bar row where it's unset.
Should show four rows.
ROW 1:  qwerty  success 0
ROW 2:  asdfgh  success 1
ROW 3:  bar     success (null)
ROW 4:  aaa     zzz     3
prepared select test successful

======== prepared query ========
Showing table (should now contain row "prepared insert 2")
ROW 1:  aaa     zzz     3
ROW 2:  asdfgh  success 1
ROW 3:  bar     success (null)
ROW 4:  foo     success (null)
ROW 5:  prepared        insert  2
ROW 6:  qwerty  success 0
ROW 7:  wibble  success 5
ROW 8:  wibble  success 5
prepared query test successful

======== drop table ========
drop table test successful

Programs failed: testall
make[1]: *** [check] Error 1
make[1]: Leaving directory `/usr/local/src/apr/test'
make: *** [check] Error 2
plug apr #



Re: Today's build fails testsock on ARM-Gentoo

Posted by "John L. Poole" <jl...@gmail.com>.

On 12/13/2010 6:04 PM, William A. Rowe Jr. wrote:
> On 12/13/2010 4:54 PM, John L. Poole wrote:
>> testsock            : FAILED 1 of 15
> You probably wanted to be aware of; testall -v testsock
> just make sure your LD_LIBRARY_PATH or similar is loading libapr.so from
> the appropriate file path.

I tried your suggestion and the testsock as invoked per your suggestion 
passed.

Interesting, with the same LD_LIBRARY_PATH variable set, I then ran:
make test
and the testsock still failed, so there are different results dependent 
upon how the test is invoked.

Thank you.

plug apr # pwd
/usr/local/src/apr
plug apr # ls .libs
libapr-2.a  libapr-2.la  libapr-2.lai  libapr-2.so  libapr-2.so.0  
libapr-2.so.0.0.0
plug apr # cd test
plug test # export LD_LIBRARY_PATH=/usr/local/src/apr/libapr-2.so
plug test # ./testall -v testsock
testsock            : SUCCESS
All tests passed.
plug test #
plug test # ls -la ../.libs
total 1964
drwxr-xr-x  2 root root    4096 Dec 13 09:22 .
drwxr-xr-x 39 root root    4096 Dec 13 09:25 ..
-rw-r--r--  1 root root 1018434 Dec 13 09:22 libapr-2.a
lrwxrwxrwx  1 root root      14 Dec 13 09:22 libapr-2.la -> ../libapr-2.la
-rw-r--r--  1 root root     994 Dec 13 09:22 libapr-2.lai
lrwxrwxrwx  1 root root      17 Dec 13 09:22 libapr-2.so -> 
libapr-2.so.0.0.0
lrwxrwxrwx  1 root root      17 Dec 13 09:22 libapr-2.so.0 -> 
libapr-2.so.0.0.0
-rwxr-xr-x  1 root root  967011 Dec 13 09:22 libapr-2.so.0.0.0
plug test #

Re: Today's build fails testsock on ARM-Gentoo

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 12/13/2010 4:54 PM, John L. Poole wrote:
> 
> testsock            : FAILED 1 of 15

You probably wanted to be aware of; testall -v testsock
just make sure your LD_LIBRARY_PATH or similar is loading libapr.so from
the appropriate file path.