From f73a7c088380796f761171a8bb670564c558dff4 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Mon, 7 Oct 2019 17:35:14 -0700 Subject: [PATCH 1/2] Modified AC logging for paging requirements --- assignment-client/src/AssignmentClient.cpp | 24 +++++++++++++------- assignment-client/src/AssignmentFactory.cpp | 4 +++- libraries/networking/src/LimitedNodeList.cpp | 6 +++-- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/assignment-client/src/AssignmentClient.cpp b/assignment-client/src/AssignmentClient.cpp index a1a2b7c1b5..ce724d7368 100644 --- a/assignment-client/src/AssignmentClient.cpp +++ b/assignment-client/src/AssignmentClient.cpp @@ -82,6 +82,9 @@ AssignmentClient::AssignmentClient(Assignment::Type requestAssignmentType, QStri } _assignmentServerSocket = HifiSockAddr(_assignmentServerHostname, assignmentServerPort, true); + if (_assignmentServerSocket.isNull()) { + qCCritical(assignment_client) << "PAGE: Couldn't resolve domain server address" << _assignmentServerHostname; + } _assignmentServerSocket.setObjectName("AssignmentServer"); nodeList->setAssignmentServerSocket(_assignmentServerSocket); @@ -183,16 +186,21 @@ void AssignmentClient::sendAssignmentRequest() { // we want to check again for the local domain-server port in case the DS has restarted quint16 localAssignmentServerPort; if (nodeList->getLocalServerPortFromSharedMemory(DOMAIN_SERVER_LOCAL_PORT_SMEM_KEY, localAssignmentServerPort)) { - if (localAssignmentServerPort != _assignmentServerSocket.getPort()) { - qCDebug(assignment_client) << "Port for local assignment server read from shared memory is" - << localAssignmentServerPort; + if (localAssignmentServerPort == 0) { + qCWarning(assignment_client) << "ALERT: Server port from shared memory is 0"; + } else { + if (localAssignmentServerPort != _assignmentServerSocket.getPort()) { + qCDebug(assignment_client) << "Port for local assignment server read from shared memory is" + << localAssignmentServerPort; - _assignmentServerSocket.setPort(localAssignmentServerPort); - nodeList->setAssignmentServerSocket(_assignmentServerSocket); + _assignmentServerSocket.setPort(localAssignmentServerPort); + nodeList->setAssignmentServerSocket(_assignmentServerSocket); + } } } else { - qCWarning(assignment_client) << "Failed to read local assignment server port from shared memory" - << "- will send assignment request to previous assignment server socket."; + qCWarning(assignment_client) << "ALERT: Failed to read local assignment server port from shared memory (" + << DOMAIN_SERVER_LOCAL_PORT_SMEM_KEY + << ")- will send assignment request to previous assignment server socket."; } } @@ -250,7 +258,7 @@ void AssignmentClient::handleCreateAssignmentPacket(QSharedPointerstarted() workerThread->start(); } else { - qCWarning(assignment_client) << "Received an assignment that could not be unpacked. Re-requesting."; + qCWarning(assignment_client) << "ALERT: Received an assignment that could not be unpacked. Re-requesting."; } } diff --git a/assignment-client/src/AssignmentFactory.cpp b/assignment-client/src/AssignmentFactory.cpp index 405039d833..ef7da35030 100644 --- a/assignment-client/src/AssignmentFactory.cpp +++ b/assignment-client/src/AssignmentFactory.cpp @@ -24,7 +24,9 @@ ThreadedAssignment* AssignmentFactory::unpackAssignment(ReceivedMessage& message) { quint8 packedType; - message.peekPrimitive(&packedType); + if (message.readPrimitive(&packedType) != sizeof(packedType)) { + return nullptr; + } Assignment::Type unpackedType = (Assignment::Type) packedType; diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp index ecf2218e2f..e1b373db89 100644 --- a/libraries/networking/src/LimitedNodeList.cpp +++ b/libraries/networking/src/LimitedNodeList.cpp @@ -1329,7 +1329,8 @@ void LimitedNodeList::putLocalPortIntoSharedMemory(const QString key, QObject* p qCDebug(networking) << "Wrote local listening port" << localPort << "to shared memory at key" << key; } else { - qWarning() << "ALERT: Failed to create and attach to shared memory to share local port with assignment-client children."; + qWarning() << "ALERT: Failed to create and attach to shared memory to share local port with assignment-client children:" + << sharedPortMem->errorString(); } } @@ -1337,7 +1338,8 @@ void LimitedNodeList::putLocalPortIntoSharedMemory(const QString key, QObject* p bool LimitedNodeList::getLocalServerPortFromSharedMemory(const QString key, quint16& localPort) { QSharedMemory sharedMem(key); if (!sharedMem.attach(QSharedMemory::ReadOnly)) { - qCWarning(networking) << "Could not attach to shared memory at key" << key; + qCWarning(networking) << "Could not attach to shared memory at key" << key + << ":" << sharedMem.errorString(); return false; } else { sharedMem.lock(); From f63360a87a361448b75680155a4662da42168b77 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Tue, 8 Oct 2019 11:01:42 -0700 Subject: [PATCH 2/2] Change read back to peek - guess it was that way for a reason --- assignment-client/src/AssignmentFactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment-client/src/AssignmentFactory.cpp b/assignment-client/src/AssignmentFactory.cpp index ef7da35030..ceab285763 100644 --- a/assignment-client/src/AssignmentFactory.cpp +++ b/assignment-client/src/AssignmentFactory.cpp @@ -24,7 +24,7 @@ ThreadedAssignment* AssignmentFactory::unpackAssignment(ReceivedMessage& message) { quint8 packedType; - if (message.readPrimitive(&packedType) != sizeof(packedType)) { + if (message.peekPrimitive(&packedType) != sizeof(packedType)) { return nullptr; }