Skip to content

Gemini 2 XL on macOS 15.7.1: official HelloOrbbec hangs on getDevice(0), QuickStart crashes on Pipeline() #203

@Schislyaev

Description

@Schislyaev

Title:
Gemini 2 XL on macOS 15.7.1: official HelloOrbbec hangs on getDevice(0), QuickStart crashes on Pipeline()

Body:
Describe the bug
On macOS 15.7.1 with a Gemini 2 XL, the device is detected by OrbbecSDK, but official SDK samples fail immediately after enumeration.

I reproduced this with official sample code from the SDK package:

  • Example/cpp/Sample-HelloOrbbec/HelloOrbbec.cpp
  • Example/cpp/Sample-QuickStart/QuickStart.cpp

Observed behavior:

  • HelloOrbbec hangs after the SDK reports one connected device. The next step in the sample is devList->getDevice(0).
  • QuickStart reports one connected device, logs "Try to create pipeline with default device.", and then exits with -11.

This reproduces outside our application code, so this does not appear to be app-specific.

Reproduction Steps
Steps to reproduce the behavior:

  1. Use a MacBook Pro with Apple Silicon and macOS 15.7.1.
  2. Connect an Orbbec Gemini 2 XL (serial AYMXB32000N) directly to the Mac via USB-C.
  3. Build the official SDK samples against OrbbecSDK 1.10.16.
  4. Copy the SDK dylibs next to the sample binaries, as described in the SDK README for macOS.
  5. Run the official samples with administrator privileges on macOS:
    • HelloOrbbec
    • QuickStart
  6. Observe the logs/output.

Expected behavior

  • HelloOrbbec should successfully acquire the device and print device information.
  • QuickStart should successfully create a pipeline and start streaming frames.

Log Output
HelloOrbbec relevant output:

SDK version: 1.10.16
SDK stage version: main
[Context.cpp:73] Work directory=/Users/petr/projects/Roomify, SDK version=v1.10.16-20241021-c0329e356
[MacPal.cpp:31] createObPal: create MacPal!
[MacPal.cpp:125] Create PollingDeviceWatcher!
[DeviceManager.cpp:15] Current found device(s): (1)
[DeviceManager.cpp:24] - Name: Orbbec Gemini2 XL, PID: 0x0671, SN/ID: AYMXB32000N, Connection: USB2.0

After this point the sample hangs. In HelloOrbbec.cpp, the next operation is:
auto dev = devList->getDevice(0);

QuickStart relevant output:

[Context.cpp:73] Work directory=/Users/petr/projects/Roomify, SDK version=v1.10.16-20241021-c0329e356
[MacPal.cpp:31] createObPal: create MacPal!
[MacPal.cpp:125] Create PollingDeviceWatcher!
[DeviceManager.cpp:15] Current found device(s): (1)
[DeviceManager.cpp:24] - Name: Orbbec Gemini2 XL, PID: 0x0671, SN/ID: AYMXB32000N, Connection: USB2.0
[Pipeline.cpp:15] Try to create pipeline with default device.

After this point the process exits with -11.

I can attach the full logs for both official sample runs if needed.

System Environment:

  • OS: macOS 15.7.1 (24G231)
  • Architecture: arm64 (Apple Silicon, Apple M4 Pro)
  • Visual Studio/GCC:Apple clang 17.0.0 (clang-1700.3.19.1)

Tool/SDK Version:

  • SDK: 1.10.16
  • OrbbecViewer:1.10.8 tested on this host, but not used for this repro

Device Information:

  • Model: Orbbec Gemini 2 XL
  • Firmware Version: unable to retrieve via SDK because HelloOrbbec hangs before dev->getDeviceInfo() completes; macOS System Information shows device version 4.09

Additional context

  • On macOS, I ran the samples with administrator privileges, as recommended in the SDK README.
  • The SDK consistently reports the device connection as USB2.0.
  • The device is visible to queryDeviceList(), so the failure happens after enumeration:
    • in one path at or around getDevice(0)
    • in another path at or around ob::Pipeline()
  • I also reproduced the same split with a separate minimal local SDK harness, but the issue above is already reproducible using official Orbbec sample code only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions