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

Illegal Instruction in LuaJIT:i686 #34124

Closed
tbsteinb opened this issue Nov 18, 2021 · 6 comments
Closed

Illegal Instruction in LuaJIT:i686 #34124

tbsteinb opened this issue Nov 18, 2021 · 6 comments
Labels
bug Something isn't working

Comments

@tbsteinb
Copy link

tbsteinb commented Nov 18, 2021

System

Compaq ProLiant DL360 G2

  • xuname:
    Void 5.13.19_1 i686 GenuineIntel uptodate rFFF
  • package:
    LuaJIT-2.1.0beta3_2

Expected behavior

Program utilizing LuaJIT runs and can be used successfully

Actual behavior

A program using LuaJIT crashes with an illegal instruction immediately.

Steps to reproduce the behavior

I noticed this behavior on neovim, but traced the error to LuaJIT. I suspect other programs using it will fail with the same problem.

The simplest way is to just run nvim --version, it will display version info but then give an illegal instruction error. Alternatively, you can launch the editor and then try to do anything (insert mode, or even just moving the cursor is enough) and it will immediately crash with the same error.

Debugging by me

I got a core dump from neovim and stepped through it to find the error occurs within LuaJIT. I got the following as the source of the illegal instruction:
#0 0xb7d3100b in lua_pushvalue () from /usr/lib32/libluajit-5.1.so.2

I attempted to build the package locally via xbps-src (hoping that building it natively may bypass some obscure bug or something), but unfortunately the local build gives the same crash. I'm not particularly experienced with xbps-src so I left it there, otherwise I would have tried building a debug release and seeing if I could trace the instruction further.

Let me know if you need any further information, I'll be glad to submit it.
luajit-coredump.tar.gz

@ericonr
Copy link
Member

ericonr commented Nov 18, 2021

You want literally -p pkgver, not to replace the known pkgver ;)

(hoping that building it natively may bypass some obscure bug or something)

i686 packages are built natively.

I'm not particularly experienced with xbps-src so I left it there, otherwise I would have tried building a debug release and seeing if I could trace the instruction further.

Reinstall LuaJIT from official repos, then void-repo-debug, then xbps-install -S LuaJIT-dbg (and possibly neovim-dbg, for extra info).

@ericonr ericonr added the bug Something isn't working label Nov 18, 2021
@ericonr
Copy link
Member

ericonr commented Nov 18, 2021

That said this looks like Pentium III and I'm not sure we support that :/

@tbsteinb
Copy link
Author

Haha whoops, makes sense. I'll update my post accordingly.

And I wouldn't be surprised if that's the case. This is a really old system. It's too old for OpenBSD, which was a bit of a shocker for me.

@tbsteinb
Copy link
Author

You were spot on, it's a Pentium III. I inherited the server so wanted to make sure the CPU didn't get replaced at some point.

@tbsteinb
Copy link
Author

And yeah, unfortunately you are right. Looks like Pentium 4 is the minimum requirements.

Kind of funny to be honest, if I hadn't encountered this bug I'd have never known I was running on unsupported hardware. Just goes to show how well written the coreutils and Linux are. I'll close the issue.

@ericonr
Copy link
Member

ericonr commented Nov 18, 2021

No worries :)

If you'd like, you're free to keep using it, just be aware that things might be randomly broken :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants