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

13.0.10 doesn't work on 10+ year old processors #1685

Closed
btm opened this issue Jun 21, 2019 · 6 comments
Closed

13.0.10 doesn't work on 10+ year old processors #1685

btm opened this issue Jun 21, 2019 · 6 comments
Labels

Comments

@btm
Copy link
Contributor

btm commented Jun 21, 2019

Jun 21 02:27:53 chef-server kernel: [548563.317770] traps: nginx[16830] trap invalid opcode ip:7f9957b85803 sp:7fff6f65f150 error:0 in libluajit-5.1.so.2.1.0[7f9957b7d000+9a000]

The version of openresty we're using now requires SSE4.2 support and my Xeon E5450 processors only support SSE4.1. 12.17.33 worked fine.

We can disable this with --with-luajit-xcflags='-mno-sse4.2', but @markan is currently investigating the repercussions of that.

See openresty/docker-openresty#39 for similar discussion.

Aha! Link: https://chef.aha.io/features/SH-3042

@markan
Copy link
Contributor

markan commented Jun 22, 2019

Proposal: Document this in the release notes and hardware requirements page, and accept that older CPUs will not be supported.

The impact of disabling this is 'substantially slower string creation'; (this hash function is used both for the 'table' functionality and internally for code lookup)
Some accounts have a 2x change in execution time. However lua is a relatively small portion of our request time, so this probably isn't anywhere near that bad in practice.

The other cost of this is either we have to inflict this on every user of omnibus-software or maintain our own definition in chef-server.

Who are we protecting?
Nehalem (2009) and later processors support SSE4.2
Every AWS instance back to the c1/m1 series supports this.
Every Google Cloud instance I could find supports this.

So I'm leaning towards not supporting CPUs older than that.

@markan markan added Priority: Low Triage: Confirmed Indicates and issue has been confirmed as described. Type: Bug Does not work as expected. Type: Regression It used to work, now it doesn't. labels Jun 22, 2019
@PrajaktaPurohit PrajaktaPurohit added the Aspect: Documentation How do we use this project? label Aug 5, 2019
@PrajaktaPurohit
Copy link
Contributor

Update requirements to list minimum processor version.

@danielcbright
Copy link

I just had a customer run into this while upgrading their Chef 12.x installation - it's an older AMD Opteron setup but still very beefy (8 core, 32gb RAM). I think we should at least get this into the docs as a warning, or possibly make this an option in chef-server.rb. Just my 0.02

@markan
Copy link
Contributor

markan commented Oct 28, 2019

Strongly agree about the documentation requirement.

Could you expand on what you mean by "possibly make this an option in chef-server.rb"?

@PrajaktaPurohit PrajaktaPurohit added Status: Consider for next release Status: To be prioritized Indicates that product needs to prioritize this issue. labels Nov 1, 2019
@ch166
Copy link

ch166 commented Oct 27, 2020

The software should discover this and report the error as part of the setup process - rather than having random opcode crashes with no indication of what's going wrong.

@btm btm added Epic and removed Aspect: Documentation How do we use this project? Priority: Low Status: Consider for next release Status: To be prioritized Indicates that product needs to prioritize this issue. Triage: Confirmed Indicates and issue has been confirmed as described. Type: Bug Does not work as expected. Type: Regression It used to work, now it doesn't. labels Nov 2, 2020
@tas50 tas50 closed this as completed Mar 10, 2021
@tas50
Copy link
Contributor

tas50 commented Mar 10, 2021

Docs have been updated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants