Catch and log unhandled exceptions stemming from closed file descriptor (#596)

This commit is contained in:
David Hadka 2021-05-27 10:46:35 -05:00 committed by GitHub
parent cc2d767a72
commit c64c572235
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 404 additions and 395 deletions

4
dist/save/index.js vendored

@ -47154,6 +47154,10 @@ const cache = __importStar(__webpack_require__(692));
const core = __importStar(__webpack_require__(470));
const constants_1 = __webpack_require__(196);
const utils = __importStar(__webpack_require__(443));
// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in
// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
// throw an uncaught exception. Instead of failing this action, just warn.
process.on("uncaughtException", e => utils.logWarning(e.message));
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {

2
package-lock.json generated

@ -1,6 +1,6 @@
{
"name": "cache",
"version": "2.1.5",
"version": "2.1.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

@ -1,6 +1,6 @@
{
"name": "cache",
"version": "2.1.5",
"version": "2.1.6",
"private": true,
"description": "Cache dependencies and build outputs",
"main": "dist/restore/index.js",

@ -4,6 +4,11 @@ import * as core from "@actions/core";
import { Events, Inputs, State } from "./constants";
import * as utils from "./utils/actionUtils";
// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in
// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
// throw an uncaught exception. Instead of failing this action, just warn.
process.on("uncaughtException", e => utils.logWarning(e.message));
async function run(): Promise<void> {
try {
if (utils.isGhes()) {