EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Re: Request for Help with EPICS Asyn Build Issues
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: "Rivers, Mark L." <rivers at cars.uchicago.edu>, Jonathan Hai <haic at mcmaster.ca>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 6 Mar 2025 23:22:39 +0000

Hi Jonathan,

 

One thing I noticed about your installation: You have installed the asyn module inside your epics-base build tree:

 

libtestSupport.so => /home/jonathanhai/epics-base/support/asyn-R4-45/lib/linux-x86_64/libtestSupport.so (0x00007b8f3eeb3000)

libasyn.so => /home/jonathanhai/epics-base/support/asyn-R4-45/lib/linux-x86_64/libasyn.so (0x00007b8f3edf2000)

 

libdbRecStd.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libdbRecStd.so.3.24.0 (0x00007b8f3eda9000)

libdbCore.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libdbCore.so.3.24.0 (0x00007b8f3ed07000)

libCom.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libCom.so.3.24.0 (0x00007b8f3ec83000)

 

This is not a recommended layout and can cause the kind of issues you're seeing, please try moving it above the epics-base directory (putting it into the epics-base/support subdirectory doesn't solve those issues).

 

HTH,

 

- Andrew

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

On 3/6/25, 4:28PM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:

 

Hi Jonathan,

 

I just attempted to reproduce your problem and I cannot.

 

I am using Ubuntu 22:

 

TahoeU18:/corvette/usr/local/epics-devel/base-7.0.9> lsb_release -a

No LSB modules are available.

Distributor ID:   Ubuntu

Description:      Ubuntu 22.04.2 LTS

Release:    22.04

Codename:   jammy

 

I just built base-7.0.9, and asyn.  I am using the master branch of asyn, but there are only trivial changes since R4-45.

 

asyn built with no errors.

 

This is the output of ldd for the "test" IOC application:

TahoeU18:/corvette/home/epics/devel/asyn> ldd bin/linux-x86_64-ub22/test

      linux-vdso.so.1 (0x00007ffd1a8b0000)

      libtestSupport.so => /corvette/home/epics/devel/asyn-4-45/lib/linux-x86_64-ub22/libtestSupport.so (0x00007f78d1423000)

      libasyn.so => /corvette/home/epics/devel/asyn-4-45/lib/linux-x86_64-ub22/libasyn.so (0x00007f78d135f000)

      libdbRecStd.so.3.24.0 => /corvette/usr/local/epics-devel/base-7.0.9/lib/linux-x86_64-ub22/libdbRecStd.so.3.24.0 (0x00007f78d1315000)

      libdbCore.so.3.24.0 => /corvette/usr/local/epics-devel/base-7.0.9/lib/linux-x86_64-ub22/libdbCore.so.3.24.0 (0x00007f78d1274000)

      libCom.so.3.24.0 => /corvette/usr/local/epics-devel/base-7.0.9/lib/linux-x86_64-ub22/libCom.so.3.24.0 (0x00007f78d11ed000)

      libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f78d0fa8000)

      libtirpc.so.3 => /lib/x86_64-linux-gnu/libtirpc.so.3 (0x00007f78d0f7a000)

      libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f78d0d4e000)

      libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f78d0d2e000)

      libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f78d0c45000)

      libca.so.4.14.5 => /corvette/usr/local/epics-devel/base-7.0.9/lib/linux-x86_64-ub22/libca.so.4.14.5 (0x00007f78d0bdb000)

      libreadline.so.8 => /lib/x86_64-linux-gnu/libreadline.so.8 (0x00007f78d0b87000)

      /lib64/ld-linux-x86-64.so.2 (0x00007f78d143e000)

      libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f78d0b33000)

      libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f78d0b01000)

      libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f78d0a34000)

      libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f78d0a05000)

      libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f78d09ff000)

      libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f78d09f1000)

      libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f78d09ea000)

      libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f78d09d6000)

 

When I run that "test" IOC it works fine:

 

TahoeU18:/corvette/home/epics/devel/asyn/iocBoot/ioctest> ../../bin/linux-x86_64-ub22/test st.cmd

dbLoadDatabase("../../dbd/test.dbd")

test_registerRecordDeviceDriver(pdbbase)

#drvAsynIPPortConfigure("A","164.54.9.90:4001",0,0,0)

asynSetAutoConnectTimeout(.5)

