-
Notifications
You must be signed in to change notification settings - Fork 76
Open
Description
CSS/Phoebus works fine with NDPluginPva to display images compressed with the JPEG and LZ4 codecs.
It works fine with NDPluginPvxs to display uncompressed images. However it does not work with NDPluginPvxs to display compressed images.
When tested with LZ4 compressed images the following error messages are seen in the CSS/Phoebus Error Log window:
java.lang.ClassCastException
2026-01-01 15:28:07 WARNING [org.phoebus.pv] Cannot decode '13SIM1:Pva1:Image' [CID 3, SID 117768961 CONNECTED] = epics:nt/NTNDArray:1.0
union value
ubyte[] ubyteValue [255, 241, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, ...]
codec_t codec
string name lz4
any parameters
long any 5
java.lang.ClassCastException
2026-01-01 15:28:07 WARNING [org.csstudio.display.builder.representation] Cannot draw image from VString["Cannot decode epics:nt/NTNDArray:1.0
When tested with JPEG compressed images it crashes the IOC with this traceback:
(gdb) bt
#0 0x00007ffff7759eab in __memmove_avx_unaligned_erms () from /lib64/libc.so.6
#1 0x00000000009c59c2 in pvxs::impl::to_wire<unsigned char> (varr=..., buf=...) at ../pvaproto.h:497
#2 pvxs::impl::to_wire_field (buf=..., desc=<optimized out>, store=...) at ../dataencode.cpp:325
#3 0x00000000009c4af7 in pvxs::impl::to_wire_full (buf=..., val=...) at ../dataimpl.h:35
#4 0x00000000009c78bc in pvxs::impl::to_wire_valid (buf=..., val=..., mask=mask@entry=0x7fffe80077d0) at ../dataencode.cpp:436
#5 0x0000000000977e08 in pvxs::impl::(anonymous namespace)::MonitorOp::doReply (
self=std::shared_ptr<pvxs::impl::(anonymous namespace)::MonitorOp> (use count 3, weak count 1) = {...}) at ../servermon.cpp:173
#6 0x0000000000979299 in operator() (__closure=0x7fff38107498) at ../servermon.cpp:96
#7 pvxs::impl::mdetail::Functor0<pvxs::impl::(anonymous namespace)::MonitorOp::maybeReply(pvxs::server::Server::Pvt*, const std::shared_ptr<pvxs::impl::(anonymous namespace)::MonitorOp>&)::<lambda()> >::invoke(void) (this=0x7fff38107490) at ../evhelper.h:136
#8 0x000000000093e119 in pvxs::impl::mfunction::operator() (this=<synthetic pointer>) at ../evhelper.h:149
#9 pvxs::impl::evbase::Pvt::doWork (this=0x19b68f0) at ../evhelper.cpp:229
#10 0x000000000093e32f in pvxs::impl::evbase::Pvt::doWorkS (sock=<optimized out>, evt=<optimized out>, raw=<optimized out>) at ../evhelper.cpp:248
#11 0x00007ffff7e33aa8 in event_process_active_single_queue () from /lib64/libevent_core-2.1.so.7
#12 0x00007ffff7e357b7 in event_base_loop () from /lib64/libevent_core-2.1.so.7
#13 0x000000000093cfc8 in pvxs::impl::evbase::Pvt::run (this=0x19b68f0) at /usr/include/c++/11/bits/unique_ptr.h:173
#14 0x000000000144e47b in epicsThreadCallEntryPoint (pPvt=0x19b6988) at ../osi/epicsThread.cpp:94
#15 0x0000000001452995 in start_routine (arg=0x19cf1d0) at ../osi/os/posix/osdThread.c:442
#16 0x00007ffff768a0ea in start_thread () from /lib64/libc.so.6
#17 0x00007ffff770f150 in clone3 () from /lib64/libc.so.6
Metadata
Metadata
Assignees
Labels
No labels