8000 [Enhancement] bump up breakpad to 2024.02.16 to fix crash in dump_syms by rohitrs1983 · Pull Request #60005 · StarRocks/starrocks · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[Enhancement] bump up breakpad to 2024.02.16 to fix crash in dump_syms #60005

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

Merged
merged 3 commits into from
Jun 21, 2025

Conversation

rohitrs1983
Copy link
Contributor
@rohitrs1983 rohitrs1983 commented Jun 17, 2025

we are using and older version of dump_syms that doesn’t understand the .relr.dyn section

Fixes #60004

update breakpad to version breakpad-2024.02.16

$ bash thirdparty/minidump/gen_minidump_symbols.sh
starrocks_be'size (2153mb) reduced to (556mb)
symbol file is at /home/ubuntu/starrocks/output/be/symbols/starrocks_be/AC7FAB7F8B5BF82100000000000000000

What type of PR is this:

  • BugFix
  • Feature
  • Enhancement
  • Refactor
  • UT
  • Doc
  • Tool

Does this PR entail a change in behavior?

  • Yes, this PR will result in a change in behavior.
  • No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

  • Interface/UI changes: syntax, type conversion, expression evaluation, display information
  • Parameter changes: default values, similar parameters but with different default values
  • Policy changes: use new policy to replace old one, functionality automatically enabled
  • Feature removed
  • Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

  • I have added test cases for my bug fix or my new feature
  • This pr needs user documentation (for new or modified features or behaviors)
    • I have added documentation for my new feature or new function
  • This is a backport pr

Bugfix cherry-pick branch check:

  • I have checked the version labels which the pr will be auto-backported to the target branch
    • 3.5
    • 3.4
    • 3.3

@rohitrs1983 rohitrs1983 requested a review from a team as a code owner June 17, 2025 16:44
@github-actions github-actions bot added the 3.5 label Jun 17, 2025
@rohitrs1983 rohitrs1983 changed the title [BugFix][Enhance][Deps] bump up breakpad to 2024.02.16 [BugFix][Enhance][Deps] bump up breakpad to 2024.02.16 to fix crash in dump_syms Jun 17, 2025
Copy link
Contributor
@kevincai kevincai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

breakpad build failed on centos7 environment.

2025-06-17T17:50:39.4705575Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::IsCompressedHeader(const typename ElfClass::Shdr*)’:
2025-06-17T17:50:39.4706359Z #9 2755.4 src/common/linux/dump_symbols.cc:298:31: error: ‘SHF_COMPRESSED’ was not declared in this scope
2025-06-17T17:50:39.4706818Z #9 2755.4   298 |   return (section->sh_flags & SHF_COMPRESSED) != 0;
2025-06-17T17:50:39.4707140Z #9 2755.4       |                               ^~~~~~~~~~~~~~
2025-06-17T17:50:39.4707942Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘std::pair<unsigned char*, long unsigned int> {anonymous}::UncompressSectionContents(uint64_t, const uint8_t*, uint64_t, uint64_t)’:
2025-06-17T17:50:39.4708913Z #9 2755.4 src/common/linux/dump_symbols.cc:363:27: error: ‘ELFCOMPRESS_ZLIB’ was not declared in this scope; did you mean ‘ELFCOMPRESS_ZSTD’?
2025-06-17T17:50:39.4709569Z #9 2755.4   363 |   if (compression_type == ELFCOMPRESS_ZLIB) {
2025-06-17T17:50:39.4709871Z #9 2755.4       |                           ^~~~~~~~~~~~~~~~
2025-06-17T17:50:39.4710155Z #9 2755.4       |                           ELFCOMPRESS_ZSTD
2025-06-17T17:50:39.4710936Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::DwarfCFIRegisterNames(const typename ElfClass::Ehdr*, std::vector<std::__cxx11::basic_string<char> >*)’:
2025-06-17T17:50:39.4711909Z #9 2755.4 src/common/linux/dump_symbols.cc:549:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4712295Z #9 2755.4   549 |     case EM_RISCV:
2025-06-17T17:50:39.4712516Z #9 2755.4       |          ^~~~~~~~
2025-06-17T17:50:39.4713097Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘const char* {anonymous}::ElfArchitecture(const typename ElfClass::Ehdr*)’:
2025-06-17T17:50:39.4713787Z #9 2755.4 src/common/linux/dump_symbols.cc:1125:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4714215Z #9 2755.4  1125 |     case EM_RISCV:      return "riscv";
2025-06-17T17:50:39.4714473Z #9 2755.4       |          ^~~~~~~~

@rohitrs1983
Copy link
Contributor Author

breakpad build failed on centos7 environment.

2025-06-17T17:50:39.4705575Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::IsCompressedHeader(const typename ElfClass::Shdr*)’:
2025-06-17T17:50:39.4706359Z #9 2755.4 src/common/linux/dump_symbols.cc:298:31: error: ‘SHF_COMPRESSED’ was not declared in this scope
2025-06-17T17:50:39.4706818Z #9 2755.4   298 |   return (section->sh_flags & SHF_COMPRESSED) != 0;
2025-06-17T17:50:39.4707140Z #9 2755.4       |                               ^~~~~~~~~~~~~~
2025-06-17T17:50:39.4707942Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘std::pair<unsigned char*, long unsigned int> {anonymous}::UncompressSectionContents(uint64_t, const uint8_t*, uint64_t, uint64_t)’:
2025-06-17T17:50:39.4708913Z #9 2755.4 src/common/linux/dump_symbols.cc:363:27: error: ‘ELFCOMPRESS_ZLIB’ was not declared in this scope; did you mean ‘ELFCOMPRESS_ZSTD’?
2025-06-17T17:50:39.4709569Z #9 2755.4   363 |   if (compression_type == ELFCOMPRESS_ZLIB) {
2025-06-17T17:50:39.4709871Z #9 2755.4       |                           ^~~~~~~~~~~~~~~~
2025-06-17T17:50:39.4710155Z #9 2755.4       |                           ELFCOMPRESS_ZSTD
2025-06-17T17:50:39.4710936Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::DwarfCFIRegisterNames(const typename ElfClass::Ehdr*, std::vector<std::__cxx11::basic_string<char> >*)’:
2025-06-17T17:50:39.4711909Z #9 2755.4 src/common/linux/dump_symbols.cc:549:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4712295Z #9 2755.4   549 |     case EM_RISCV:
2025-06-17T17:50:39.4712516Z #9 2755.4       |          ^~~~~~~~
2025-06-17T17:50:39.4713097Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘const char* {anonymous}::ElfArchitecture(const typename ElfClass::Ehdr*)’:
2025-06-17T17:50:39.4713787Z #9 2755.4 src/common/linux/dump_symbols.cc:1125:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4714215Z #9 2755.4  1125 |     case EM_RISCV:      return "riscv";
2025-06-17T17:50:39.4714473Z #9 2755.4       |          ^~~~~~~~

@kevincai these macros are present in /usr/include/elf.h. unavailable on centos7 since its pretty old. dont observe the same failure on ubuntu. how about a patch file to add these macros to dump_symbols.cc?

@kevincai
Copy link
Contributor

breakpad build failed on centos7 environment.