echoDriverInit("A",0.05,0,0)

asynSetTraceIOMask("A",-1,2)

#asynSetTraceMask("A",-1,255)

asynWaitConnect("A",.1)

asynOctetConnect("AA","A",0)

interposeInterfaceInit("interpose","A",0)

asynOctetWriteRead("AA","Test A addr=0 count 1")

eomReason 0x4

Test A addr=0 count 1

asynOctetWriteRead("AA","Test A addr=0 count 2")

eomReason 0x4

Test A addr=0 count 2

echoDriverInit("B",0.05,0,1)

#asynSetTraceMask("B",-1,0xff)

#asynSetTraceMask("B",0,0xff)

#asynSetTraceMask("B",1,0xff)

asynSetTraceIOMask("B",-1,0x2)

asynSetTraceIOMask("B",0,0x2)

asynSetTraceIOMask("B",1,0x2)

asynWaitConnect("B",.2)

asynOctetConnect("B0","B",0)

asynOctetWriteRead("B0","B0 count 1")

eomReason 0x4

B0 count 1

asynOctetConnect("B1","B",1)

asynOctetWriteRead("B1","B1 count 1")

eomReason 0x4

B1 count 1

addrChangeDriverInit("MA","A",0)

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PA_A0,PORT=A,ADDR=0,OMAX=0,IMAX=0")

dbLoadRecords("../../db/test.db","P=test,R=Client,PORT=A,A=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PB_A-1,PORT=B,ADDR=-1,OMAX=0,IMAX=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PB_A0,PORT=B,ADDR=0,OMAX=0,IMAX=0")

dbLoadRecords("../../db/test.db","P=test,R=Client,PORT=B,A=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PB_A1,PORT=B,ADDR=1,OMAX=0,IMAX=0")

dbLoadRecords("../../db/test.db","P=test,R=Client,PORT=B,A=1")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record,PORT=A,ADDR=0,OMAX=0,IMAX=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PMA_A-1,PORT=MA,ADDR=-1,OMAX=0,IMAX=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PMA_A0,PORT=MA,ADDR=0,OMAX=0,IMAX=0")

dbLoadRecords("../../db/test.db","P=test,R=Client,PORT=MA,A=0")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record_PMA_A1,PORT=MA,ADDR=1,OMAX=0,IMAX=0")

dbLoadRecords("../../db/test.db","P=test,R=Client,PORT=MA,A=1")

dbLoadRecords("../../db/asynRecord.db","P=asyn,R=Record,PORT=A,ADDR=0,OMAX=0,IMAX=0")

dbLoadRecords("../../db/testBlock.db","P=test,R=Block,PORT=B,A=0,VAL= ")

dbLoadRecords("../../db/testBlock.db","P=test,R=Block,PORT=B,A=1,VAL= ")

dbLoadRecords("../../db/testBlock.db","P=test,R=BlockAll,PORT=B,A=0,VAL=blockAll")

dbLoadRecords("../../db/testBlock.db","P=test,R=BlockAll,PORT=B,A=1,VAL=blockAll")

iocInit()

Starting iocInit

############################################################################

## EPICS R7.0.9

## Rev. R7.0.9-dirty

## Rev. Date Git: 2025-02-21 17:31:33 -0600

############################################################################

iocRun: All initialization complete

asynReport 10 B

B multiDevice:Yes canBlock:Yes autoConnect:Yes

    enabled:Yes connected:Yes numberConnects 1

    nDevices 2 nQueued 0 blocked:No

    asynManagerLock:No synchronousLock:No

    exceptionActive:No exceptionUsers 1 exceptionNotifys 0

    traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    interposeInterfaceList

        asynOctet pinterface 0x7ff7417d24a0 drvPvt 0x5583dedd6e20

    interfaceList

        asynCommon pinterface 0x7ff7417de120 drvPvt 0x5583dedd42c0

        asynOctet pinterface 0x5583dedd6338 drvPvt 0x5583dedd42c0

    addr 0 autoConnect Yes enabled Yes connected Yes exceptionActive No

        exceptionActive No exceptionUsers 1 exceptionNotifys 0

        blocked No

        traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    addr 1 autoConnect Yes enabled Yes connected Yes exceptionActive No

        exceptionActive No exceptionUsers 1 exceptionNotifys 0

        blocked No

        traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    echoDriver. multiDevice:Yes connected:Yes delay = 0.050000

        device 0 connected:Yes nchars = 0

        device 1 connected:Yes nchars = 0

