Dinux
Dinux

Reputation: 1249

Clarifai gRPC Java client throwing RuntimeException: An error occurred while executing doInBackground()

I am building an Android app to predict objects in an image. I am using the Clarifai gRPC Java client for the purpose. However, I am getting a RuntimeException: An error occurred while executing doInBackground().

My code:

public class ClarifaiTask extends AsyncTask<File, Integer, Boolean> {

    protected Boolean doInBackground(File... images) {
        Security.insertProviderAt(Conscrypt.newProvider(), 1);

        V2Grpc.V2BlockingStub stub = V2Grpc.newBlockingStub(ClarifaiChannel.INSTANCE.getGrpcChannel()).withCallCredentials(new ClarifaiCallCredentials(API_KEY));

        MultiOutputResponse response = stub.postModelOutputs(PostModelOutputsRequest.newBuilder().setModelId(MODEL_ID).addInputs(Input.newBuilder().setData(Data.newBuilder().setImage(Image.newBuilder().setUrl(IMG_URL)))).build());

        if (response.getStatus().getCode() != StatusCode.SUCCESS) {
            throw new RuntimeException("Request failed, status: " + response.getStatus());
        }

        for (Concept c : response.getOutputs(0).getData().getConceptsList()) {
            System.out.println(String.format("%12s: %,.2f", c.getName(), c.getValue()));
        }

        return true;
    }
    protected void onPostExecute(Boolean result) {
        
    }
}

My error:

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: com.package.name, PID: 5221
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$4.done(AsyncTask.java:415)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
        at java.util.concurrent.FutureTask.run(FutureTask.java:269)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
        at java.lang.Thread.run(Thread.java:1012)
     Caused by: java.lang.RuntimeException: Request failed, status: code: FAILURE
    description: "Failure"
    req_id: "dc2dbb8c4460e2b7e25a6bf9304ad582"
    
        at com.package.name.ClarifaiTask.doInBackground(ClarifaiTask.java:65)
        at com.package.name.ClarifaiTask.doInBackground(ClarifaiTask.java:37)
        at android.os.AsyncTask$3.call(AsyncTask.java:394)
        at java.util.concurrent.FutureTask.run(FutureTask.java:264)

Any help would be appreciated.

Upvotes: 1

Views: 68

Answers (0)

Related Questions