Skip to content

Bus error on plugin load | xcode 26.4.1 / AppleClang clang-2100.0.123.102 #2

@TheRouletteBoi

Description

@TheRouletteBoi

Environment

  • Obscura release: obscura-llvm19.1.5-darwin-universal-release
  • Xcode: 26.4.1
  • AppleClang: Apple clang version 21.0.0 (clang-2100.0.123.102)
  • Target: arm64-apple-darwin25.4.0
  • macOS: Tahoe (darwin 26.4.1)

Problem

The plugin crashes with a bus error immediately on load. No obfuscation passes run.

Reproduce:

clang++ \
  -fpass-plugin=/path/to/obscura-llvm19.1.5-darwin-universal-release/lib/libObscura.dylib \
  -I/path/to/obscura-llvm19.1.5-darwin-universal-release/include \
  -include /path/to/obscura-llvm19.1.5-darwin-universal-release/include/config.h \
  -DENABLE_BCF -DBCF_PROB=100 \
  -O1 -std=c++23 \
  test.cpp -c -o test.o

Error output

clang++: error: unable to execute command: Bus error: 10
clang++: error: clang frontend command failed due to signal (use -v to see invocation)

DYLD confirmation

Running with DYLD_PRINT_LIBRARIES=1 confirms libObscura.dylib never appears in the loaded libraries list the plugin crashes before dyld finishes loading it.

Both libObscura.dylib and libDeps.dylib are present in the same directory.

Conclusion

This appears to be an LLVM ABI mismatch between Obscura 19.1.5 and clang-2100.0.123.102 (Xcode 26.4.1). The compatibility table lists LLVM 19.1.5 as "Stable" for "Xcode 26+", but this specific Xcode 26.4.1 build causes an immediate bus error.

A new Obscura release built against clang-2100.0.123.102 would fix this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions