`bundleIdentifier != nil` runtime crash

Open
#545 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
ios, objective-c

Research direction

Check out the mr/bluepill/bundle.identifier.issue branch and run bazelisk test //bluepill:UI_Tests_Bluepill to reproduce the crash. Compare the Bazel-built rules_ios path with the standard xctestrunner, using the reported runtime output as the starting point. Done means the UI test bundle launches reliably without the bundleIdentifier != nil failure.

Written by the indexing model from the issue text.

Description

bundleIdentifier != nil issue when running rules_ios/Bazel-built ios_ui_test that doesn't occur when using the standard xctestrunner.

In this simplistic example, I was getting it to happen always. But in our real project, this crash was happening most of the time (maybe 9/10 cases) but sometimes the app + UI test bundle would launch.

Reproduction

  1. Checkout https://github.com/mattrobmattrob/rules_swift_testbed/tree/mr/bluepill/bundle.identifier.issue. This is a prebuilt "release" on ~master from this repo.
  2. Use the mr/bluepill/bundle.identifier.issue branch
  3. Run bazelisk test //bluepill:UI_Tests_Bluepill.

Runtime Error

{41232} 20221109.230820 [  INFO  ] (BP-1) Test plan started!
{41232} 20221109.230820 [  INFO  ] (BP-1) Test bundle is connected. Capabilities = <XCTCapabilities: 0x600002b573a0>: {
    "ubiquitous test identifiers" = 1;
}
{41232} 20221109.230820 [  INFO  ] (BP-1) _XCT_didBeginExecutingTestPlan
{41232} 20221109.230820 [  INFO  ] (BP-1) All Tests started.
{41232} 20221109.230820 [  INFO  ] (BP-1) Starting TestSuite All tests
{41232} 20221109.230820 [  INFO  ] (BP-1) Starting TestSuite SimpleTest.xctest
{41232} 20221109.230820 [  INFO  ] (BP-1) Starting TestSuite SimpleUITests
{41232} 20221109.230820 [ FAILED ] (BP-1)   0.002188s SimpleUITests/testPasses()
{41232} 20221109.230820 [  ERROR ] (BP-1) HOW DID WE GET AN ERROR THAT WASN'T PARSED? We received an error in a test case that wasn't started or did not parse properly.
Problem line: XCTestOutputBarrier/tests/ios/ui-test/simple.swift:10: error: -[SimpleTest.SimpleUITests testPasses] : Invalid parameter not satisfying: bundleIdentifier != nil (NSInternalInconsistencyException)
{41232} 20221109.230820 [  INFO  ] (BP-1) _XCT_didFinishExecutingTestPlan
{41232} 20221109.230820 [  INFO  ] (BP-1) All Tests Completed.
{41232} 20221109.230820 [  INFO  ] (BP-1) DTXSocketTransport disconnected
{41232} 20221109.230820 [  INFO  ] (BP-1) DTXConnection disconnected.
{41232} 20221109.230821 [  INFO  ] (BP-1) Finished
Dominant language
Objective-C
Stars
3.2k
Forks
227
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MobileNativeFoundation/bluepill

All issues in MobileNativeFoundation/bluepill

Similar issues

More Objective-C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.