skiptools / skiptools/skip

skip android test --apk hangs indefinitely (0% CPU, no output) when a bridged transpiled module is in the package graph

Open
#717 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
3.2k
Forks
106
Avg merge
6d 13h
Merged PRs (30d)
1

Description

Environment
  • Skip CLI 1.9.5 (Homebrew), skip-fuse 1.0.2, skip-bridge 0.x
  • Swift 6.3.3, Swift Android SDK swift-6.3.3-RELEASE_android, NDK r27d
  • Xcode 26.5, macOS 15 / arm64, emulator API 36.1
Symptom

In a package containing a transpiled module with bridging: true (so that native Fuse modules can call it), skip android test --apk hangs: no output, no crash, the process sits at 0.0% CPU indefinitely (killed after 55 minutes in one run). Removing the bridged transpiled module from the graph makes --apk behave normally.

Independent of any third-party dependency — reproduces with a module whose entire API is a function returning a constant String (bridged following the pattern of nomasystems/skip-local-authentication: SkipBridge dependency, #if !SKIP_BRIDGE guards, type name ≠ module name).

Related but distinct: #716 (different failure, same package shape). The practical consequence of this one is that the only way to exercise a Fuse↔Lite bridge on-device is a full skip app launch --android cycle — the test harness cannot cover it.

We can extract a minimal reproduction on request.

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.

Research direction

Start by reproducing skip android test --apk with a minimal package containing a bridged transpiled module, then compare it with the same package without that module. Trace the test harness path where the command stops producing output; done means the APK test completes and can exercise the Fuse-to-Lite bridge.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, swift
Domain
mobile-dev, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.