Skip to content

[camera] detached create does not call create on the Java side tests are flaky #164132

@stuartmorgan-g

Description

@stuartmorgan-g

These tests have been very flaky, and sometimes requiring a lot of re-runs to get PRs that touch camera (or everything, like the roller PRs) landed.

Example failure:

00:19 +180 -1: /b/s/w/ir/x/w/packages/packages/camera/camera_android_camerax/test/recorder_test.dart: Recorder detached create does not call create on the Java side [E]                               
  PlatformException(channel-error, Unable to establish connection on channel., null, null)
  package:camera_android_camerax/src/camerax_library.g.dart 348:7                         JavaObjectHostApi.dispose
  ===== asynchronous gap ===========================
  dart:async                                                                              _CustomZone.registerUnaryCallback
  package:camera_android_camerax/src/camerax_library.g.dart 346:9                         JavaObjectHostApi.dispose
  package:camera_android_camerax/src/java_object.dart 38:33                               JavaObject._initInstanceManager.<fn>
  package:camera_android_camerax/src/instance_manager.dart 25:29                          new InstanceManager.<fn>
  ===== asynchronous gap ===========================
  dart:core                                                                               new _FinalizerImpl
  package:camera_android_camerax/src/instance_manager.dart 27:18                          new InstanceManager
  package:camera_android_camerax/src/java_object.dart 36:12                               JavaObject._initInstanceManager
  package:camera_android_camerax/src/java_object.dart 30:56                               JavaObject.globalInstanceManager
  package:camera_android_camerax/src/java_object.dart                                     JavaObject.globalInstanceManager
  package:camera_android_camerax/src/java_object.dart 75:57                               new JavaObjectFlutterApiImpl
  package:camera_android_camerax/src/android_camera_camerax_flutter_api_impls.dart 59:37  new AndroidCameraXCameraFlutterApis
  package:camera_android_camerax/src/android_camera_camerax_flutter_api_impls.dart 114:7  AndroidCameraXCameraFlutterApis.instance
  package:camera_android_camerax/src/android_camera_camerax_flutter_api_impls.dart        AndroidCameraXCameraFlutterApis.instance
  package:camera_android_camerax/src/recorder.dart 49:37                                  new Recorder.detached
  test/recorder_test.dart 41:16                                                           main.<fn>.<fn>
  
  This test failed after it had already completed.
  Make sure to use a matching library which informs the test runner
  of pending async work.

In this comment David mentioned that he was able to repro locally by re-running enough times.

I'm going to disable this test in all files for now.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listp: cameraThe camera pluginpackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyteam-ecosystemOwned by Ecosystem teamtriaged-ecosystemTriaged by Ecosystem team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions