test the embedding start #1

Open
opened 2026-01-25 10:01:40 +00:00 by despiegk · 4 comments
Owner
embedderd --start

requirement

  • run zinit-server, can do 'make run' in zinit repo

need to check

  • doesn't it timeout to download the models
  • models should download in background, we should be able to test this with openrpc endpoint
  • zinit should have registered toe embedderd and zinit list ... shows it
  • does it work on linux
  • performance on linux (use kristof3 or other hetzner machine)

to lean how this works see

geomind_dev_docs/claude/skills/zinit/SKILL.md

```bash embedderd --start ``` requirement - run zinit-server, can do 'make run' in zinit repo need to check - [ ] doesn't it timeout to download the models - [ ] models should download in background, we should be able to test this with openrpc endpoint - [ ] zinit should have registered toe embedderd and zinit list ... shows it - [ ] does it work on linux - [ ] performance on linux (use kristof3 or other hetzner machine) to lean how this works see geomind_dev_docs/claude/skills/zinit/SKILL.md
Member

1- Issue Investigation: embedderd --start Not Registering with zinit

Problem

embedderd --start failed to register service with zinit - service not appearing in zinit list.

Root Causes

1. scripts/install.sh downloads an older version of zinit

  • The install scripts downloads: 0.3.8
  • While embedder expects version 0.3.9
  • So we had to cargo build and run the binary

2. Install script installs incompatible version of ONNX

  • ./install.sh installs an onnx runtime version that's incompatible
  • should be downloaded with :
cd /tmp && wget -q --show-progress https://github.com/microsoft/onnxruntime/releases/download/v1.23.2/onnxruntime-linux-x64-1.23.2.tgz -O onnxruntime.tgz

3. Zinit Connetion Issue

To reproduce:
1- run zinit-server 0.3.9
2- run embedder --start, the embedder will consume the 60 attempt and the service will be registered but still not ready
3- then try to run embedder --start again, you'll get the connection timed out error shown on the right terminal in the image below
4- Now try to zinit list you'll get no response

image

@salmaelsoly

# 1- Issue Investigation: embedderd --start Not Registering with zinit ## Problem `embedderd --start` failed to register service with zinit - service not appearing in `zinit list`. ## Root Causes ### 1. `scripts/install.sh` downloads an older version of zinit - The install scripts downloads: `0.3.8` - While embedder expects version `0.3.9` - So we had to cargo build and run the binary ### 2. Install script installs incompatible version of ONNX - `./install.sh` installs an onnx runtime version that's incompatible - should be downloaded with : ``` cd /tmp && wget -q --show-progress https://github.com/microsoft/onnxruntime/releases/download/v1.23.2/onnxruntime-linux-x64-1.23.2.tgz -O onnxruntime.tgz ``` ### 3. Zinit Connetion Issue To reproduce: 1- run zinit-server 0.3.9 2- run `embedder --start`, the embedder will consume the 60 attempt and the service will be registered but still not ready 3- then try to run `embedder --start` again, you'll get the connection timed out error shown on the right terminal in the image below 4- Now try to `zinit list` you'll get no response ![image](/attachments/9a4525d4-d611-47e4-b1b8-1abe99bf3e27) @salmaelsoly
281 KiB
rawan self-assigned this 2026-01-26 15:38:37 +00:00
Member

Investigation and testing is done, opened tickets with the discovered issues.
#2
geomind_code/zinit#9
geomind_code/zinit#10

@salmaelsoly

Investigation and testing is done, opened tickets with the discovered issues. https://forge.ourworld.tf/lhumina_code/hero_embedder/issues/2 https://forge.ourworld.tf/geomind_code/zinit/issues/9 https://forge.ourworld.tf/geomind_code/zinit/issues/10 @salmaelsoly
Member

after this zinit fix: geomind_code/zinit#11/files
the behaviour switched from killing zinit managed service embedderd service itself to killing the process which attaches the service to zinit embedderd --start
This happens becuase process_filter filters processes by name which is embedderd, when changing bin name to hero-embedder as example the two process lived
image
image

applied fixes: #3

  • change bin name to attach-embd
  • added auto download models before registering it as zinit service
after this zinit fix: https://forge.ourworld.tf/geomind_code/zinit/pulls/11/files the behaviour switched from killing zinit managed service `embedderd service` itself to killing the process which attaches the service to zinit `embedderd --start` This happens becuase `process_filter` filters processes by name which is `embedderd`, when changing bin name to hero-embedder as example the two process lived ![image](/attachments/90dd54ee-71a5-4fea-88e9-7e02c3e6169a) ![image](/attachments/9a8945ba-c9c5-4742-a51b-336c1f734ff5) ### applied fixes: https://forge.ourworld.tf/lhumina_code/hero_embedder/pulls/3 - change bin name to attach-embd - added auto download models before registering it as zinit service
despiegk added this to the ACTIVE project 2026-02-07 16:58:36 +00:00
Owner

Fixed in this update

  1. Fixed Zinit Installation in install.sh

Changed from broken binary download to crates.io installation:

install_zinit() {
    ZINIT_CRATE_VERSION="0.3.9"
    ZINIT_BINARY_VERSION="0.2.28"
    
    info "Installing zinit from crates.io (v${ZINIT_CRATE_VERSION})..."
    if cargo install zinit --version "$ZINIT_CRATE_VERSION" --locked; then
        # Verify installation
        if command -v zinit &> /dev/null; then
            INSTALLED_VERSION=$(zinit --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown")
            success "zinit installed (binary reports v${INSTALLED_VERSION})"
        fi
    fi
}

Note: The crates.io crate is v0.3.9 but the binary internally reports v0.2.28 (version string not updated in source).

  1. Fixed Multi-Binary Cargo Project

Added default-run to Cargo.toml to fix "can't determine which binary to run" error:

[package]
name = "hero_embedder"
default-run = "hero_embedder"
  1. Updated ONNX Runtime Version

Updated install.sh to use ONNX Runtime 1.23.2 (latest stable).

  1. Removed .process_filter() Deadlock

Per zinit#9, removed the problematic .process_filter() call that could cause hangs during service monitoring.

Notes

  1. Zinit is now installed via cargo install, which is more reliable than downloading prebuilt binaries

2, The --start flag properly registers with zinit and the service auto-restarts on failure

  1. Compatible with both macOS and Linux
## Fixed in this update 1. Fixed Zinit Installation in install.sh Changed from broken binary download to crates.io installation: ```bash install_zinit() { ZINIT_CRATE_VERSION="0.3.9" ZINIT_BINARY_VERSION="0.2.28" info "Installing zinit from crates.io (v${ZINIT_CRATE_VERSION})..." if cargo install zinit --version "$ZINIT_CRATE_VERSION" --locked; then # Verify installation if command -v zinit &> /dev/null; then INSTALLED_VERSION=$(zinit --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' || echo "unknown") success "zinit installed (binary reports v${INSTALLED_VERSION})" fi fi } ``` Note: The crates.io crate is v0.3.9 but the binary internally reports v0.2.28 (version string not updated in source). 2. Fixed Multi-Binary Cargo Project Added `default-run` to `Cargo.toml` to fix "can't determine which binary to run" error: ``` [package] name = "hero_embedder" default-run = "hero_embedder" ``` 3. Updated ONNX Runtime Version Updated install.sh to use ONNX Runtime 1.23.2 (latest stable). 4. Removed `.process_filter()` Deadlock Per [zinit#9](https://forge.ourworld.tf/geomind_code/zinit/issues/9), removed the problematic `.process_filter()` call that could cause hangs during service monitoring. ### Notes 1. Zinit is now installed via `cargo install`, which is more reliable than downloading prebuilt binaries 2, The `--start` flag properly registers with zinit and the service auto-restarts on failure 3. Compatible with both macOS and Linux
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_embedder#1
No description provided.