Closed Bug 1910926 Opened 1 year ago Closed 1 year ago

Errors don't bubble up

Categories

(Core :: Machine Learning: General, defect, P1)

Firefox 130
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox130 --- affected

People

(Reporter: tarek, Assigned: tarek)

Details

When a model fails to download because of the quota, the error is not bubbled up so the await createEngine() spins forever

Also: verify that all calls are wraped like that

Assignee: nobody → tziade

I can't reproduce the issue. I set a very low max value manually in ModelHub and then run the current code:

async function infere() {
  
  try {
    const { createEngine } = ChromeUtils.importESModule("chrome://global/content/ml/EngineProcess.sys.mjs");
    const engine = await createEngine({taskName: "moz-image-to-text"  });
    const request = {url: "https://huggingface.co/datasets/mishig/sample_images/resolve/main/football-match.jpg"};
    const res = await engine.run(request);
  console.log(res);
 } catch (e) {
    console.log("Got error");
   console.log(e.message);
 console.log(e.stack);
 }
}

await infere();

The error is correctly bubbled up and Got error gets displayed along with the message and the stack

Got error debugger eval code:16:15
Error: Failed to fetch the model file: https://model-hub.mozilla.org/mozilla/distilvit/v0.1/config.json?download=true debugger eval code:17:15
postMessage@resource://gre/modules/PromiseWorker.sys.mjs:386:17
async*post@resource://gre/modules/PromiseWorker.sys.mjs:425:17
run@resource://gre/actors/MLEngineChild.sys.mjs:509:25
#setupMessageHandler/port.onmessage@resource://gre/actors/MLEngineChild.sys.mjs:362:38
async*#setupMessageHandler@resource://gre/actors/MLEngineChild.sys.mjs:307:5
EngineDispatcher@resource://gre/actors/MLEngineChild.sys.mjs:262:30
receiveMessage@resource://gre/actors/MLEngineChild.sys.mjs:102:11
JSActor query*#setupPortCommunication@resource://gre/actors/MLEngineParent.sys.mjs:507:25
MLEngine@resource://gre/actors/MLEngineParent.sys.mjs:443:33
getEngine@resource://gre/actors/MLEngineParent.sys.mjs:128:22
createEngine@chrome://global/content/ml/EngineProcess.sys.mjs:475:23
async*infere@debugger eval code:7:28
@debugger eval code:21:10
@debugger eval code:22:3
getEvalResult@resource://devtools/server/actors/webconsole/eval-with-debugger.js:306:26
evalWithDebugger@resource://devtools/server/actors/webconsole/eval-with-debugger.js:218:31
evaluateJS@resource://devtools/server/actors/webconsole.js:953:18
evaluateJSAsync/<@resource://devtools/server/actors/webconsole.js:846:35
exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:103:22
debugger eval code:18:15

It was an error in the pdfjs code:
https://searchfox.org/mozilla-central/rev/669fac9888b173c02baa4c036e980c0c204dfe02/toolkit/components/pdfjs/content/PdfjsParent.sys.mjs#145
we must await the call to run in order to let the exception handler making is job.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.