string array write through portable server fails

Bug #541328 reported by Jeff Hill
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
High
Jeff Hill

Bug Description

Yuichi ITOH wrote:
> Hi
>
> I am trying to use gateway, and I have encountered with a problem.
> The problem appeares when writing array data through gateway using "caput -a" command.
> (Gateway2.0.2.1 built with Base3.14.9 on Scientific Linux 4.2)
>
> Writing a scalar data through gateway, it will successfully completed.
> Writing array data without gateway, it will successfully completed.
> Environment variable EPICS_CA_MAX_ARRAY_BYTES is correctly set, of course.
>
> Has anyone else encountered with this problem?
>
> Thanks,
> Yuichi ITOH
>
>

Original Mantis Bug: mantis-298
    http://www.aps.anl.gov/epics/mantis/view_bug_page.php?f_id=298

Tags: cas 3.14
Revision history for this message
Jeff Hill (johill-lanl) wrote :

From Gasper,

I checked also on gateway 2.0.0.0 with EPICS base 3.14.7 and it fails to do a caput -a to waveform with FTVL set to DOUBLE.

I looks like the problem is in file casStrmClient.cc of generic ca server.

Primitive type is changed to aitEnumFixedString on line 2164 (EPICS 3.14.9)
pDD->putRef ( pData, type, pDestructor );

I changed this line to
pDD->putRef ( pData, bestWritePrimType, pDestructor );

and is working.

Revision history for this message
Jeff Hill (johill-lanl) wrote :

reproduced the bug, and confirmed that this patch fixes the issue.

cvs diff -- casStrmClient.cc (in directory C:\hill\R3.14.dll_hell_fix\epics\base\src\cas\generic\)
Index: casStrmClient.cc
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/src/cas/generic/casStrmClient.cc,v
retrieving revision 1.92.2.14
diff -c -b -r1.92.2.14 casStrmClient.cc
*** casStrmClient.cc 18 Nov 2006 01:01:21 -0000 1.92.2.14
--- casStrmClient.cc 29 Aug 2007 17:17:04 -0000
***************
*** 2161,2167 ****
   //
   // install allocated area into the DD
   //
! pDD->putRef ( pData, type, pDestructor );

   //
   // convert the data from the protocol buffer
--- 2161,2167 ----
   //
   // install allocated area into the DD
   //
! pDD->putRef ( pData, bestWritePrimType, pDestructor );

   //
   // convert the data from the protocol buffer

Revision history for this message
Jeff Hill (johill-lanl) wrote :

committed fix to CVS {R3.14 branch, main trunk}

fixed in R3.14.10

Revision history for this message
Jeff Hill (johill-lanl) wrote :

revise title

Revision history for this message
Jeff Hill (johill-lanl) wrote :

fixed in R3.14.10

Revision history for this message
Andrew Johnson (anj) wrote :

R3.14.10 released.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.