Hello, I’m trying to debug an C++ code that made fail my PLC, but when i run Debug, all the time I get a dissambly error, from the same addres. Debug COnsole show this: Thread 76 “RcfFastCgiServe” received signal SIGPIPE, Broken pipe.
0xb6c68016 in ?? () from target:/lib/libpthread.so.0 I press play, and again get this. How i can debug debug my code? Thank you.
First Lines of debug console.
Debug_Console.pdf
Hi minondo, hmm, this messages is at least unknown for me. We’ve had indeed a problem with FW 2020.0 LTS, but with FW 2020.3 I were able to use the remote debugging following the steps in the tutorial. This tutorial follows also the steps in the article “remote debugging with GDB”. Hope this helps, Frank
Thank you, it solves by self… I debug my program and works fine on 2020.0, but on running mode crash PLC. I will try to update and see what happens. I have anthoer Issue since I have the PLC, it disconect alot of times. I see that on log. 04.06.20 11:10:38.851 Arp.Services.Ehmi.EhmiComponent ERROR - 2453082816 Cannot serve ipAddress=192.168.255.250, httpAuthorization=Bearer 462a725c8118f043 Any ideas?
Hello, is it possible that you still have the Watchdogs in your project enabled?
If debugging with active watchdogs the PLC will stop.
Can you provide the log messages of the PLC crash you mentioned?
The Disconnect message you showed is of the EHMI. What client is accessing the PLCs HMI?
How often does it disconnect? kind regards,
Oliver
Hello , Oliver. +is it possible that you still have the Watchdogs in your project enabled? Yes, it’s possible that the first few times the watchdog was inadvertently activated. But the failure, also occurred before the Debug, with a release version of the program, but I do not remember what day I did those tests to search the log. The Disconnect message you showed is of the EHMI. What client is accessing the PLCs HMI? The same computer that runs PlcNext Enginner and Eclipse, on Firefox Explorer whatching HMI.
How often does it disconnect? Now, i am testing 2020.3, but with 2020.0 and 2019.X, on PC conected to enterprise network it disconected about one time by minute, very often after upload an project. On a PC out of network with only PLCnext Engginer, i can run debug on PLCnext Engginer, about five-ten minutes, but when i put on it eclipse starts to made the same, this on edge explorer for EHMI. Can you provide the log messages of the PLC crash you mentioned? Yes. Can I send you the whole log? Could you check it and see if you see any mistakes? I found this errors on log.
02.06.20 10:37:33.706 Arp.Plc.Esm.Internal.Tasks.TaskBase ERROR - Exception in task ‘task1’ occured: Exception of type ‘Arp::System::Commons::Plc::PlcException’ was thrown
Exceeding of the watchdog time itself detected. (watchdog time 100000us / execution time 3175757822us)
at: Arp::Plc::Esm::Internal::Tasks::TaskBase::ExecuteTask()
at: Arp::Plc::Esm::Internal::Tasks::TaskBase::Execute()
at: Arp::Plc::Esm::Internal::Tasks::CyclicTask::SpecializedRun()
at: Arp::Plc::Esm::Internal::Tasks::TaskBase::ThreadRun(void*)
at: Arp::System::Commons::Threading:
:RunThread(Arp::System::Commons::Threading::ThreadBinaryCompatibilityExtensions*)
at: Arp::System::Commons::Threading:
:RunInternal(void*)
at: Arp::System::Ve::Internal::Linux::ThreadService::RunInternal(void*) 02.06.20 10:37:33.773 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occured: stopping Plc asynchronously. 03.06.20 08:26:19.309 Arp.Services.Ehmi.EhmiComponent ERROR - 2461479616 CloseSocket shutdown(s, SHUT_RDWR) failure, sock=0x2f, err=107
03.06.20 08:27:41.032 Arp.Plc.Esm.Internal.Tasks.TaskBase ERROR - Signal ‘SIGSEGV’ occured in task ‘task1’
03.06.20 08:27:41.035 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occured: stopping Plc asynchronously. 04.06.20 10:44:53.182 Arp.Services.Ehmi.EhmiComponent ERROR - 2453484224 CloseSocket shutdown(s, SHUT_RDWR) failure, sock=0x30, err=107
04.06.20 10:44:53.183 Arp.Plc.Esm.Internal.Tasks.TaskBase ERROR - Signal ‘SIGSEGV’ occured in task ‘task1’
04.06.20 10:44:53.190 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occured: stopping Plc asynchronously.
04.06.20 10:44:53.190 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occurs while firering plc Stopping event: Singleton instance of type ‘Arp::AppDomain’ was not created yet! (Arp::Exception)
04.06.20 10:44:53.194 Arp.Services.Ehmi.EhmiComponent FATAL - 2453484224 Stub Unhandled exception. Unknown.
04.06.20 10:44:53.266 Arp.System.Commons.Chrono.Timer ERROR - Exception occurs in timer ‘timer_StoreReta’: Singleton instance of type ‘Arp::AppDomain’ was not created yet! (Arp::Exception)
04.06.20 10:44:53.268 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occurs while stopping plc component ‘Arp.Plc.Retain’: Singleton instance of type ‘Arp::AppDomain’ was not created yet! (Arp::Exception)
04.06.20 10:44:53.290 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2973758144 Enter StopPlc 04.06.20 12:01:25.489 Arp.Io.Axioline.Internal.System INFO - sleep mode
04.06.20 12:01:25.493 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Enter SetupPlc. isChanging=false, startKind=Warm
04.06.20 12:01:25.493 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 OnPlcLoaded PlcLoaded=false
04.06.20 12:01:25.494 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 ESDK 0xffff, AddAssemblies, toInstanceID=110, toSize=256, otInstanceID=100, otSize=256
04.06.20 12:01:25.494 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 LogStatistics cycle=25/62, active=0/19, esdk=0/19, gds=0/0
04.06.20 12:01:25.494 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Exit SetupPlc. Elapsed=1
04.06.20 12:01:25.593 Arp.Plc.Domain.Internal.PlcManager ERROR - Exception occurs while setting up plc component ‘Arp.Plc.Gds’: Exception of type ‘Arp::System::Commons::InvalidOperationException’ was thrown
Could not get DataInfo of port: Arp.Plc.Eclr/NewProgram1.HM_Iniciar_TH6D
at: /usr/lib/libArp.Plc.Gds.so(+0x3f95e0) [0xac76e5e0]
at: Arp::Plc::Gds::Internal::GdsMetaManager::GetPortInfo(Arp::BasicString > const&, Arp::Plc::Commons::Meta::DataInfo&) const
at: Arp::Plc::Gds::Internal::Task::TaskBufferInfos::AddProgramPort(Arp::BasicString > const&, Arp::Plc::Gds::Internal::GdsMetaManager&, Arp::Plc::Gds::Internal::Task::TaskBufferInfo&)
at: Arp::Plc::Gds::Internal::Task::TaskBufferInfos::AssignTaskStartPortKind(Arp::BasicString > const&, Arp::BasicString > const&, Arp::BasicString > const&, Arp::Plc::Gds::Internal::GdsMetaManager&)
at: Arp::Plc::Gds::Internal::Task::TaskBufferInfos::AssignPortKinds(Arp::Plc::Gds::Internal::Config::GdsConfiguration const&, Arp::Plc::Gds::Internal::GdsMetaManager&)
at: Arp::Plc::Gds::Internal::Task::TaskBufferInfos::CreateTaskBufferInfos(bool)
at: Arp::Plc::Gds::Internal::GdsDataBuilder::CreateTasksData(std::shared_ptr&, Arp::Plc::Gds::Internal::GdsContext&)
at: Arp::Plc::Gds::Internal::GdsDomain::Setup()
at: Arp::Plc::Gds::GdsComponent::SetupPlc(bool, Arp::Plc::Commons::Domain::PlcStartKind)
at: Arp::Plc::Domain::Internal::PlcComponentInfo::SetupPlc(bool, Arp::Plc::Commons::Domain::PlcStartKind)
at: Arp::Plc::Domain::Internal::PlcManager::SetupPlcComponents(bool, Arp::Plc::Commons::Domain::PlcStartKind)
at: Arp::Plc::Domain::Internal::PlcManager::SetupPlcInternal(Arp::Plc::Commons::Domain::PlcStartKind)
at: Arp::Plc::Domain::PlcManagerComponent::SetupConfig()
at: Arp::System::Acf::Internal::Pm::ProcessManager::SetupComponentConfig(Arp::BasicString > const&)
at: Arp::System::Acf::Services::Internal::ProcessManagerServiceImpl::SetupComponentConfig(Arp::System::Rsc::Services::RscString<512> const&)
at: Arp::System::Acf::Internal::Sm::ComponentsController::SetupComponentConfig(Arp::System::Acf::Internal::Sm::Data::ComponentExecutionData&)
at: Arp::System::Acf::Internal::Sm::ComponentsController::SetupComponentsConfig()
at: Arp::System::Acf::Internal::Sm::SystemManager::SetupSystem()
at: Arp::System::Acf::Internal::MainApplicationBase::SetupInternal()
at: Arp::System::Acf::Internal::ApplicationBase::Setup(Arp::System::Commons::Diagnostics::Logging::LogLevel, char const*)
at: Arp::System::Acf::Internal::ApplicationBase::Main(int, char**, Arp::System::Commons::Diagnostics::Logging::LogLevel)
at: Arp.System.Application(+0x1c748) [0x464748]
at: /lib/libc.so.6(__libc_start_main+0x97) [0xb6a38a24] 04.06.20 12:01:25.615 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Enter ResetPlc. isChanging=false
04.06.20 12:01:25.615 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 OnPlcUnloaded PlcLoaded=true
04.06.20 12:01:25.615 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 ESDK 0xffff, Enter RemoveAllAssemblies
04.06.20 12:01:25.615 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 ESDK 0xffff, Exit RemoveAllAssemblies
04.06.20 12:01:25.616 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Exit ResetPlc. Elapsed=1
04.06.20 12:01:26.042 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Enter UnloadPlc. isChanging=false
04.06.20 12:01:26.042 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 OnPlcUnloaded PlcLoaded=false
04.06.20 12:01:26.042 Arp.Io.EthernetIP.EthernetIPComponent INFO - 2972709568 Exit UnloadPlc. Elapsed=0
04.06.20 12:01:26.601 Arp.Plc.Domain.Internal.PlcManager ERROR - Reverted all yet loaded components.
04.06.20 12:01:26.604 Arp.Services.Ehmi.EhmiComponent INFO - 3069847168 EhmiComponent: OnPlcUnloaded, onError=true
04.06.20 12:01:26.605 Arp.Services.Ehmi.EhmiComponent INFO - 3069847168 EhmiComponent: LoadConfig
04.06.20 12:01:26.605 Arp.Services.Ehmi.EhmiComponent INFO - 3069847168 EhmiComponent: SetupConfig
04.06.20 12:01:27.003 Arp.Services.ProfiCloud.Internal.ProficloudTSDAdapter INFO - Could not read GDS metrics file /opt/plcnext/projects/ProfiCloud/metrics.json.
04.06.20 12:01:27.016 Arp.System.Watchdog.Internal.SystemWatchdogRebootCounter INFO - last reboot caused by hardware watchdog
04.06.20 12:01:27.068 Arp.Device.Interface.Internal.DeviceStatus INFO - CheckHwTask running
04.06.20 12:01:27.069 Arp.Device.Interface.Internal.DeviceStatus INFO - Alloc memory for 2 ports
04.06.20 12:01:27.074 Arp.System.Commons.Threading.Thread ERROR - Exception occurs in thread DI.CheckHwTask: Exception of type ‘Arp::System::Commons::ArgumentException’ was thrown
Invalid parameter value: ‘value’ = ‘1’: The supplied value is not a enumerated value of Arp::System::NmPayload::Device::EthernetLinkState
at: /usr/lib//libArp.Device.HmiLed.so(+0x27df4) [0xb2794df4]
at: Arp::System::NmPayload::Device::EthernetLinkStatePayload::EthernetLinkStatePayload(unsigned int, unsigned int, Arp::System::NmPayload::Device::EthernetLinkState)
at: Arp::Device::Interface::Internal::DeviceStatusNotifications::SendEthernetLinkStatusNotification(unsigned int, unsigned int, unsigned char)
at: Arp::Device::Interface::Internal::DeviceStatus::CheckLinkState(unsigned int, unsigned int, unsigned char*)
at: Arp::Device::Interface::Internal::DeviceStatus::CheckHwTask(void*)
at: Arp::System::Commons::Threading:
:RunThread(Arp::System::Commons::Threading::ThreadBinaryCompatibilityExtensions*)
at: Arp::System::Commons::Threading:
:RunInternal(void*)
at: Arp::System::Ve::Internal::Linux::ThreadService::RunInternal(void*)
I test 2020.3, with a simple Analog read task that i need to made and 0 problems never disconected using ehmi. When implemented C++, i get and warning about length of name and path, so i change workspace to C:/Workspace, and reduce the name of C++ Project. When i download it to PLC it Crash but in a diferent way, than previusly, now it is on fail all the time, and need some reboots to start again… My app have and a if that checks one signal if true, try to open tcp socket, and if its open it have a while until signal was true, i first stages, when i want to do debug it crash when i put the signal to true. But i debug it and works fine without crash, and now, it is crashing when dowloading project. I will check previus advice, and upload log file. Thank you Oliver for your support.
Cant upload Log file as jpg…