From b841125b19b894232d91d71612b9911c08fd2442 Mon Sep 17 00:00:00 2001 From: Roxanne Skelly Date: Tue, 2 Apr 2019 16:42:09 -0700 Subject: [PATCH 1/4] Case 19858 - crashpad_handler is duplicated outside of the Interface/Sandbox applications on MacOS --- cmake/macros/AddCrashpad.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/cmake/macros/AddCrashpad.cmake b/cmake/macros/AddCrashpad.cmake index 113ab53aae..c197ec02ab 100644 --- a/cmake/macros/AddCrashpad.cmake +++ b/cmake/macros/AddCrashpad.cmake @@ -48,11 +48,6 @@ macro(add_crashpad) target_link_libraries(${TARGET_NAME} "-lbsm") endif() - add_custom_command( - TARGET ${TARGET_NAME} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CRASHPAD_HANDLER_EXE_PATH} "$/" - ) install( PROGRAMS ${CRASHPAD_HANDLER_EXE_PATH} DESTINATION ${INTERFACE_INSTALL_DIR} From 80683a7b7a0cd381645d0df9cd0e6e2ea682f810 Mon Sep 17 00:00:00 2001 From: Roxanne Skelly Date: Tue, 2 Apr 2019 17:35:09 -0700 Subject: [PATCH 2/4] Crashpad fix 2nd try --- cmake/macros/AddCrashpad.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/macros/AddCrashpad.cmake b/cmake/macros/AddCrashpad.cmake index c197ec02ab..bc070e057b 100644 --- a/cmake/macros/AddCrashpad.cmake +++ b/cmake/macros/AddCrashpad.cmake @@ -48,10 +48,10 @@ macro(add_crashpad) target_link_libraries(${TARGET_NAME} "-lbsm") endif() - install( - PROGRAMS ${CRASHPAD_HANDLER_EXE_PATH} - DESTINATION ${INTERFACE_INSTALL_DIR} - COMPONENT ${CLIENT_COMPONENT} + add_custom_command( + TARGET ${TARGET_NAME} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CRASHPAD_HANDLER_EXE_PATH} "$/" ) endif () endmacro() From df0996cdc9e885e6b9d54a145c918d469339e0be Mon Sep 17 00:00:00 2001 From: Roxanne Skelly Date: Wed, 3 Apr 2019 10:17:12 -0700 Subject: [PATCH 3/4] Temporary crashpad debugging --- assignment-client/src/octree/OctreeServer.cpp | 2 +- domain-server/src/DomainServer.cpp | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index 477d3dd612..df9d444b10 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -289,7 +289,7 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url #ifdef FORCE_CRASH if (connection->requestOperation() == QNetworkAccessManager::GetOperation - && path == "/force_crash") { + && url.path() == "/force_crash") { qDebug() << "About to force a crash!"; diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 5f82700e9c..3e04b63748 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -2028,6 +2028,22 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url } if (connection->requestOperation() == QNetworkAccessManager::GetOperation) { +#define FORCE_CRASH TRUE +#ifdef FORCE_CRASH + if (url.path() == "/force_crash") { + qDebug() << "About to force a crash!"; + + int foo; + int* forceCrash = &foo; + + QString responseString("forcing a crash..."); + connection->respond(HTTPConnection::StatusCode200, qPrintable(responseString)); + + delete[] forceCrash; + + return true; + } +#endif if (url.path() == "/assignments.json") { // user is asking for json list of assignments @@ -2203,6 +2219,7 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url } } } else if (connection->requestOperation() == QNetworkAccessManager::PostOperation) { + if (url.path() == URI_ASSIGNMENT) { // this is a script upload - ask the HTTPConnection to parse the form data QList formData = connection->parseFormData(); From 1e4398c950470bde52c8197d756c34c7420ab441 Mon Sep 17 00:00:00 2001 From: Roxanne Skelly Date: Wed, 3 Apr 2019 11:31:35 -0700 Subject: [PATCH 4/4] Revert "Temporary crashpad debugging" This reverts commit df0996cdc9e885e6b9d54a145c918d469339e0be. --- assignment-client/src/octree/OctreeServer.cpp | 2 +- domain-server/src/DomainServer.cpp | 17 ----------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index df9d444b10..477d3dd612 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -289,7 +289,7 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url #ifdef FORCE_CRASH if (connection->requestOperation() == QNetworkAccessManager::GetOperation - && url.path() == "/force_crash") { + && path == "/force_crash") { qDebug() << "About to force a crash!"; diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 3e04b63748..5f82700e9c 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -2028,22 +2028,6 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url } if (connection->requestOperation() == QNetworkAccessManager::GetOperation) { -#define FORCE_CRASH TRUE -#ifdef FORCE_CRASH - if (url.path() == "/force_crash") { - qDebug() << "About to force a crash!"; - - int foo; - int* forceCrash = &foo; - - QString responseString("forcing a crash..."); - connection->respond(HTTPConnection::StatusCode200, qPrintable(responseString)); - - delete[] forceCrash; - - return true; - } -#endif if (url.path() == "/assignments.json") { // user is asking for json list of assignments @@ -2219,7 +2203,6 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url } } } else if (connection->requestOperation() == QNetworkAccessManager::PostOperation) { - if (url.path() == URI_ASSIGNMENT) { // this is a script upload - ask the HTTPConnection to parse the form data QList formData = connection->parseFormData();