asynOctetWriteRead("B0","B0 count 2")

eomReason 0x4

B0 count 2

asynOctetWriteRead("B1","B1 count 2")

eomReason 0x4

B1 count 2

asynOctetWriteRead("B0","B0 count 3")

eomReason 0x4

B0 count 3

asynOctetWriteRead("B1","B1 count 3")

eomReason 0x4

B1 count 3

asynReport 10 B

B multiDevice:Yes canBlock:Yes autoConnect:Yes

    enabled:Yes connected:Yes numberConnects 1

    nDevices 2 nQueued 0 blocked:No

    asynManagerLock:No synchronousLock:No

    exceptionActive:No exceptionUsers 1 exceptionNotifys 0

    traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    interposeInterfaceList

        asynOctet pinterface 0x7ff7417d24a0 drvPvt 0x5583dedd6e20

    interfaceList

        asynCommon pinterface 0x7ff7417de120 drvPvt 0x5583dedd42c0

        asynOctet pinterface 0x5583dedd6338 drvPvt 0x5583dedd42c0

    addr 0 autoConnect Yes enabled Yes connected Yes exceptionActive No

        exceptionActive No exceptionUsers 1 exceptionNotifys 0

        blocked No

        traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    addr 1 autoConnect Yes enabled Yes connected Yes exceptionActive No

        exceptionActive No exceptionUsers 1 exceptionNotifys 0

        blocked No

        traceMask:0x1 traceIOMask:0x2 traceInfoMask:0x1

    echoDriver. multiDevice:Yes connected:Yes delay = 0.050000

        device 0 connected:Yes nchars = 0

        device 1 connected:Yes nchars = 0

 

Something seems wrong with your build, but I'm not sure what.

 

Mark

 

 


From: Jonathan Hai <haic at mcmaster.ca>
Sent: Thursday, March 6, 2025 2:19 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Subject: Re: Request for Help with EPICS Asyn Build Issues

 

Hi Mark,

 

Yes, I'm referring to the testioc IOC shipped with asyn. My apologies for the confusion. I ended up being able to compile asyn, and was curious about the errors I ran into. However, more pressingly the testioc seems to be failing. I have solved a few issues on my own, and now am getting a segmentation fault when attempting to run the iocBoot/testioc/st.cmd

 

 

 

Here is my make output.

 

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45$ make -s clean

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45$ make -sj

vxi11core_xdr.c: In function ‘xdr_Device_Link’:

vxi11core_xdr.c:11:27: warning: unused variable ‘buf’ [-Wunused-variable]

   11 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_AddrFamily’:

vxi11core_xdr.c:21:27: warning: unused variable ‘buf’ [-Wunused-variable]

   21 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_Flags’:

vxi11core_xdr.c:31:27: warning: unused variable ‘buf’ [-Wunused-variable]

   31 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_ErrorCode’:

vxi11core_xdr.c:41:27: warning: unused variable ‘buf’ [-Wunused-variable]

   41 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_Error’:

vxi11core_xdr.c:51:27: warning: unused variable ‘buf’ [-Wunused-variable]

   51 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Create_LinkResp’:

vxi11core_xdr.c:116:27: warning: unused variable ‘buf’ [-Wunused-variable]

  116 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_WriteParms’:

vxi11core_xdr.c:132:27: warning: unused variable ‘buf’ [-Wunused-variable]

  132 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_WriteResp’:

vxi11core_xdr.c:150:27: warning: unused variable ‘buf’ [-Wunused-variable]

  150 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_ReadResp’:

vxi11core_xdr.c:229:27: warning: unused variable ‘buf’ [-Wunused-variable]

  229 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_ReadStbResp’:

vxi11core_xdr.c:243:27: warning: unused variable ‘buf’ [-Wunused-variable]

  243 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_GenericParms’:

vxi11core_xdr.c:255:27: warning: unused variable ‘buf’ [-Wunused-variable]

  255 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_EnableSrqParms’:

vxi11core_xdr.c:334:27: warning: unused variable ‘buf’ [-Wunused-variable]

  334 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_LockParms’:

vxi11core_xdr.c:348:27: warning: unused variable ‘buf’ [-Wunused-variable]

  348 |         register int32_t *buf;

      |                           ^~~

