-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Errors while removing background on deployed server #106
Comments
Same issue |
Would you be open to share the minimal example as I cannot reproduce it. |
My server is running on digital ocean with the same issue. |
Hi, Could be related to "onnxruntime-node" or WASM and the fact that TensorFlow and the model need a GPU and on server or a remote environment they are not available ? I noticed that in the source, the function: async function createOnnxSession(model, config) {
if (config.debug) {
ort.env.debug = true;
ort.env.logLevel = "verbose";
console.debug("ort.env.wasm:", ort.env.wasm);
}
} on my WSL2 environment actually prints an empty object to the console:
Thanks! |
I have no access to such a machine at the moment, so unfortunately I cannot reproduce the error. |
Thanks for looking into it. For other devs that might encounter this, I used a different package: rembg on replicate and just paid the small out of pocket cost. |
npm ERR! code 1 getting this error on cpnal it's working fine with local so help me out ? |
Hello, i am having the same Issue. I am using the background remover locally without any problems. When i deploy my code to docker i get: munmap_chunk(): invalid pointer Docker version: 27.2.1 Is there a fix for this? Thanks |
getting same issue ... am using the background remover locally without any problems. When i deploy my code to docker i get free(): invalid size. this sucks because the npm package is too big for lambda layer and even when using container it doesn't work. |
I made a simple removeBackground api endpoint with express as a test, and it runs without any problems, with the same node image on docker. So maybe its conflicting with some other package i use in my main project. Anyway, i use this now as a workaround now. Here is the code, if you are interested: import { removeBackground } from "@imgly/background-removal-node";
import express from "express";
import multer from "multer";
import bodyParser from "body-parser";
import fs from "fs/promises";
import path from "path";
const app = express();
const port = 3838;
const apiKey = process.env.REMOVE_BG_API_KEY;
const upload = multer({ dest: 'uploads/' });
app.post('/removeBackground', upload.single('image'), async (req, res) => {
if (!apiKey) {
return res.status(500).send('API key is not set');
}
if (req.body.apiKey !== apiKey) {
return res.status(401).send('Unauthorized');
}
try {
const imagePath = req.file.path;
const outputImagePath = path.join('uploads', `removed-background-${Date.now()}.png`);
const imageBuffer = await fs.readFile(imagePath);
const imageBlob = new Blob([imageBuffer], { type: 'image/png' });
let removedBackground = await removeBackground(imageBlob);
const arrayBuffer = await removedBackground.arrayBuffer();
const removedBackgroundBuffer = Buffer.from(arrayBuffer);
await fs.writeFile(outputImagePath, removedBackgroundBuffer);
res.sendFile(outputImagePath, { root: './' });
await fs.unlink(imagePath);
await fs.unlink(outputImagePath);
} catch (error) {
console.error(error);
res.status(500).send('Error processing image');
}
});
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
}); FROM node:22-bookworm-slim
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3838
CMD ["node", "server.js"] |
When I attempt to remove the background from a file on my server I get the following issue
corrupted size vs. prev_size
OR
free(): invalid size
OR
munmap_chunk(): invalid pointer
Have not been able to identify what triggers which, but feels like it might be an issue with the ML image (I'm using the small one)
Docker host: 20.10.12 linux x86_64
Node version: Node.js v21.6.2
Package version: 1.4.4
The text was updated successfully, but these errors were encountered: