EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Status Report
From: Matej Sekoranja <[email protected]>
To: Jeff Hill <[email protected]>
Cc: Thomas Pelaia II <[email protected]>, Hiroyuki Sako <[email protected]>, "Christopher K. Allen" <[email protected]>, Ernest Williams <[email protected]>, Kay Kasemir <[email protected]>, NP Rees <[email protected]>, EPICS core-talk <[email protected]>
Date: Sun, 24 Dec 2006 00:45:11 +0100
Hi,

Tests of this type are a normal part of “catime” (the ca performance test and “acctst” (the ca regression test). For example the following code is in catime.

 

So I am not sure what is different with your situation. Do you see this problem only when access security files are not installed? I am at the moment testing with the example server. I will need to need to run the tests again against an ordinary IOC also.

 

/*

 * test_search ()

 */

LOCAL void test_search (

ti      *pItems,

unsigned    iterations,

unsigned    *pInlineIter

)

{

    unsigned i;

    int status;

 

    for ( i = 0u; i < iterations; i++ ) {

        status = ca_search ( pItems[i].name, &pItems[i].chix );

        SEVCHK (status, NULL);

    }

    status = ca_pend_io ( 0.0 );

        SEVCHK ( status, NULL );

 

    *pInlineIter = 1;

}



I run test on Mac OS X (Intel) which also supports IPv6. When I connect to a PV (using auto_addr) I always got a warning about duplicate PV. I guess this can cause problems (see stack traces of all threads when lock occurred).

Matej
      for (p = 0; p < 1000; p++) {
        ca_create_channel (pvs[n].name,
                           pCB,
                           &pvs[n],
                           0,
                           &pvs[n].chid);
        /*epicsThreadSleep(0.1);*/
        }


(gdb) info threads
  7 process 7106 thread 0x2703  0x900251e7 in semaphore_wait_signal_trap ()
  6 process 7106 thread 0x2603  0x900251e7 in semaphore_wait_signal_trap ()
  5 process 7106 thread 0x2503  0x900251e7 in semaphore_wait_signal_trap ()
  4 process 7106 thread 0x2303  0x900251e7 in semaphore_wait_signal_trap ()
  3 process 7106 thread 0x1003  0x900251e7 in semaphore_wait_signal_trap ()
  2 process 7106 thread 0xf03  0x900251e7 in semaphore_wait_signal_trap ()
* 1 process 7106 local thread 0xf03  0x90037f27 in mach_wait_until ()

(gdb) thread 1
[Switching to thread 1 (process 7106 local thread 0xf03)]
#0  0x90037f27 in mach_wait_until ()
(gdb) bt
#0  0x90037f27 in mach_wait_until ()
#1  0x90037e0a in nanosleep ()
#2  0x0067e179 in epicsThreadSleep (seconds=59.999999000000003) at ../../../src/libCom/osi/os/posix/osdThread.c:596
#3  0x00227abf in ca_client_context::pendEvent (this=0x1100580, timeout=@0xbffff6f8) at ../ca_client_context.cpp:595
#4  0x0020caba in ca_pend_event (timeout=0) at ../access.cpp:452
#5  0x00001cd7 in main (argc=2, argv=0xbffff7e8) at ../casLock.c:137

(gdb) thread 2
[Switching to thread 2 (process 7106 thread 0xf03)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x006800f3 in epicsMutexOsdLock (pmutex=0x1100630) at ../../../src/libCom/osi/os/posix/osdMutex.c:54
#3  0x00677fe2 in epicsMutex::lock (this=0x11005f0) at ../../../src/libCom/osi/epicsMutex.cpp:118
#4  0x0020773b in cac::pvMultiplyDefinedNotify (this=0x11007f0, mfmdpv=@0x1810548, pChannelName=0x181058c "record1", pAcc=0x181054c "192.168.1.101:5064", pRej=0x1805a08 "10.37.129.2:5064") at ../cac.cpp:936
#5  0x00232ed3 in msgForMultiplyDefinedPV::transactionComplete (this=0x1810548, pHostNameRej=0x1805a08 "10.37.129.2:5064") at ../msgForMultiplyDefinedPV.cpp:58
#6  0x00675b02 in ipAddrToAsciiEnginePrivate::run (this=0x1805a00) at ../../../src/libCom/misc/ipAddrToAsciiAsynchronous.cpp:278
#7  0x0067726e in epicsThreadCallEntryPoint (pPvt=0x1805e2c) at ../../../src/libCom/osi/epicsThread.cpp:59
#8  0x0067ebe5 in start_routine (arg=0x1100de0) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#9  0x90024b47 in _pthread_body ()

(gdb) thread 3
[Switching to thread 3 (process 7106 thread 0x1003)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x006800f3 in epicsMutexOsdLock (pmutex=0x1100630) at ../../../src/libCom/osi/os/posix/osdMutex.c:54
#3  0x00677fe2 in epicsMutex::lock (this=0x11005f0) at ../../../src/libCom/osi/epicsMutex.cpp:118
#4  0x0021539b in searchTimer::expire (this=0x1101c20, currentTime=@0xb0061db8) at ../../../include/epicsGuard.h:68
#5  0x006842f8 in timerQueue::process (this=0x1100fd4, currentTime=@0xb0061db8) at ../../../src/libCom/timer/timerQueue.cpp:100
#6  0x00684d2d in timerQueueActive::run (this=0x1100fc0) at ../../../src/libCom/timer/timerQueueActive.cpp:68
#7  0x0067726e in epicsThreadCallEntryPoint (pPvt=0x110101c) at ../../../src/libCom/osi/epicsThread.cpp:59
#8  0x0067ebe5 in start_routine (arg=0x11013e0) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#9  0x90024b47 in _pthread_body ()

(gdb) thread 4
[Switching to thread 4 (process 7106 thread 0x2303)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x006800f3 in epicsMutexOsdLock (pmutex=0x11006b0) at ../../../src/libCom/osi/os/posix/osdMutex.c:54
#3  0x00677fe2 in epicsMutex::lock (this=0x11005f4) at ../../../src/libCom/osi/epicsMutex.cpp:118
#4  0x002076d3 in cac::pvMultiplyDefinedNotify (this=0x11007f0, mfmdpv=@0x181168c, pChannelName=0x18116d0 "record1", pAcc=0x1811690 "192.168.1.101:5064", pRej=0xb00a28a0 "10.37.129.2:5064") at ../../../include/epicsGuard.h:68
#5  0x00232ed3 in msgForMultiplyDefinedPV::transactionComplete (this=0x181168c, pHostNameRej=0xb00a28a0 "10.37.129.2:5064") at ../msgForMultiplyDefinedPV.cpp:58
#6  0x00675975 in ipAddrToAsciiTransactionPrivate::ipAddrToAscii (this=0x18094d0, addrIn=@0xb00a2b60, cbIn=@0x181168c) at ../../../src/libCom/misc/ipAddrToAsciiAsynchronous.cpp:369
#7  0x00207290 in cac::transferChanToVirtCircuit (this=0x11007f0, cid=891, sid=4294967295, typeCode=65535, count=0, minorVersionNumber=11, addr=@0xb00a2b60, currentTime=@0xb00a2da4) at ../msgForMultiplyDefinedPV.h:73
#8  0x00218ce4 in udpiiu::searchRespAction (this=0xf000, msg=@0xf4d0, addr=@0xb00a2d94, currentTime=@0xb00a2da4) at ../udpiiu.cpp:672
#9  0x002194de in udpiiu::postMsg (this=0xf000, net_addr=@0xb00a2d94, pInBuf=0xf410 "\006", blockSize=816, currentTime=@0xb00a2da4) at ../udpiiu.cpp:832
#10 0x00219772 in udpRecvThread::run (this=0x1f420) at ../udpiiu.cpp:381
#11 0x0067726e in epicsThreadCallEntryPoint (pPvt=0x1f430) at ../../../src/libCom/osi/epicsThread.cpp:59
#12 0x0067ebe5 in start_routine (arg=0x1101a00) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#13 0x90024b47 in _pthread_body ()

(gdb) thread 5
[Switching to thread 5 (process 7106 thread 0x2503)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x006800f3 in epicsMutexOsdLock (pmutex=0x11006b0) at ../../../src/libCom/osi/os/posix/osdMutex.c:54
#3  0x00677fe2 in epicsMutex::lock (this=0x11005f4) at ../../../src/libCom/osi/epicsMutex.cpp:118
#4  0x0022387a in tcpRecvThread::run (this=0x200bc) at ../../../include/epicsGuard.h:68
#5  0x0067726e in epicsThreadCallEntryPoint (pPvt=0x200c0) at ../../../src/libCom/osi/epicsThread.cpp:59
#6  0x0067ebe5 in start_routine (arg=0x11060a0) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#7  0x90024b47 in _pthread_body ()

(gdb) thread 6
[Switching to thread 6 (process 7106 thread 0x2603)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x0068066f in epicsEventWait (pevent=0x1106350) at ../../../src/libCom/osi/os/posix/osdEvent.c:75
#3  0x0067875b in epicsEvent::wait (this=0x2020c) at ../../../src/libCom/osi/epicsEvent.cpp:63
#4  0x0021f545 in tcpSendThread::run (this=0x200e8) at ../tcpiiu.cpp:85
#5  0x0067726e in epicsThreadCallEntryPoint (pPvt=0x200ec) at ../../../src/libCom/osi/epicsThread.cpp:59
#6  0x0067ebe5 in start_routine (arg=0x1106280) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#7  0x90024b47 in _pthread_body ()

(gdb) thread 7
[Switching to thread 7 (process 7106 thread 0x2703)]
#0  0x900251e7 in semaphore_wait_signal_trap ()
(gdb) bt
#0  0x900251e7 in semaphore_wait_signal_trap ()
#1  0x90028d64 in pthread_cond_wait ()
#2  0x0068066f in epicsEventWait (pevent=0x1106480) at ../../../src/libCom/osi/os/posix/osdEvent.c:75
#3  0x0066a54d in errlogThread () at ../../../src/libCom/error/errlog.c:468
#4  0x0067ebe5 in start_routine (arg=0x1106740) at ../../../src/libCom/osi/os/posix/osdThread.c:320
#5  0x90024b47 in _pthread_body ()


References:
RE: Status Report Jeff Hill

Navigate by Date:
Prev: Re: EPICS on Tru64unix and HP-UX Kazuro FURUKAWA
Next: Re: EPICS on Tru64unix and HP-UX Kazuro FURUKAWA
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Status Report Jeff Hill
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·