vxi11core_xdr.c: In function ‘xdr_Device_DocmdResp’:

vxi11core_xdr.c:445:27: warning: unused variable ‘buf’ [-Wunused-variable]

  445 |         register int32_t *buf;

      |                           ^~~

../../asyn/asynRecord/asynRecord.c: In function ‘reportError’:

../../asyn/asynRecord/asynRecord.c:2045:9: warning: ‘__builtin_strncpy’ specified bound 100 equals destination size [-Wstringop-truncation]

 2045 |         strncpy(pasynRecPvt->old.errs, pasynRec->errs, ERR_SIZE);

      |         ^

../../asyn/asynRecord/asynRecord.c: In function ‘process’:

../../asyn/asynRecord/asynRecord.c:2056:9: warning: ‘__builtin_strncpy’ specified bound 100 equals destination size [-Wstringop-truncation]

 2056 |         strncpy(pasynRecPvt->old.errs, pasynRec->errs, ERR_SIZE);

      |         ^

../../asyn/asynRecord/asynRecord.c: In function ‘connectDevice’:

../../asyn/asynRecord/asynRecord.c:2056:9: warning: ‘__builtin_strncpy’ specified bound 100 equals destination size [-Wstringop-truncation]

../../asyn/asynRecord/asynRecord.c: In function ‘asynCallbackProcess’:

../../asyn/asynRecord/asynRecord.c:2056:9: warning: ‘__builtin_strncpy’ specified bound 100 equals destination size [-Wstringop-truncation]

../../asyn/asynRecord/asynRecord.c: In function ‘special’:

../../asyn/asynRecord/asynRecord.c:2056:9: warning: ‘__builtin_strncpy’ specified bound 100 equals destination size [-Wstringop-truncation]

../testBroadcastAsyn.c: In function ‘main’:

../testBroadcastAsyn.c:58:6: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]

   58 |      system("netstat -a | grep 164.54.160.255 | grep -v ca-2");

      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../testBroadcastNoAsyn.c: In function ‘main’:

../testBroadcastNoAsyn.c:54:5: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]

   54 |     system("netstat -a | grep 164.54.160.255 | grep -v ca-2");

      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

---

 

Here is a log of what I get from attempting to run the ioc, including valgrind and gdb outputs.

 

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45/iocBoot/ioctest$ ldd ../../bin/linux-x86_64/test

linux-vdso.so.1 (0x00007b8f3eecf000)

libtestSupport.so => /home/jonathanhai/epics-base/support/asyn-R4-45/lib/linux-x86_64/libtestSupport.so (0x00007b8f3eeb3000)

libasyn.so => /home/jonathanhai/epics-base/support/asyn-R4-45/lib/linux-x86_64/libasyn.so (0x00007b8f3edf2000)

libdbRecStd.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libdbRecStd.so.3.24.0 (0x00007b8f3eda9000)

libdbCore.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libdbCore.so.3.24.0 (0x00007b8f3ed07000)

libCom.so.3.24.0 => /home/jonathanhai/epics-base/lib/linux-x86_64/libCom.so.3.24.0 (0x00007b8f3ec83000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007b8f3ea00000)

libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007b8f3e600000)

libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007b8f3ec44000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007b8f3e917000)

libca.so.4.14.5 => /home/jonathanhai/epics-base/lib/linux-x86_64/libca.so.4.14.5 (0x00007b8f3e8ae000)

libreadline.so.8 => /lib/x86_64-linux-gnu/libreadline.so.8 (0x00007b8f3e5ab000)

/lib64/ld-linux-x86-64.so.2 (0x00007b8f3eed1000)

libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007b8f3e577000)

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45/iocBoot/ioctest$ file ../../bin/linux-x86_64/test

../../bin/linux-x86_64/test: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b9bf61c168c9947cffd98e78b0aab53d8e2fb0d7, with debug_info, not stripped

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45/iocBoot/ioctest$ gdb --args ../../bin/linux-x86_64/test st.cmd

GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git

Copyright (C) 2024 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Type "show copying" and "show warranty" for details.

This GDB was configured as "x86_64-linux-gnu".

Type "show configuration" for configuration details.

For bug reporting instructions, please see:

Find the GDB manual and other documentation resources online at:

 

For help, type "help".

Type "apropos word" to search for commands related to "word"...

Reading symbols from ../../bin/linux-x86_64/test...

(gdb) run

Starting program: /home/jonathanhai/epics-base/support/asyn-R4-45/bin/linux-x86_64/test st.cmd

 

This GDB supports auto-downloading debuginfo from the following URLs:

Enable debuginfod for this session? (y or [n]) y

Debuginfod has been enabled.

To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.

Downloading separate debug info for system-supplied DSO at 0x7ffff7ff1000

Program received signal SIGSEGV, Segmentation fault.

0x00007ffff7ff3000 in ?? ()

(gdb) bt

#0 0x00007ffff7ff3000 in ?? ()

#1 0x0000000000000002 in ?? ()

#2 0x00007fffffffdde5 in ?? ()

#3 0x00007fffffffde2b in ?? ()

#4 0x0000000000000000 in ?? ()

(gdb) exit

A debugging session is active.

 

Inferior 1 [process 12683] will be killed.

 

Quit anyway? (y or n) y

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45/iocBoot/ioctest$ valgrind --track-origins=yes ../../bin/linux-x86_64/test st.cmd

==12691== Memcheck, a memory error detector

==12691== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.

==12691== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info

==12691== Command: ../../bin/linux-x86_64/test st.cmd

==12691==

==12691==

==12691== Process terminating with default action of signal 11 (SIGSEGV)

==12691== Bad permissions for mapped region at address 0x108000

==12691== at 0x108000: ??? (in /home/jonathanhai/epics-base/support/asyn-R4-45/bin/linux-x86_64/test)

==12691== by 0x1: ???

==12691== by 0x1FFEFFFD8A: ???

==12691== by 0x1FFEFFFDA6: ???

==12691==

==12691== HEAP SUMMARY:

==12691== in use at exit: 0 bytes in 0 blocks

==12691== total heap usage: 0 allocs, 0 frees, 0 bytes allocated

==12691==

==12691== All heap blocks were freed -- no leaks are possible

==12691==

==12691== For lists of detected and suppressed errors, rerun with: -s

==12691== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Segmentation fault (core dumped)

jonathanhai@FRIDAY:~/epics-base/support/asyn-R4-45/iocBoot/ioctest$ ../../bin/linux-x86_64/test st.cmd

Segmentation fault (core dumped)

 

 

Thanks for your assistance.

 

 

Jonathan Hai

Researcher/Tech Monkey

CNBL | Department of Physics and Astronomy

McMaster University

Sapere Aude

 


From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Thursday, March 6, 2025 1:59 PM
To: Jonathan Hai <haic at mcmaster.ca>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Cc: Aye Chan Moe <moea at mcmaster.ca>
Subject: RE: Request for Help with EPICS Asyn Build Issues

 

You don't often get email from rivers at cars.uchicago.edu. Learn why this is important

Caution: External email.

 

Hi Jonathon,

·         Initially, after compiling Asyn and running the IOC (st.cmd), many Asyn-related commands (asynReport, asynOctetWriteRead, etc.) were missing.

What IOC are you referring to?  One that is included in asyn, or a separate IOC you are building outside of asyn?  If the problem is an IOC outside of asyn, have you verified that the test IOCs inside of asyn build OK?

 

Please do the following at the top-level of asyn and send the complete output.

 

make -s clean

make -sj

 

You said the following:

·         I am encountering persistent build issues while compiling Asyn (asyn-R4-43) with EPICS Base 7.0.9 on Ubuntu 22.04 (Linux x86_64). Despite multiple attempts to resolve the issues, the build process fails with the following error:

·         Initially, after compiling Asyn and running the IOC (st.cmd), many Asyn-related commands (asynReport, asynOctetWriteRead, etc.) were missing.

Those 2 statements seem contradictory, since first you said you could not build asyn, and then you said that after building asyn you got run-time errors when running the IOC.

 

I have not tested base 7.0.9, but I have successfully built asyn on 7.0.8 and I think it is unlikely that base 7.0.9 is causing the problem.

 

Mark

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Jonathan Hai via Tech-talk
Sent: Thursday, March 6, 2025 11:52 AM
To: tech-talk at aps.anl.gov
Cc: Aye Chan Moe <moea at mcmaster.ca>
Subject: Request for Help with EPICS Asyn Build Issues

 

Dear EPICS Tech-Talk,

I am encountering persistent build issues while compiling Asyn (asyn-R4-43) with EPICS Base 7.0.9 on Ubuntu 22.04 (Linux x86_64). Despite multiple attempts to resolve the issues, the build process fails with the following error:

No rule to make target '../%', needed by 'asynRecord.dbd'.

I would appreciate any guidance on how to fix this issue. Below is a summary of what I have tried so far.


Initial Build Attempt (Missing Asyn Support)

Problem:

·         Initially, after compiling Asyn and running the IOC (st.cmd), many Asyn-related commands (asynReport, asynOctetWriteRead, etc.) were missing.

·         The error messages included:

·         ERROR: Command asyn_registerRecordDeviceDriver not found.
·         ERROR: Can't open include file "asynRecord.dbd".
·         ERROR: Can't open include file "devEpics.dbd".

Fixes Tried:

·         Verified Asyn libraries (libasyn.so) and DBD files (asynRecord.dbd, devEpics.dbd) exist.

·         Modified testApp/src/Makefile to include:

·         DBD += asyn.dbd
·         DBD += asynRecord.dbd
·         DBD += devEpics.dbd

·         Ensured st.cmd includes:

·         dbLoadDatabase("../../dbd/asyn.dbd")
·         dbLoadDatabase("../../dbd/asynRecord.dbd")
·         dbLoadDatabase("../../dbd/devEpics.dbd")
·         asyn_registerRecordDeviceDriver(pdbbase)

·         Rebuilt Asyn using:

·         make clean
·         make

Result:

·         The missing commands were still not found.

·         asynRecord.dbd and devEpics.dbd were still missing or not properly recognized.


Missing asynRecord.dbd and devEpics.dbd

Problem:

·         Despite confirming that asynRecord.dbd exists (ls -l ~/epics-base/support/asyn/asyn-R4-43/dbd/), the build system could not find it.

·         make install failed with:

·         No rule to make target '../%', needed by 'asynRecord.dbd'.

Fixes Tried:

·         Verified INSTALL_DBD in configure/CONFIG:

·         INSTALL_DBD += asyn.dbd
·         INSTALL_DBD += asynRecord.dbd
·         INSTALL_DBD += devEpics.dbd

·         Checked configure/CONFIG for INSTALL_LOCATION:

·         INSTALL_LOCATION = $(TOP)

·         Ensured asyn.dbd includes:

·         include "asynRecord.dbd"
·         include "devEpics.dbd"

·         Rebuilt Asyn and the IOC:

·         make distclean
·         make clean
·         make -B

Result:

·         The same error persisted:

·         No rule to make target '../%', needed by 'asynRecord.dbd'.

Debugging Makefile Dependency Issues

Problem:

·         The wildcard rule (%) in the Makefile might be broken or misconfigured.

Fixes Tried:

·         Checked asyn/Makefile for incorrect % rules:

·         ../%: $(INSTALL_LOCATION)/%

o    Commented it out to prevent the broken rule:

o    #../%: $(INSTALL_LOCATION)/%

·         Rebuilt everything:

·         make clean
·         make install

Result:

·         Still getting the same error.


Request for Help

Key Questions

1.      Why is the build system trying to use ../% as a dependency for asynRecord.dbd?

2.      Is there a known issue with Asyn (asyn-R4-43) and EPICS Base compatibility?

3.      How can I properly ensure asynRecord.dbd is installed and recognized?

4.      Are there specific EPICS build settings I should check to resolve this?


System & Build Environment

·         EPICS Base: 7.0.9

·         Asyn Version: asyn-R4-43

·         OS: Ubuntu 22.04 (Linux x86_64)

·         Compiler: gcc (Ubuntu 11.3.0-1ubuntu1~22.04)

I appreciate any insights or suggestions on how to resolve this issue.

Jonathan Hai

Researcher/Tech Monkey

CNBL | Department of Physics and Astronomy

McMaster University

Sapere Aude

 


References:
Request for Help with EPICS Asyn Build Issues Jonathan Hai via Tech-talk
RE: Request for Help with EPICS Asyn Build Issues Mark Rivers via Tech-talk
Re: Request for Help with EPICS Asyn Build Issues Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: Request for Help with EPICS Asyn Build Issues Mark Rivers via Tech-talk
Next: ALS/ALS-U Senior Instrumentation Electronics Engineer Lucas Russo via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Re: Request for Help with EPICS Asyn Build Issues Mark Rivers via Tech-talk
Next: Re: Request for Help with EPICS Asyn Build Issues Han Lee via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  <2025