EPICS Version 4 Telecon, 19-Jan-2016

Earlier                                                                                                Later


  1. Status and Action Items
  2. exampleCPP status and pull requests
  3. V3/V4 integration. In last week’s telecon it seemed some of us were not familiar with the plan Andrew presented at the APS face-to-face, to satisfy the objective of “merging” V3 and V4 in 2 stages. Last week we said we’d reprise Andrew’s plan this week. See [2][3].
  4. Dave’s proposed EPICS V4 training course


[0] http://epics-pvdata.sourceforge.net/home.html#usefulinfo

[1] APS Thurs f-2-f meeting minutes, See topic “Combining V3 with V4 — discussion (Andrew)” https://docs.google.com/document/d/1lO7X91LqaWQZulnZIu82lQkDoweXF8QwkpOZwtkvCXQ/pub

[2] Andrew’s presention on merging V3 and V4, see slides 8,9,10: http://epics-pvdata.sourceforge.net/files/talks/2015/ANJ-F2F-201511.pdf

[3] Dave’s email,  https://sourceforge.net/p/epics-pvdata/mailman/message/34776144/

Proposed training rubric,



Present: AJ, DH, GW, MK, MS, MD, KK, SH

Scribe: KK

Chair: GW/AJ

  1. Status and Action Items

GW: [Action Item 2] progressing on obtaining funds for dbGroup @ SLAC; LCLS-II experimental side will use V4.

AJ: [4] done. [5, 6] no target date, yet.

MK: See pvDataCPP license file.

AJ: [7] ongoing. [8] ?.

GW: [10] mostly about finding the face-2-face minutes, having only user guides on lit. page.

DH: [12] working on wrapping up release. [13] contacted TK; based on what was used at FRIB EPICS meeting.

DH: Looking at pvaSrv bugs: 1st update of monitor may be missed; queue size potentially wrong.

  1. exampleCPP status and pull requests

GW: This is about RPC exampleCPP regressions. Outstanding pull requests should be discussed.

MK: Examples that rely on running EPICS base (V3) database and PV (V4) records are moved. Let’s merge so DH can continue.

DH: OK to merge, but what about git history when files are moved? Should MK merge to preserve file history?

AJ: Githib states “too many changes to show”

KK: Github website may not be able to show you all changes, but git command line would show all

MK: I’d Like DH to do the merge. Please merge and then do pull request

DH: I’d like also to resolve issue of folder called “test”. What is it? Genuinely test code, or more example?

MK: pvaClientTestCPP can go away since moving to exampleCPP

AJ: Prefer to have module that can be executed as integration test, not buried as example and then not automatically executed. CPP/Java integration test may be hard, but at least CPP tests.

MK: It’s a good example for writing a regression test. It’s an example, not integration test.

Subtopic: pvDatabaseCPP

MK: pvDatabaseCPP pull request that uses weak pointers instead of shared pointers. Would like to merge before more test/example reorg.

MD: Unclear about extent of changes, worried about exception handling.

MK: May need review, but that’s separate issue.

AJ: There are lock/unlock calls in the change. MD more suggestions?

MD: Need to add guards for locks or try/catch to assert unlock in case of exceptions.

AJ: Need more time.

MK: Go ahead and merge?

KK: Merge, since it’s master and not a release, then add bug report?

MD: Not easy to demonstrate, but pretty obvious from code review that there is a problem

GW: Want to avoid adding potential bugs to master

→ MK: OK, will revert weak pointer changes, then await MD’s suggestions. Will go ahead with example/regression test update.

  1. V3/V4 integration

AJ: Not ready to merge EPICS base & V4, but could provide a tar file that combines everything.

GW: Talked to Mark @ DLS. Their priority is a merge of V3/V4. First step is combined release. Second step - and much longer term, is a true integration of V3 and V4 (based on Andrew’s list given in the f-2-f).

MK: Having everything (asyn, synapps, …) all as one will not be manageable.

AJ: Correct. Won’t be able to do separate releases of base, pvData etc.

MK: So need to consider carefully what parts of V4 to merge into base

AJ: Yes: pvData, pvAccess, normative types.

GW: For ESS EPICS meeting, wanted to have combined download. Longer term plan would be to discuss/decide on what full integration means.

AJ: There are still incomplete prerequisites to merging: Resolve/remove Boost, ..

KK: Is the short term plan, of a combined download, still on track for the ESS meeting?

AJ: Appears likely, using base 3.15 and 4.5.0

GW: Need to start release planning earlier

AJ: 4.6 time table?

GW: Nothing at this time

MK: Start in March. 4.6 release should be before EPICS @ ESS

AJ: That might be 4.5.1

→ Have combined download at time of Lund meeting

  1. Dave’s proposed EPICS V4 training course

MK: Good list of topics. Emailed some comments. Concerned about time available for hands on. Requires people already have something pre-installed on their laptops.

DH: Certainly too much for ½ day. Would we have 1 full day?

KK: Suggest one day?

GW: Need to ask TK as organizer of meeting who also asked for this to train his coworkers.

AJ: Maybe that’s a designated set of training days, not part of the EPICS meeting.

AJ: Split Java and C++ sections? Or emphasize similarities and do both at once?

GW: Emphasize C++ and mention that Java is similar

AJ: [13] is done, by DH, not TK

GW: New action item on TK: How long? How many rooms, participants, ..?


MD: Pending pull requests from last year. share libs

AJ: Module owners should review their pull requests, discuss, merge

Active Action Items




Target Date



See who can fund dbGroup




Create a release links file (docbuild/<version>/index.html) for previous versions





Write the one license file (using the MIT license in most cases)




Update your module to include copy of that one LICENSE. Update your headers to contain the header text.


wait on 5


On your module pages, remove the current/previous links; replace “Working Draft” with version number of module, which has its own numbering scheme, like 5.0.2 for pvDataCPP. Eg “Version 5.0.2 18/Nov/2015”





Change the C++ bundling to add creation of a tarfile that includes Base 3.15.x





Simplify Literature page and home page to help users find novice oriented documentation.




Usher the patch fix for buffer overflow through to release.





Prepare a list of course contents for ESS EPICS Meeting training, and practicalities