kornelski / kornelski/rust-security-framework

lldb crash on osx for load_native_certs

Open
#185 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
304
Forks
105
PR merge metrics
No merged PRs in 30d

Description

Hi,

I'm getting the following crash on osx when running `rustls_native_certs::load_native_certs()`:

```
__cxa_throw (@__cxa_throw:3)
Security::UnixError::throwMeNoLogging(int) (@Security::UnixError::throwMeNoLogging(int):22)
Security::safeCopyFile(char const*, unsigned int, char const*, unsigned short) (@Security::safeCopyFile(char const*, unsigned int, char const*, unsigned short):345)
Security::MDSSession::updateDataBases() (@Security::MDSSession::updateDataBases():389)
Security::MDSSession::DbOpen(char const*, cssm_net_address const*, unsigned int, Security::AccessCredentials const*, void const*, long&) (@Security::MDSSession::DbOpen(char const*, cssm_net_address const*, unsigned int, Security::AccessCredentials const*, void const*, long&):42)
mds_DbOpen(long, char const*, cssm_net_address const*, unsigned int, cssm_access_credentials const*, void const*, long*) (@mds_DbOpen(long, char const*, cssm_net_address const*, unsigned int, cssm_access_credentials const*, void const*, long*):89)
Security::MDSClient::Directory::cdsa() const (@Security::MDSClient::Directory::cdsa() const:30)
Security::MDSClient::Directory::dlGetFirst(cssm_query const&, cssm_db_record_attribute_data&, cssm_data*, cssm_db_unique_record*&) (@Security::MDSClient::Directory::dlGetFirst(cssm_query const&, cssm_db_record_attribute_data&, cssm_data*, cssm_db_unique_record*&):18)
Security::CssmClient::Table::startQuery(Security::CssmQuery const&, bool) (@Security::CssmClient::Table::startQuery(Security::CssmQuery const&, bool):81)
Security::KeychainCore::DynamicDLDBList::searchList() (@Security::KeychainCore::DynamicDLDBList::searchList():100)
Security::KeychainCore::StorageManager::getSearchList(std::__1::vector>&) (@Security::KeychainCore::StorageManager::getSearchList(std::__1::vector>&):54)
__SecTrustSettingsCopyCertificates_block_invoke_2 (@__SecTrustSettingsCopyCertificates_block_invoke_2:55)
_dispatch_call_block_and_release (@_dispatch_call_block_and_release:11)
_dispatch_client_callout (@_dispatch_client_callout:8)
_dispatch_lane_serial_drain (@_dispatch_lane_serial_drain:170)
_dispatch_lane_invoke (@_dispatch_lane_invoke:99)
_dispatch_workloop_worker_thread (@_dispatch_workloop_worker_thread:165)
_pthread_wqthread (@_pthread_wqthread:75)
```

The strange thing is that this only happens when I'm launching from VSCode using codelldb. When I launch it through lldb on the command line it seems to work fine. Has anyone run into this before / know if there's a fix? I guess #136 is related to this as well.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the crash through rustls_native_certs::load_native_certs() when launched from VSCode with codelldb, then compare it with the command-line lldb path. Investigate the relationship to issue #136 and determine the platform-specific failure boundary; done means the crash is explained and a verified fix or workaround is identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
operating-systems, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.