{"action":"created","issue":{"url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/114","repository_url":"https://api.github.com/repos/epics-base/pvAccessCPP","labels_url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/114/comments","events_url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/114/events","html_url":"https://github.com/epics-base/pvAccessCPP/issues/114","id":339965404,"node_id":"MDU6SXNzdWUzMzk5NjU0MDQ=","number":114,"title":"pvput segfaults for bo over ca","user":{"login":"brunoseivam","id":1002241,"node_id":"MDQ6VXNlcjEwMDIyNDE=","avatar_url":"https://avatars1.githubusercontent.com/u/1002241?v=4","gravatar_id":"","url":"https://api.github.com/users/brunoseivam","html_url":"https://github.com/brunoseivam","followers_url":"https://api.github.com/users/brunoseivam/followers","following_url":"https://api.github.com/users/brunoseivam/following{/other_user}","gists_url":"https://api.github.com/users/brunoseivam/gists{/gist_id}","starred_url":"https://api.github.com/users/brunoseivam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brunoseivam/subscriptions","organizations_url":"https://api.github.com/users/brunoseivam/orgs","repos_url":"https://api.github.com/users/brunoseivam/repos","events_url":"https://api.github.com/users/brunoseivam/events{/privacy}","received_events_url":"https://api.github.com/users/brunoseivam/received_events","type":"User","site_admin":false},"labels":[{"id":170963100,"node_id":"MDU6TGFiZWwxNzA5NjMxMDA=","url":"https://api.github.com/repos/epics-base/pvAccessCPP/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"open","locked":false,"assignee":{"login":"anjohnson","id":5453863,"node_id":"MDQ6VXNlcjU0NTM4NjM=","avatar_url":"https://avatars1.githubusercontent.com/u/5453863?v=4","gravatar_id":"","url":"https://api.github.com/users/anjohnson","html_url":"https://github.com/anjohnson","followers_url":"https://api.github.com/users/anjohnson/followers","following_url":"https://api.github.com/users/anjohnson/following{/other_user}","gists_url":"https://api.github.com/users/anjohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/anjohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anjohnson/subscriptions","organizations_url":"https://api.github.com/users/anjohnson/orgs","repos_url":"https://api.github.com/users/anjohnson/repos","events_url":"https://api.github.com/users/anjohnson/events{/privacy}","received_events_url":"https://api.github.com/users/anjohnson/received_events","type":"User","site_admin":false},"assignees":[{"login":"anjohnson","id":5453863,"node_id":"MDQ6VXNlcjU0NTM4NjM=","avatar_url":"https://avatars1.githubusercontent.com/u/5453863?v=4","gravatar_id":"","url":"https://api.github.com/users/anjohnson","html_url":"https://github.com/anjohnson","followers_url":"https://api.github.com/users/anjohnson/followers","following_url":"https://api.github.com/users/anjohnson/following{/other_user}","gists_url":"https://api.github.com/users/anjohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/anjohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anjohnson/subscriptions","organizations_url":"https://api.github.com/users/anjohnson/orgs","repos_url":"https://api.github.com/users/anjohnson/repos","events_url":"https://api.github.com/users/anjohnson/events{/privacy}","received_events_url":"https://api.github.com/users/anjohnson/received_events","type":"User","site_admin":false},{"login":"mrkraimer","id":6115542,"node_id":"MDQ6VXNlcjYxMTU1NDI=","avatar_url":"https://avatars0.githubusercontent.com/u/6115542?v=4","gravatar_id":"","url":"https://api.github.com/users/mrkraimer","html_url":"https://github.com/mrkraimer","followers_url":"https://api.github.com/users/mrkraimer/followers","following_url":"https://api.github.com/users/mrkraimer/following{/other_user}","gists_url":"https://api.github.com/users/mrkraimer/gists{/gist_id}","starred_url":"https://api.github.com/users/mrkraimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrkraimer/subscriptions","organizations_url":"https://api.github.com/users/mrkraimer/orgs","repos_url":"https://api.github.com/users/mrkraimer/repos","events_url":"https://api.github.com/users/mrkraimer/events{/privacy}","received_events_url":"https://api.github.com/users/mrkraimer/received_events","type":"User","site_admin":false}],"milestone":null,"comments":25,"created_at":"2018-07-10T18:51:52Z","updated_at":"2018-07-16T16:33:41Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Maybe it is related to #93 ?\r\n\r\n```\r\n$ cat test.db \r\nrecord(bo, \"TEST\") {\r\n    field(ZNAM, \"Zero\")\r\n    field(ONAM, \"One\")\r\n    field(VAL,  \"0\")\r\n    field(PINI, \"YES\")\r\n}\r\n\r\n$ ~/epics/base/bin/linux-x86_64/softIoc -d test.db \r\nStarting iocInit\r\n############################################################################\r\n## EPICS R7.0.1.2-DEV\r\n## EPICS Base built Jul 10 2018\r\n############################################################################\r\ncas warning: Configured TCP port was unavailable.\r\ncas warning: Using dynamically assigned TCP port 45739,\r\ncas warning: but now two or more servers share the same UDP port.\r\ncas warning: Depending on your IP kernel this server may not be\r\ncas warning: reachable with UDP unicast (a host's IP in EPICS_CA_ADDR_LIST)\r\niocRun: All initialization complete\r\nepics> dbl\r\nTEST\r\nepics> \r\n```\r\n\r\nOn another terminal:\r\n\r\n```\r\n$ ~/epics/base/bin/linux-x86_64/pvput -V\r\npvput v6.0.1-SNAPSHOT\r\n\r\n$ ~/epics/base/bin/linux-x86_64/pvput -p ca TEST Zero 2> /dev/null\r\nOld : TEST                           Zero\r\nfish: “~/epics/base/bin/linux-x86_64/p…” terminated by signal SIGSEGV (Address boundary error)\r\n\r\n$ ~/epics/base/bin/linux-x86_64/pvput -p ca TEST 0 2> /dev/null\r\nOld : TEST                           Zero\r\nfish: “~/epics/base/bin/linux-x86_64/p…” terminated by signal SIGSEGV (Address boundary error)\r\n\r\n$ gdb ~/epics/base/bin/linux-x86_64/pvput\r\nGNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1\r\nCopyright (C) 2016 Free Software Foundation, Inc.\r\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\r\nThis is free software: you are free to change and redistribute it.\r\nThere is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\r\nand \"show warranty\" for details.\r\nThis GDB was configured as \"x86_64-linux-gnu\".\r\nType \"show configuration\" for configuration details.\r\nFor bug reporting instructions, please see:\r\n<http://www.gnu.org/software/gdb/bugs/>.\r\nFind the GDB manual and other documentation resources online at:\r\n<http://www.gnu.org/software/gdb/documentation/>.\r\nFor help, type \"help\".\r\nType \"apropos word\" to search for commands related to \"word\"...\r\nReading symbols from /home/martins/epics/base/bin/linux-x86_64/pvput...done.\r\n(gdb) r -p ca TEST Zero\r\nStarting program: /home/martins/epics/epics-base/bin/linux-x86_64/pvput -p ca TEST Zero\r\n[Thread debugging using libthread_db enabled]\r\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\r\n[New Thread 0x7ffff587e700 (LWP 25202)]\r\n[Thread 0x7ffff587e700 (LWP 25202) exited]\r\n[New Thread 0x7ffff483d700 (LWP 25203)]\r\n[New Thread 0x7ffff7fca700 (LWP 25204)]\r\n[New Thread 0x7ffff463c700 (LWP 25205)]\r\n[New Thread 0x7ffff453b700 (LWP 25206)]\r\n[New Thread 0x7ffff4137700 (LWP 25207)]\r\nOld : TEST                           Zero\r\n\r\nThread 6 \"CAC-TCP-recv\" received signal SIGSEGV, Segmentation fault.\r\n[Switching to Thread 0x7ffff453b700 (LWP 25206)]\r\n0x0000000000000000 in ?? ()\r\n(gdb) bt\r\n#0  0x0000000000000000 in ?? ()\r\n#1  0x00007ffff7bb0fe2 in epics::pvData::detail::PVVectorStorage<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, epics::pvData::PVScalarArray>::reuse (this=0x65b840)\r\n    at /home/martins/epics/epics-base/include/pv/pvData.h:1125\r\n#2  epics::pvAccess::ca::ca_get_labels_handler (args=...) at ../caChannel.cpp:103\r\n#3  0x00007ffff666ed0a in getCallback::completion (this=<optimized out>, guard=..., type=24, \r\n    count=1, pData=0x7fffe800a498) at ../getCallback.cpp:62\r\n#4  0x00007ffff6668322 in netReadNotifyIO::completion (this=0x7fffe400c818, guard=..., \r\n    recycle=..., type=24, count=1, pData=0x7fffe800a498) at ../netReadNotifyIO.cpp:69\r\n#5  0x00007ffff6647cb2 in cac::readNotifyRespAction (this=0x636850, iiu=..., hdr=..., \r\n    pMsgBdy=0x7fffe800a498) at ../cac.cpp:905\r\n#6  0x00007ffff6664c0e in tcpiiu::processIncoming (this=0x7fffe80008c0, currentTime=..., mgr=...)\r\n    at ../tcpiiu.cpp:1264\r\n#7  0x00007ffff6666ed9 in tcpRecvThread::run (this=0x7fffe80009a8) at ../tcpiiu.cpp:519\r\n#8  0x00007ffff7228ca9 in epicsThreadCallEntryPoint (pPvt=0x7fffe80009b0)\r\n    at ../../src/osi/epicsThread.cpp:83\r\n#9  0x00007ffff722f65c in start_routine (arg=0x7fffe8009ea0)\r\n    at ../../src/osi/os/posix/osdThread.c:403\r\n#10 0x00007ffff640a6ba in start_thread (arg=0x7ffff453b700) at pthread_create.c:333\r\n#11 0x00007ffff699241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109\r\n(gdb) up 2\r\n#2  epics::pvAccess::ca::ca_get_labels_handler (args=...) at ../caChannel.cpp:103\r\n103\t            PVStringArray::svector labels(labelsArray->reuse());\r\n(gdb) p labelsArray\r\n$1 = (epics::pvData::PVStringArray *) 0x65b840\r\n(gdb) p *labelsArray\r\n$2 = {<epics::pvData::detail::PVVectorStorage<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, epics::pvData::PVScalarArray>> = {<epics::pvData::PVScalarArray> = {<epics::pvData::PVArray> = {<epics::pvData::PVField> = {<epics::pvData::Serializable> = <invalid address>, <std::tr1::enable_shared_from_this<epics::pvData::PVField>> = {\r\n            _M_weak_this = std::tr1::weak_ptr (count 1, weak 1) 0x7ffff6c4fb78 <main_arena+88>}, \r\n          static num_instances = 14, fieldName = \"choices\", parent = 0x65b770, \r\n          field = std::tr1::shared_ptr (count 7, weak 1) 0x62f9a0, fieldOffset = 3, \r\n          nextFieldOffset = 4, immutable = false, \r\n          postHandler = std::tr1::shared_ptr (empty) 0x0}, <epics::pvData::SerializableArray> = {<epics::pvData::Serializable> = {_vptr.Serializable = 0x65b420}, <No data fields>}, \r\n        capacityMutable = true}, <No data fields>}, <No data fields>}, \r\n  static typeCode = epics::pvData::pvString, \r\n  value = {<epics::pvData::detail::shared_vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>> = {m_sdata = std::tr1::shared_ptr (empty) 0x0, \r\n      m_offset = 0, m_count = 0, m_total = 0}, <No data fields>}}\r\n(gdb) p labelsArray->value\r\n$3 = {<epics::pvData::detail::shared_vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>> = {m_sdata = std::tr1::shared_ptr (empty) 0x0, m_offset = 0, \r\n    m_count = 0, m_total = 0}, <No data fields>}\r\n(gdb) p labelsArray->value.m_sdata\r\n$4 = std::tr1::shared_ptr (empty) 0x0\r\n(gdb) \r\n\r\n```\r\n\r\n\r\n\r\n\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/comments/405307403","html_url":"https://github.com/epics-base/pvAccessCPP/issues/114#issuecomment-405307403","issue_url":"https://api.github.com/repos/epics-base/pvAccessCPP/issues/114","id":405307403,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNTMwNzQwMw==","user":{"login":"brunoseivam","id":1002241,"node_id":"MDQ6VXNlcjEwMDIyNDE=","avatar_url":"https://avatars1.githubusercontent.com/u/1002241?v=4","gravatar_id":"","url":"https://api.github.com/users/brunoseivam","html_url":"https://github.com/brunoseivam","followers_url":"https://api.github.com/users/brunoseivam/followers","following_url":"https://api.github.com/users/brunoseivam/following{/other_user}","gists_url":"https://api.github.com/users/brunoseivam/gists{/gist_id}","starred_url":"https://api.github.com/users/brunoseivam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brunoseivam/subscriptions","organizations_url":"https://api.github.com/users/brunoseivam/orgs","repos_url":"https://api.github.com/users/brunoseivam/repos","events_url":"https://api.github.com/users/brunoseivam/events{/privacy}","received_events_url":"https://api.github.com/users/brunoseivam/received_events","type":"User","site_admin":false},"created_at":"2018-07-16T16:33:41Z","updated_at":"2018-07-16T16:33:41Z","author_association":"CONTRIBUTOR","body":"Hi Marty,\r\n\r\nYour changes seem to have worked here, thanks!\r\n\r\nHowever, on another note, when I issue a PutCallback the`bitset` argument seems to be ignored somehow, so I get the `Provided put value with wrong type` message.\r\n\r\nI will put together some code that triggers it. I can open a separate issue if that's more appropriate."}}
{"actor":{"display_login":"brunoseivam"}}