Aktuelles Nightly - Fehlermeldung in Funktion readClient in RpcServer.cpp?


#1

Hallo,

habe heute auf das aktuelle Nightly Version 0.8.0-2398 unter Raspbian Stretch upgedatet und jetzt erscheint in den Logfiles bei jedem Zugriff auf den RPC-Server folgende Fehlermeldung:

12/05/18 12:00:02.440 RPC Server (Port 2001): Error in file RPC/RpcServer.cpp line 1696 in function void Homegear::Rpc::RpcServer::readClient(std::shared_ptr<Homegear::Rpc::RpcServer::Client>): basic_string::_M_create
12/05/18 12:00:02.479 RPC Server (Port 2001): Error in file RPC/RpcServer.cpp line 1696 in function void Homegear::Rpc::RpcServer::readClient(std::shared_ptr<Homegear::Rpc::RpcServer::Client>): basic_string::_M_create
12/05/18 12:00:02.532 RPC Server (Port 2001): Error in file RPC/RpcServer.cpp line 1696 in function void Homegear::Rpc::RpcServer::readClient(std::shared_ptr<Homegear::Rpc::RpcServer::Client>): basic_string::_M_create
12/05/18 12:00:16.068 RPC Server (Port 2001): Error in file RPC/RpcServer.cpp line 1696 in function void Homegear::Rpc::RpcServer::readClient(std::shared_ptr<Homegear::Rpc::RpcServer::Client>): basic_string::_M_create
12/05/18 12:00:16.104 RPC Server (Port 2001): Error in file RPC/RpcServer.cpp line 1696 in function void Homegear::Rpc::RpcServer::readClient(std::shared_ptr<Homegear::Rpc::RpcServer::Client>): basic_string::_M_create

Hat dazu jemand eine Idee ? Vielen Dank.

Viele Grüße

FiveEights


#2

Hallo @FiveEights,

es hat sich tatsächlich im RPC-Server etwas verändert. Und zwar konnten vorher bei gleichzeitigem Empfang von zwei HTTP-Paketen oder zwei WebSocket-Paketen (bzw. zwei Paketen im Puffer) nicht beide verarbeitet werden. In dem Zuge musste ein bisschen etwas umgestellt werden. Über welches Protokoll bzw. mit welcher Software greifst du auf den RPC-Server zu? Dann kann ich den Fehler hier nachstellen und direkt lösen.

Viele Grüße

Sathya


#3

Hallo,

vielen Dank für die schnelle Rückmeldung !
Ich greife über PHP von einem weiteren Raspi als Client auf den RPC-Server zu.

Ich habe jetzt noch nicht umfassend getestet, aber nach meiner Einschätzung tritt dass Issue immer dann auf, wenn mehrere Anfragen an den Server unmittelbar hintereinander geschickt werden.

Hier ein einfaches PHP Skript als Beispiel:

#!/usr/bin/php
<?php
 require_once("/home/pi/php/homegear_rpc_client.php");
 $host = "Homegear-Server";
 $Client = new \XMLRPC\Client($host, 2001, false);

 $status=$Client->send("getValue",array(3,1,"STATE"));
 $status=$Client->send("getValue",array(4,1,"STATE"));
?>

Ich wollte Dir auch ein Logfile mit einem höheren Debug Level liefern, aber das enthält auch nicht mehr Informationen als die bereits genannte Fehlermeldung.

Bitte melde Dich einfach, wenn Du noch mehr Infos brauchst.

Viele Grüße

FiveEights