gm icon indicating copy to clipboard operation
gm copied to clipboard

imageMagick fails at socket instance

Open YoungiiJC opened this issue 5 years ago • 0 comments

I'm using the imageMagick subclass of graphicsmagick to alter ~7k png images. The function below gets about 2/3 of the way through and fails (see log).

Seems to be an issue where a socket is failing. How do I debug this?

I'm using "gm": "^1.23.1" on a Mac version 10.15.5.

A thought I have is to use the -limit method, but no dice...

Thanks in advance :)

Here's the code (please excuse the formatting I can't get it to display correctly) :(

`

export default async function changeScreenshotResolution(dimension) { new Promise(() => { try { const screenshots = fs.readdirSync(path.join(__dirname, ../output/screenshots/${dimension}), function(error) {if (error) console.log(error)});

        screenshots.map(screenshot => {
            try {
                let readStream = fs.createReadStream(path.join(__dirname, `../output/screenshots/${dimension}/${screenshot}`));
                let writeStream = fs.createWriteStream(path.join(__dirname, `../output/screenshots/${dimension}1/${screenshot}`));

                im(readStream, screenshot)
                    .units('PixelsPerInch')
                    .density(300,300)
                    .stream()
                    .pipe(writeStream)
                    
                    
                    
            } catch (error) {
                console.log(`Error changing screenshot resolution: ${error}`);
            }
        })
    } catch (error) {
        console.log(`changeScreenshotResolution error: ${error}`);
    }
})

};`

Here's the logs

events.js:292 throw er; // Unhandled 'error' event ^

Error: read ENOTCONN at tryReadStart (net.js:571:20) at Socket._read (net.js:582:5) at Socket.Readable.read (_stream_readable.js:474:10) at Socket.read (net.js:622:39) at new Socket (net.js:374:12) at Object.Socket (net.js:265:41) at createSocket (internal/child_process.js:313:14) at ChildProcess.spawn (internal/child_process.js:436:23) at Object.spawn (child_process.js:548:9) at spawn (/Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/cross-spawn/index.js:17:18) at gm._spawn (/Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/gm/lib/command.js:224:14) at /Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/gm/lib/command.js:140:19 at series (/Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/array-series/index.js:11:36) at gm._preprocess (/Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/gm/lib/command.js:177:5) at gm.stream (/Users/daddy/Dev/scout/project-sunroof-scraping/node_modules/gm/lib/command.js:138:10) at /Users/daddy/Dev/scout/project-sunroof-scraping/modules/changeScreenshotDPI.js:21:26 Emitted 'error' event on Socket instance at: at emitErrorNT (internal/streams/destroy.js:100:8) at emitErrorCloseNT (internal/streams/destroy.js:68:3) at processTicksAndRejections (internal/process/task_queues.js:84:21) { errno: -57, code: 'ENOTCONN', syscall: 'read' } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] enrich: npx babel-node -r dotenv/config modules/index.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] enrich script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /Users/daddy/.npm/_logs/2020-06-25T10_41_49_801Z-debug.log

YoungiiJC avatar Jun 25 '20 10:06 YoungiiJC