pitrou commented on issue #40749:
URL: https://github.com/apache/arrow/issues/40749#issuecomment-2045586715

   I've tried on the reproducer in https://github.com/apache/arrow/issues/38770 
and only `--strip-debug` preserves the full backtrace including non-public 
functions:
   ```
   [...]
   #7  0x00007ffff310b277 in std::terminate() () from 
/lib/x86_64-linux-gnu/libstdc++.so.6
   #8  0x00007ffff310b4d8 in __cxa_throw () from 
/lib/x86_64-linux-gnu/libstdc++.so.6
   #9  0x00007ffff373737b in std::__throw_bad_variant_access(char const*) () 
from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #10 0x00007ffff3737399 in std::__throw_bad_variant_access(bool) () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #11 0x00007ffff37960e7 in arrow::compute::internal::(anonymous 
namespace)::FilterMetaFunction::ExecuteImpl(std::vector<arrow::Datum, 
std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, 
arrow::compute::ExecContext*) const [clone .cold] ()
      from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #12 0x00007ffff42cc3e0 in 
arrow::compute::MetaFunction::Execute(std::vector<arrow::Datum, 
std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, 
arrow::compute::ExecContext*) const () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   [...]
   ```
   
   More powerful strip options make the backtrace less useful because the 
symbols of non-public functions are removed:
   ```
   [...]
   #7  0x00007ffff310b277 in std::terminate() () from 
/lib/x86_64-linux-gnu/libstdc++.so.6
   #8  0x00007ffff310b4d8 in __cxa_throw () from 
/lib/x86_64-linux-gnu/libstdc++.so.6
   #9  0x00007ffff373737b in ?? () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #10 0x00007ffff3737399 in ?? () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #11 0x00007ffff37960e7 in ?? () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   #12 0x00007ffff42cc3e0 in 
arrow::compute::MetaFunction::Execute(std::vector<arrow::Datum, 
std::allocator<arrow::Datum> > const&, arrow::compute::FunctionOptions const*, 
arrow::compute::ExecContext*) const () from 
/home/antoine/t/venv-3.10/lib/python3.10/site-packages/pyarrow/libarrow.so.1500
   [...]
   ```
   
   This is on the PyArrow 15.0.2 wheels. The savings are still significant: 
from 61MB (original) to 54MB (stripped) for `libarrow.so`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to