Skip to content

Enable stack trace symbolization for OSS builds#9687

Closed
mszabo-wikia wants to merge 1 commit intofacebook:masterfrom
mszabo-wikia:enable-stack-trace-symbolization
Closed

Enable stack trace symbolization for OSS builds#9687
mszabo-wikia wants to merge 1 commit intofacebook:masterfrom
mszabo-wikia:enable-stack-trace-symbolization

Conversation

@mszabo-wikia
Copy link
Contributor

Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:

Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 #1  main_entry()

[1] a66dd13
[2] c11ad4e
[3] 0e082c4

@meta-cla meta-cla bot added the CLA Signed label Dec 5, 2025
@meta-codesync
Copy link

meta-codesync bot commented Dec 5, 2025

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this in D88499314. (Because this pull request was imported automatically, there will not be any future comments.)

@mszabo-wikia mszabo-wikia force-pushed the enable-stack-trace-symbolization branch from 9bd3f7c to 180af97 Compare January 6, 2026 17:27
@facebook-github-bot
Copy link
Contributor

@mszabo-wikia has updated the pull request. You must reimport the pull request before landing.

@mszabo-wikia mszabo-wikia force-pushed the enable-stack-trace-symbolization branch from 180af97 to 6063823 Compare January 7, 2026 15:58
@facebook-github-bot
Copy link
Contributor

@mszabo-wikia has updated the pull request. You must reimport the pull request before landing.

@mszabo-wikia mszabo-wikia force-pushed the enable-stack-trace-symbolization branch from 6063823 to 29831e4 Compare January 19, 2026 14:48
@facebook-github-bot
Copy link
Contributor

@mszabo-wikia has updated the pull request. You must reimport the pull request before landing.

Historically, HHVM statically linked the system libbfd to power
stack trace symbolization in its crash reports and in perf map files.
This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across
target systems. D3742004[2] and D3855027[3] then brought in
folly::Symbolizer for both use cases, but this remained gated behind a
Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so
let's enable it unconditionally and deshim the experimental/ header.
This also allows removing the dead libbfd integration.
For this to work, the folly build must be built with and able to find libunwind,
which isn't a given when building against libc++ and LLVM libunwind
on Ubuntu as it installs includes into a subdirectory, so provide an
additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw
memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 #1  main_entry()

```

[1] facebook@a66dd13
[2] facebook@c11ad4e
[3] facebook@0e082c4
@mszabo-wikia mszabo-wikia force-pushed the enable-stack-trace-symbolization branch from 29831e4 to 366bccd Compare February 5, 2026 12:57
@facebook-github-bot
Copy link
Contributor

@mszabo-wikia has updated the pull request. You must reimport the pull request before landing.

meta-codesync bot pushed a commit to facebook/fb303 that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/wangle that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/fbthrift that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/CacheLib that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/fboss that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/folly that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/openr that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/watchman that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/mvfst that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookincubator/hsthrift that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/proxygen that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookexperimental/edencommon that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookincubator/fizz that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookincubator/katran that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookincubator/cinderx that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookexperimental/rust-shed that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebook/sapling that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
meta-codesync bot pushed a commit to facebookexperimental/moxygen that referenced this pull request Feb 5, 2026
Summary:
Historically, HHVM statically linked the system libbfd to power stack trace symbolization in its crash reports and in perf map files. This was disabled for OSS in D2137703[1] because of the wildly differing libbfd ABI across target systems. D3742004[2] and D3855027[3] then brought in folly::Symbolizer for both use cases, but this remained gated behind a Meta-only define.

folly::Symbolizer has been stable in upstream folly for a while now, so let's enable it unconditionally and deshim the experimental/ header. This also allows removing the dead libbfd integration. For this to work, the folly build must be built with and able to find libunwind, which isn't a given when building against libc++ and LLVM libunwind on Ubuntu as it installs includes into a subdirectory, so provide an additional hint for this case.

This allows us to finally have a proper stacktrace rather than raw memory addresses in crash reports, such as:
```
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.902095.log
Host: hhvm-jammy-vm
ProcessID: 902095
ThreadID: 281473658339392
ThreadPID: 902095
Name: /usr/local/bin/hhvm
CmdLine: hhvm ../hhvm/hphp/test/quick/dv.php
Type: Segmentation fault
Runtime: hhvm
Version: heads/7.70.0-slack-0-g7be53eff8d22faa0383a128696fae83b224aedd5
DebuggerCount: 0

Arguments: ../hhvm/hphp/test/quick/dv.php
ThreadType: CLI

-------------------------------Treadmill Information----------------------------
Now: 235093382994348
OldestStartTime: 235093373066177
InflightRequestsSize: 1

Active Requests:
  281473658339392 1 235093373066177 (age 9ms) (timeout 0s) CLISession OLDEST

------------------------------------------------------------------------------

CPP Stacktrace:

 # 0  HPHP::jit::FixupMap::processFixupForVMFrame(HPHP::jit::VMFrame)
 # 1  HPHP::jit::FixupMap::fixupWork(HPHP::ActRec*, bool)
 # 2  HPHP::jit::detail::syncVMRegsWork(bool)
 # 3  HPHP::createBacktrace(HPHP::BacktraceArgs const&)
 # 4  HPHP::f_debug_backtrace(long, long)
 # 5  HPHP::throwable_init(HPHP::ObjectData*)
 # 6  HPHP::ObjectData* HPHP::ObjectData::newInstance<false>(HPHP::Class*)
 # 7  HPHP::SystemLib::AllocRuntimeExceptionObject(HPHP::Variant const&)
 # 8  HPHP::SystemLib::throwRuntimeExceptionObject(HPHP::Variant const&)
 # 9  HPHP::throwMissingArgument(HPHP::Func const*, int)

PHP Stacktrace:

 #0  main() called at [/home/mszabo/hhvm/hphp/test/quick/dv.php:28]
 facebook/hhvm#1  main_entry()

```

[1] facebook/hhvm@a66dd13
[2] facebook/hhvm@c11ad4e
[3] facebook/hhvm@0e082c4

X-link: facebook/hhvm#9687

Reviewed By: paulbiss

Differential Revision: D88499314

fbshipit-source-id: dc2cbd5cdeab1533ae5fee26b3bf64fc7595cd8c
@meta-codesync
Copy link

meta-codesync bot commented Feb 5, 2026

This pull request has been merged in c2909dc.

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.

2 participants