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

Current pre-release installer crashes on CentOS #2760

Closed
sgpearse opened this issue Jun 24, 2021 · 9 comments · Fixed by #2782
Closed

Current pre-release installer crashes on CentOS #2760

sgpearse opened this issue Jun 24, 2021 · 9 comments · Fixed by #2782
Assignees
Milestone

Comments

@sgpearse
Copy link
Collaborator

Our pre-release installer for 3.4.1 currently crashes on startup on CentOS

bash-4.2$ bin/vapor
vapor[0x45666f]
/lib64/libc.so.6(+0x36400)[0x2ac715414400]
/glade/u/apps/dav/opt/gnu/9.1.0/lib64/libstdc++.so.6(_ZNSsC2ERKSs+0xb)[0x2ac714bd028b]
vapor[0x4fb99d]
vapor[0x4fe289]
vapor[0x4fe888]
vapor[0x522540]
vapor[0x45f64d]
vapor[0x4b6dd4]
vapor[0x4b7606]
vapor[0x4a3c23]
vapor[0x4344df]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x2ac715400555]
vapor[0x436854]

@sgpearse sgpearse added the Bug label Jun 24, 2021
@clyne clyne added the High label Jun 29, 2021
@clyne clyne added this to the 3_5_0 release milestone Jun 29, 2021
@shaomeng
Copy link
Collaborator

Scott will provide an instruction on how to build VAPOR on Casper.

@shaomeng
Copy link
Collaborator

shaomeng commented Jul 1, 2021

Hi @StasJ , could you help me fix the build on casper? I have fixed a few errors but there are json related errors that I don't know how to fix.
My WIP fix build branch is named fix_casper_build and you can feel free to keep working on this branch, or start your new branch.

@StasJ
Copy link
Collaborator

StasJ commented Jul 7, 2021

Hi @StasJ , could you help me fix the build on casper? I have fixed a few errors but there are json related errors that I don't know how to fix.
My WIP fix build branch is named fix_casper_build and you can feel free to keep working on this branch, or start your new branch.

I fixed it.

@shaomeng
Copy link
Collaborator

shaomeng commented Jul 7, 2021

My investigation goes into a dead end. Here's what I found:

  1. Build from source (on Casper) works well.
  2. 3.4 release works well on Casper.
  3. 3.4.1 and weekly release encounter the reported problem (on Casper).
  4. Generating an installer from source build encounters errors (on Casper).

So, ideas needed on how to proceed.

De-mangling shows that the symbol in question (_ZNSsC2ERKSs) points to a string usage, but it doesn't help much:
std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)

@clyne
Copy link
Collaborator

clyne commented Jul 8, 2021

@shaomeng a few thoughts that we may have already discussed earlier:

  1. Build a debug installer and see if you can get a better stack trace. You'll probably need to tell dbx where to find the source code.
  2. Run through valgrind
  3. Divide and conquer: Place print statements in the code strategically to try to narrow down the problematic section of the code.

@shaomeng
Copy link
Collaborator

shaomeng commented Jul 8, 2021

@shaomeng a few thoughts that we may have already discussed earlier:

1. Build a debug installer and see if you can get a better stack trace. You'll probably need to tell dbx where to find the source code.

2. Run through valgrind

3. Divide and conquer: Place print statements in the code strategically to try to narrow down the problematic section of the code.

Thanks for the suggestions. I have located the line where crash happens:

PWidget::PWidget(const std::string &tag, QWidget *widget) : UWidget(widget), _tag(tag) { this->setDisabled(true); }

but the line seems fine to me. I now suspect that there are weird things going on with the specific build system, or the specific build process...

@clyne
Copy link
Collaborator

clyne commented Jul 8, 2021

We may need to build on an older CentOS system. Perhaps we need to resurrect cisl-garibaldi, or maybe CircleCI has options for older OSes? We may need to wait for @sgpearse to return. Perhaps we should move on to testing

@shaomeng
Copy link
Collaborator

shaomeng commented Jul 8, 2021

Well, I created a clean CentOS VM and using it I'm able to reproduce the issue with a local build. So, I can keep going for a while now.

shaomeng pushed a commit that referenced this issue Jul 8, 2021
@shaomeng
Copy link
Collaborator

shaomeng commented Jul 8, 2021

Found a class initialization issue and submitted a PR. Hopefully in the future static analysis tools can detect errors like this (#2759).

clyne pushed a commit that referenced this issue Jul 9, 2021
* fix #2760

* use static

Co-authored-by: Samuel Li <shaomeng@cisl-garibaldi>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants