Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Release][Ruby][CI] Verification job fails for Ruby under conda #44268

Closed
amoeba opened this issue Sep 30, 2024 · 4 comments
Closed

[Release][Ruby][CI] Verification job fails for Ruby under conda #44268

amoeba opened this issue Sep 30, 2024 · 4 comments

Comments

@amoeba
Copy link
Member

amoeba commented Sep 30, 2024

Describe the bug, including details regarding any error messages, version, and platform.

The verification job for Ruby with USE_CONDA=1 is failing see https://github.com/ursacomputing/crossbow/actions/runs/11092813842/job/30818318871.

The specific error is:

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/arrow-HEAD.dAHUd/mambaforge/envs/conda-source/bin/glib-mkenums'

I can reproduce this locally with:

 archery docker run \
          -e VERIFY_VERSION="" \
          -e VERIFY_RC="" \
          -e TEST_DEFAULT=0 \
          -e TEST_RUBY=1 \
          conda-verify-rc

Component(s)

Continuous Integration, Release, Ruby

@amoeba
Copy link
Member Author

amoeba commented Sep 30, 2024

When I pause the job locally and try to run glib-mkenums directly, I get:

root@ed232b035d9f:/arrow-tmp# /arrow-tmp/mambaforge/envs/conda-source/bin/glib-mkenums
bash: /arrow-tmp/mambaforge/envs/conda-source/bin/glib-mkenums: /home/conda/feedstock_root/build_artifacts/glib-split_1727379927883/_build_env/bin/python3.12: bad interpreter: No such file or directory

The referenced shebang looks wrong to me:

root@ed232b035d9f:/arrow-tmp# head -n 1 /arrow-tmp/mambaforge/envs/conda-source/bin/glib-mkenums
#!/home/conda/feedstock_root/build_artifacts/glib-split_1727379927883/_build_env/bin/python3.12

I now see that an issue has been filed on glib-feedstock about this.

@amoeba
Copy link
Member Author

amoeba commented Sep 30, 2024

I'm trying just pinning the glib version the release verification script uses which makes lets the script continue but now I'm getting an issue during bundling and installing glib2:

$ TEST_DEFAULT=0 TEST_RUBY=1 /arrow/dev/release/verify-release-candidate.sh
---snip---
Installing test-unit 3.6.2
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /arrow/c_glib/vendor/bundle/ruby/3.3.0/gems/glib2-4.2.4/ext/glib2
/arrow-tmp/mambaforge/envs/conda-source/bin/ruby extconf.rb
---snip---
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find glib-enum-types.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-bytes.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-gc.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-option.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-variant-dict.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-variant-type.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib-variant.o: No such file or directory
/arrow-tmp/mambaforge/envs/conda-source/bin/../lib/gcc/aarch64-conda-linux-gnu/13.3.0/../../../../aarch64-conda-linux-gnu/bin/ld:
cannot find rbglib.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:265: glib2.so] Error 1

make failed, exit code 2
---snip---

amoeba added a commit to amoeba/arrow that referenced this issue Sep 30, 2024
This is a workaround for the issue reported in
apache#44268.
amoeba added a commit to amoeba/arrow that referenced this issue Sep 30, 2024
This is a workaround for the issue reported in
apache#44268.
@amoeba
Copy link
Member Author

amoeba commented Sep 30, 2024

The above was just caused by a messy environment inside my container. After deleting $ARROW_TMPDIR, pinning glib works. I created at PR at #44270 which fixes this. Once glib pushes a new release we can unpin our version.

amoeba added a commit that referenced this issue Oct 1, 2024
…n script (#44270)

### Rationale for this change

Fixes failing verification task for ruby+conda, see #44268. cc @ raulcd 

### What changes are included in this PR?

It looks like the proximate cause of the failure was a buggy release of glib (2.82.1) on conda-forge, see conda-forge/glib-feedstock#191. Pinning the version of glib we install inside the verification script to the previous version seems to work (verification passes locally now). Once the glib feedstock pushes a new release with the fix we can unpin this.

### Are these changes tested?

Yes, locally under docker.

### Are there any user-facing changes?

No.
* GitHub Issue: #44268

Lead-authored-by: Bryce Mecum <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Bryce Mecum <[email protected]>
@amoeba amoeba added this to the 18.0.0 milestone Oct 1, 2024
@amoeba
Copy link
Member Author

amoeba commented Oct 1, 2024

Issue resolved by pull request 44270
#44270

@amoeba amoeba closed this as completed Oct 1, 2024
amoeba added a commit that referenced this issue Oct 15, 2024
…rification script (#44407)

### Rationale for this change

We can remove these pins now that conda-forge/glib-feedstock#191 has been closed. I've tested on my own crossbow and will test here momentarily. This effectively reverts #44270 and #44268.

### What changes are included in this PR?

Tweaks to release release verification script, specifically removing recently-added pins.

### Are these changes tested?

Yes: https://github.com/amoeba/crossbow/actions/runs/11335070956/job/31522511285.

### Are there any user-facing changes?

No.

Closes #44415.
* GitHub Issue: #44415

Authored-by: Bryce Mecum <[email protected]>
Signed-off-by: Bryce Mecum <[email protected]>
raulcd pushed a commit that referenced this issue Oct 15, 2024
…rification script (#44407)

### Rationale for this change

We can remove these pins now that conda-forge/glib-feedstock#191 has been closed. I've tested on my own crossbow and will test here momentarily. This effectively reverts #44270 and #44268.

### What changes are included in this PR?

Tweaks to release release verification script, specifically removing recently-added pins.

### Are these changes tested?

Yes: https://github.com/amoeba/crossbow/actions/runs/11335070956/job/31522511285.

### Are there any user-facing changes?

No.

Closes #44415.
* GitHub Issue: #44415

Authored-by: Bryce Mecum <[email protected]>
Signed-off-by: Bryce Mecum <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant