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

Crash in DataTypeSynchronisationTests #2428

Closed
DominicFrei opened this issue Jun 8, 2021 · 3 comments
Closed

Crash in DataTypeSynchronisationTests #2428

DominicFrei opened this issue Jun 8, 2021 · 3 comments
Assignees
Labels

Comments

@DominicFrei
Copy link
Contributor

@nirinchev Reminder for us for the tests we just looked at:

  1. Crash in DataTypeSynchronisationTests in one of the List tests.
  2. Corrupted memory in Set_RealmValue in DataTypeTests.
@nirinchev
Copy link
Member

I did get a crash with the following stacktrace on master, but I can't seem to repro it after I upgraded to latest v11:

>	realm-wrappers.dll!issue_debug_notification(const wchar_t * const message) Line 28	C++
 	realm-wrappers.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154	C++
 	realm-wrappers.dll!abort() Line 51	C++
 	realm-wrappers.dll!please_report_this_issue_in_github_realm_realm_core() Line 51	C++
 	realm-wrappers.dll!realm::util::terminate_internal(std::basic_stringstream<char,std::char_traits<char>,std::allocator<char>> & ss) Line 124	C++
 	realm-wrappers.dll!realm::util::terminate(const char * message, const char * file, long line, std::initializer_list<realm::util::Printable> && values) Line 140	C++
 	realm-wrappers.dll!realm::`anonymous namespace'::nullify_set<realm::Mixed>(realm::Obj & obj, realm::ColKey origin_col_key, realm::Mixed target) Line 1818	C++
 	realm-wrappers.dll!realm::Obj::nullify_link(realm::ColKey origin_col_key, realm::ObjLink target_link) Line 1860	C++
 	realm-wrappers.dll!realm::CascadeState::enqueue_for_nullification(realm::Table & src_table, realm::ColKey src_col_key, realm::ObjKey origin_key, realm::ObjLink target_link) Line 1335	C++
 	realm-wrappers.dll!realm::ArrayBacklink::nullify_fwd_links(unsigned int ndx, realm::CascadeState & state) Line 57	C++
 	realm-wrappers.dll!realm::Cluster::nullify_incoming_links::__l2::<lambda>(realm::ColKey col_key) Line 948	C++
 	realm-wrappers.dll!realm::Table::for_each_backlink_column<bool <lambda>(realm::ColKey)>(realm::Cluster::nullify_incoming_links::__l2::bool <lambda>(realm::ColKey) func) Line 491	C++
 	realm-wrappers.dll!realm::Cluster::nullify_incoming_links(realm::ObjKey key, realm::CascadeState & state) Line 952	C++
 	realm-wrappers.dll!realm::ClusterTree::nullify_links(realm::ObjKey obj_key, realm::CascadeState & state) Line 1005	C++
 	realm-wrappers.dll!realm::Table::remove_object(realm::ObjKey key) Line 3402	C++
 	realm-wrappers.dll!realm::Table::invalidate_object(realm::ObjKey key) Line 3426	C++
 	realm-wrappers.dll!realm::Obj::invalidate() Line 140	C++
 	realm-wrappers.dll!realm::sync::InstructionApplier::operator()(const realm::sync::instr::EraseObject & instr) Line 176	C++
 	realm-wrappers.dll!realm::sync::Instruction::visit<realm::sync::InstructionApplier &>(realm::sync::InstructionApplier & lambda) Line 998	C++
 	realm-wrappers.dll!realm::sync::InstructionApplier::apply<realm::sync::InstructionApplier>(realm::sync::InstructionApplier & applier, const realm::sync::Changeset & changeset, realm::util::Logger * logger) Line 160	C++
 	realm-wrappers.dll!realm::_impl::ClientHistoryImpl::integrate_server_changesets(const realm::sync::SyncProgress & progress, const unsigned __int64 * downloadable_bytes, const realm::sync::Transformer::RemoteChangeset * incoming_changesets, unsigned int num_changesets, realm::sync::VersionInfo & version_info, realm::sync::ClientReplicationBase::IntegrationError & integration_error, realm::util::Logger & logger, realm::sync::ClientReplicationBase::SyncTransactReporter * transact_reporter) Line 575	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Session::integrate_changesets(realm::sync::ClientReplicationBase & history, const realm::sync::SyncProgress & progress, unsigned __int64 downloadable_bytes, const std::vector<realm::sync::Transformer::RemoteChangeset,std::allocator<realm::sync::Transformer::RemoteChangeset>> & received_changesets, realm::sync::VersionInfo & version_info, realm::sync::ClientReplicationBase::IntegrationError & error) Line 1735	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Session::initiate_integrate_changesets(unsigned __int64 downloadable_bytes, const std::vector<realm::sync::Transformer::RemoteChangeset,std::allocator<realm::sync::Transformer::RemoteChangeset>> & received_changesets) Line 1799	C++
 	realm-wrappers.dll!`anonymous namespace'::SessionImpl::initiate_integrate_changesets(unsigned __int64 downloadable_bytes, const std::vector<realm::sync::Transformer::RemoteChangeset,std::allocator<realm::sync::Transformer::RemoteChangeset>> & changesets) Line 1091	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Session::receive_download_message(const realm::sync::SyncProgress & progress, unsigned __int64 downloadable_bytes, const std::vector<realm::sync::Transformer::RemoteChangeset,std::allocator<realm::sync::Transformer::RemoteChangeset>> & received_changesets) Line 2682	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Connection::receive_download_message(unsigned __int64 session_ident, const realm::sync::SyncProgress & progress, unsigned __int64 downloadable_bytes, const std::vector<realm::sync::Transformer::RemoteChangeset,std::allocator<realm::sync::Transformer::RemoteChangeset>> & received_changesets) Line 1583	C++
 	realm-wrappers.dll!realm::_impl::ClientProtocol::parse_message_received<realm::_impl::ClientImplBase::Connection>(realm::_impl::ClientImplBase::Connection & connection, const char * data, unsigned int size) Line 302	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Connection::handle_message_received(const char * data, unsigned int size) Line 1208	C++
 	realm-wrappers.dll!realm::_impl::ClientImplBase::Connection::websocket_binary_message_received(const char * data, unsigned int size) Line 455	C++
 	realm-wrappers.dll!`anonymous namespace'::WebSocket::frame_reader_loop() Line 957	C++
 	realm-wrappers.dll!`anonymous-namespace'::WebSocket::frame_reader_loop::__l2::<lambda>(std::error_code ec, unsigned int __formal) Line 1004	C++
 	realm-wrappers.dll!std::_Func_impl_no_alloc<void <lambda>(std::error_code, unsigned int),void,std::error_code,unsigned int>::_Do_call(std::error_code && <_Args_0>, unsigned int && <_Args_1>) Line 921	C++
 	realm-wrappers.dll!std::_Func_class<void,std::error_code,unsigned int>::operator()(std::error_code <_Args_0>, unsigned int <_Args_1>) Line 968	C++
 	realm-wrappers.dll!realm::util::network::Service::AsyncOper::do_recycle_and_execute_helper<std::function<void __cdecl(std::error_code,unsigned int)>,std::error_code,unsigned int>(bool orphaned, bool & was_recycled, std::function<void __cdecl(std::error_code,unsigned int)> handler, std::error_code <args_0>, unsigned int <args_1>) Line 2863	C++
 	realm-wrappers.dll!realm::util::network::Service::AsyncOper::do_recycle_and_execute<std::function<void __cdecl(std::error_code,unsigned int)>,std::error_code &,unsigned int &>(bool orphaned, std::function<void __cdecl(std::error_code,unsigned int)> & handler, std::error_code & <args_0>, unsigned int & <args_1>) Line 2848	C++
 	realm-wrappers.dll!realm::util::network::Service::BasicStreamOps<realm::util::network::Socket>::BufferedReadOper<std::function<void __cdecl(std::error_code,unsigned int)>>::recycle_and_execute() Line 2719	C++
 	realm-wrappers.dll!realm::util::network::Service::Impl::execute(std::unique_ptr<realm::util::network::Service::AsyncOper,realm::util::network::Service::LendersOperDeleter> & lenders_ptr) Line 1631	C++
 	realm-wrappers.dll!realm::util::network::Service::Impl::run() Line 1392	C++
 	realm-wrappers.dll!realm::util::network::Service::run() Line 1756	C++
 	realm-wrappers.dll!`anonymous namespace'::ClientImpl::run() Line 710	C++
 	realm-wrappers.dll!realm::sync::Client::run() Line 1902	C++
 	realm-wrappers.dll!realm::_impl::SyncClient::<lambda>() Line 81	C++
 	realm-wrappers.dll!std::thread::_Invoke<std::tuple<void <lambda>(void)>,0>(void * _RawVals) Line 56	C++
 	realm-wrappers.dll!thread_start<unsigned int (__stdcall*)(void *),1>(void * const parameter) Line 97	C++

@DominicFrei
Copy link
Contributor Author

I will keep an eye on this too as soon as I am on the latest v11. It would be good to understand the reason for this but having it solved would be a good start too I suppose. 👍

@nirinchev
Copy link
Member

This appears to be caused by realm/realm-core#4774, so will close this one if favor of the Core issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants