You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Segmentation fault in NDPluginPvxs when an NDArray has string attributes #613
Use simDetectorAttributes.xml as the detector attributes file
Enable NDPluginPvxs callbacks and start acquisition
IOC crashes at the first frame
Backtrace:
Thread 223 "PVA1_Plugin_1" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff68d486c0 (LWP 949501)]
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
warning: 76 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory
(gdb) bt
#0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1 0x00007ffff7d7d169 in std::char_traits<char>::length
(__s=0x6973206369736142 <error: Cannot access memory at address 0x6973206369736142>)
at /usr/include/c++/13/bits/char_traits.h:399
#2 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string
(__a=<optimized out>, __s=0x6973206369736142 <error: Cannot access memory at address 0x6973206369736142>, this=0x7fff68d47070) at /usr/include/c++/13/bits/basic_string.h:648
#3 NTNDArrayConverterPvxs::fromStringAttribute (this=this@entry=0x555555703b40, destValue=..., src=src@entry=0x7ffe9c4f6650)
at ../ntndArrayConverterPvxs.cpp:448
#4 0x00007ffff7d7e1b1 in NTNDArrayConverterPvxs::fromAttributes (this=0x555555703b40, src=<optimized out>)
at ../ntndArrayConverterPvxs.cpp:500
#5 0x00007ffff7d82696 in NTNDArrayConverterPvxs::fromArray (this=0x555555703b40, src=src@entry=0x7ffe9c401560)
at ../ntndArrayConverterPvxs.cpp:206
#6 0x00007ffff7f5dd41 in NTNDArrayRecordPvxs::update (this=0x55555583a3c0, pArray=pArray@entry=0x7ffe9c401560)
at ../NDPluginPvxs.cpp:63
#7 0x00007ffff7f5de13 in NDPluginPvxs::processCallbacks (this=0x555556543100, pArray=0x7ffe9c401560)
at /usr/include/c++/13/bits/shared_ptr_base.h:1665
#8 0x00007ffff7eb4b24 in NDPluginDriver::processTask (this=0x555556543100) at ../NDPluginDriver.cpp:534
#9 0x00007ffff7aa723d in epicsThreadCallEntryPoint (pPvt=0x555556508410) at ../osi/epicsThread.cpp:94
#10 0x00007ffff7aabdad in start_routine (arg=0x55555650b3a0) at ../osi/os/posix/osdThread.c:444
#11 0x00007ffff789cb84 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#12 0x00007ffff7929ecc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
With the patch from #614 the crash does not happen and string attributes seem to be converted correctly
$ pvget 13SIM1:Pva1:Image
...
epics:nt/NTAttribute:1.0
string name Gettysburg
any value
string "Four score and seven years ago our fathers"
string[] tags []
string descriptor "Start of Gettysburg address"
alarm_t alarm
int severity 0
int status 0
string message
time_t timeStamp
long secondsPastEpoch 0
int nanoseconds 0
int userTag 0
int sourceType 3
string source myAttrFunct1
...
Activity
pgap commentedon Oct 28, 2026
With the patch from #614 the crash does not happen and string attributes seem to be converted correctly