2025-06-17T17:50:39.4705575Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::IsCompressedHeader(const typename ElfClass::Shdr*)’:
2025-06-17T17:50:39.4706359Z #9 2755.4 src/common/linux/dump_symbols.cc:298:31: error: ‘SHF_COMPRESSED’ was not declared in this scope
2025-06-17T17:50:39.4706818Z #9 2755.4   298 |   return (section->sh_flags & SHF_COMPRESSED) != 0;
2025-06-17T17:50:39.4707140Z #9 2755.4       |                               ^~~~~~~~~~~~~~
2025-06-17T17:50:39.4707942Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘std::pair<unsigned char*, long unsigned int> {anonymous}::UncompressSectionContents(uint64_t, const uint8_t*, uint64_t, uint64_t)’:
2025-06-17T17:50:39.4708913Z #9 2755.4 src/common/linux/dump_symbols.cc:363:27: error: ‘ELFCOMPRESS_ZLIB’ was not declared in this scope; did you mean ‘ELFCOMPRESS_ZSTD’?
2025-06-17T17:50:39.4709569Z #9 2755.4   363 |   if (compression_type == ELFCOMPRESS_ZLIB) {
2025-06-17T17:50:39.4709871Z #9 2755.4       |                           ^~~~~~~~~~~~~~~~
2025-06-17T17:50:39.4710155Z #9 2755.4       |                           ELFCOMPRESS_ZSTD
2025-06-17T17:50:39.4710936Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘bool {anonymous}::DwarfCFIRegisterNames(const typename ElfClass::Ehdr*, std::vector<std::__cxx11::basic_string<char> >*)’:
2025-06-17T17:50:39.4711909Z #9 2755.4 src/common/linux/dump_symbols.cc:549:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4712295Z #9 2755.4   549 |     case EM_RISCV:
2025-06-17T17:50:39.4712516Z #9 2755.4       |          ^~~~~~~~
2025-06-17T17:50:39.4713097Z #9 2755.4 src/common/linux/dump_symbols.cc: In function ‘const char* {anonymous}::ElfArchitecture(const typename ElfClass::Ehdr*)’:
2025-06-17T17:50:39.4713787Z #9 2755.4 src/common/linux/dump_symbols.cc:1125:10: error: ‘EM_RISCV’ was not declared in this scope
2025-06-17T17:50:39.4714215Z #9 2755.4  1125 |     case EM_RISCV:      return "riscv";
2025-06-17T17:50:39.4714473Z #9 2755.4       |          ^~~~~~~~

@kevincai these macros are present in /usr/include/elf.h. unavailable on centos7 since its pretty old. dont observe the same failure on ubuntu. how about a patch file to add these macros to dump_symbols.cc?

Yes, it's acceptable.

@kevincai kevincai changed the title [Bu 8000 gFix][Enhance][Deps] bump up breakpad to 2024.02.16 to fix crash in dump_syms [Enhancement] bump up breakpad to 2024.02.16 to fix crash in dump_syms Jun 18, 2025
@kevincai
Copy link
Contributor

@Mergifyio rebase

Signed-off-by: Rohit Satardekar <rohitrs1983@gmail.com>
Signed-off-by: Rohit Satardekar <rohitrs1983@gmail.com>
Copy link
Contributor
mergify bot commented Jun 20, 2025

rebase

✅ Branch has been successfully rebased

Copy link

[Java-Extensions Incremental Coverage Report]

pass : 0 / 0 (0%)

Copy link

[FE Incremental Coverage Report]

pass : 0 / 0 (0%)

Copy link

[BE Incremental Coverage Report]

pass : 0 / 0 (0%)

@kevincai kevincai requested a review from alvin-celerdata June 21, 2025 13:54
@alvin-celerdata alvin-celerdata merged commit d96b521 into StarRocks:main Jun 21, 2025
52 checks passed
Copy link

@Mergifyio backport branch-3.5

@github-actions github-actions bot removed the 3.5 label Jun 21, 2025
Copy link
Contributor
mergify bot commented Jun 21, 2025

backport branch-3.5

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Jun 21, 2025
#60005)

we are using and older version of dump_syms that doesn’t understand the .relr.dyn section

Fixes #60004

update breakpad to version breakpad-2024.02.16

$ bash thirdparty/minidump/gen_minidump_symbols.sh
starrocks_be'size (2153mb) reduced to (556mb)
symbol file is at /home/ubuntu/starrocks/output/be/symbols/starrocks_be/AC7FAB7F8B5BF82100000000000000000

Signed-off-by: Rohit Satardekar <rohitrs1983@gmail.com>
(cherry picked from commit d96b521)
wanpengfei-git pushed a commit that referenced this pull request Jun 22, 2025
…s (backport #60005) (#60150)

Signed-off-by: Rohit Satardekar <rohitrs1983@gmail.com>
Co-authored-by: Rohit Satardekar <noisebuddy2024@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] gen_minidump_symbols.sh crash in dump_syms
3 participants
0