Giter Site home page Giter Site logo

Comments (15)

eregon avatar eregon commented on June 19, 2024

Additional questions:

  • It seems llvm from Homebrew needs to be installed, is the system one not enough?
  • Is llvm only needed at build time or also at runtime?

I would be unfortunate to need it at runtime because it's not installed by default in GitHub Actions and it takes ~1min35s to install via Homebrew.

BTW, https://book.rubinius.com/manuscript/getting_rubinius.html mentions llvm38 but that formula no longer exists.

from rubinius.

eregon avatar eregon commented on June 19, 2024

A third try, also SEGV:

RBC core/time.rb
The Rubinius process is aborting with signal: SIGSEGV
--- begin system info ---
node: info: Mac-1297.local Darwin Kernel Version 19.2.0: Sat Nov  9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64
--- end system info ---
--- begin rubinius info ---
process: info: runner rbx 59020 4.13 10.0 2020-01-20 806f3be4 9.0.0 JIT disabled
--- end rubinius info ---
--- begin system backtrace ---
0   rbx                                 0x0000000109096cf9 _ZN8rubiniusL20abandon_ship_handlerEiP9__siginfoPv + 249
1   libsystem_platform.dylib            0x00007fff6ecb042d _sigtramp + 29
2   ???                                 0x00007fc796287750 0x0 + 140495194453840
3   rbx                                 0x0000000109011a8e _ZN8rubiniusL2asINS_9ByteArrayEEEPT_PNS_6ObjectE + 32
4   rbx                                 0x0000000109011799 _ZN8rubinius12instructions12string_buildEPNS_5StateEPNS_9CallFrameEl + 146
5   rbx                                 0x00000001090116dd _ZN8rubinius11interpreter12string_buildEPNS_5StateEPNS_9CallFrameEPKl + 33
6   rbx                                 0x0000000109008ac0 _ZN8rubinius11Interpreter7executeEPNS_5StateEPNS_11MachineCodeE + 64

https://github.com/eregon/ruby-install-builder/runs/408706695

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon I fixed a bunch of stuff for memory headers and memory handles, I'll tag a release soon.

For LLVM, it's only a build-time dependency, but I'm only going to support the latest release (currently 9.0). If that isn't available, the build just won't have any LLVM-dependent features. I'll take me some time to clean up all the obsolete LLVM cruft, so thanks for pointing that out.

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon please try 4.14.

from rubinius.

eregon avatar eregon commented on June 19, 2024

4.14 still segfaults:
https://github.com/eregon/ruby-install-builder/runs/410673147

RBC core/file.rb
The Rubinius process is aborting with signal: SIGSEGV
--- begin system info ---
node: info: Mac-1461.local Darwin Kernel Version 19.2.0: Sat Nov  9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64
--- end system info ---
--- begin rubinius info ---
process: info: runner rbx 59094 4.14 10.0 2020-01-26 02f6c527 9.0.0 JIT disabled
--- end rubinius info ---
--- begin system backtrace ---
0   rbx                                 0x000000010bdc9859 _ZN8rubiniusL20abandon_ship_handlerEiP9__siginfoPv + 249
1   libsystem_platform.dylib            0x00007fff642d442d _sigtramp + 29
2   ???                                 0x000070000901ee10 0x0 + 123145453432336
3   rbx                                 0x000000010bd794fe _ZN8rubinius6memory8MainHeap14collect_finishEPNS_5StateE + 46
4   rbx                                 0x000000010bd7cc55 _ZN8rubinius6memory12MemoryTracer10trace_heapEPNS_5StateE + 1525
5   rbx                                 0x000000010bd769d1 _ZNSt3__110__function6__funcIZN8rubinius6memory9Collector7collectEPNS2_5StateEE3$_2NS_9allocatorIS7_EEFvvEEclEv + 113
6   rbx                                 0x000000010bd7558f _ZN8rubinius6memory9Collector19stop_for_collectionEPNS_5StateENSt3__18functionIFvvEEE + 367
7   rbx                                 0x000000010bd75653 _ZN8rubinius6memory9Collector7collectEPNS_5StateE + 99
8   rbx                                 0x000000010bd759fd _ZN8rubinius6memory9Collector6Worker3runEPNS_5StateE + 269
9   rbx                                 0x000000010bd6fb91 _ZN8rubinius13MachineThread3runEPv + 161
10  libsystem_pthread.dylib             0x00007fff642dfe65 _pthread_start + 148
11  libsystem_pthread.dylib             0x00007fff642db83b thread_start + 15
--- end system backtrace ---
--- begin Ruby backtraces ---
--- Thread 1 backtrace ---
Integer#to_s in core/integer.rb:1498 (+38)
__block__ in rubinius/code/compiler/compiled_file.rb:316 (+52)
...

from rubinius.

eregon avatar eregon commented on June 19, 2024

This time it seems a SEGV from the GC.

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon hm, I fixed something there, too. I'm in the middle of a pretty big reorg of some internal data structures. I've switched CI to Travis, which is building. I'll ping you when I tag the next release.

from rubinius.

eregon avatar eregon commented on June 19, 2024

I got a lucky build that succeeded: https://github.com/eregon/ruby-builder/runs/421811427
I didn't change anything since the last build though, so it just seems luck to not get the segfault.

from rubinius.

eregon avatar eregon commented on June 19, 2024

OTOH it still segfaults at runtime for bundle install:
https://github.com/eregon/use-ruby-action/runs/421838829
Also on Ubuntu 16.04:
https://github.com/eregon/use-ruby-action/runs/421838746

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon you must use the version of Bundler that is installed by Rubinius.

You may have better success with 4.15.

from rubinius.

eregon avatar eregon commented on June 19, 2024

Where is the bundle executable? It's not in install_prefix/bin/bundle like in other Ruby, so that's why the logic ends up installing Bundler (https://github.com/eregon/ruby-builder/runs/421811427).
I guess in install_prefix/gems/bin/bundle?
MRI 2.6+ ships a bin/bundle so it would be nice to match that.

from rubinius.

eregon avatar eregon commented on June 19, 2024

Rubinius 4.15 fails to compile on Ubuntu 16.04:
https://github.com/eregon/ruby-builder/runs/421971027

2: CXX machine/memory.cpp
machine/memory.cpp:195:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
  if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
                            ^
machine/memory.cpp:206:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
  if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
                            ^
machine/memory.cpp:216:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
  if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
                            ^
machine/memory.cpp:230:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
  if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
                            ^
3: CXX machine/memory/code_manager.cpp

from rubinius.

eregon avatar eregon commented on June 19, 2024

It still segfaults with 4.14 on Ubuntu 16.04 with the bundled bundler:
https://github.com/eregon/ruby-builder/runs/422071201

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon not supporting anything older than 18.04. Bundler is pre-installed, so you'll need to point to it with your script. If you're curious https://github.com/rubygems/bundler/issues/6274.

from rubinius.

brixen avatar brixen commented on June 19, 2024

@eregon please close this issue if 18.04 is working with pre-installed Bundler.

from rubinius.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.