On 6/18/24 23:45, Andres Salomon wrote:
I noticed that chromium segfaults upon exit; I suspect that this is why the Restore Pages message pops up. I'll look into that segfault when I have more free time available.
Okay, here's the backtrace. There were a bunch of commits back in May to components/autofill/core/browser/address_data_manager.* and components/autofill/core/browser/geo/alternative_state_name_map_updater.* that is likely the culprit. I'm investigating further now.
Thread 1 "chromium" received signal SIGSEGV, Segmentation fault. 0x000055555c5f327c in base::internal::WeakReference::IsValid() const () (gdb) bt #0 0x000055555c5f327c in base::internal::WeakReference::IsValid() const ()#1 0x0000555557d3d27c in __gnu_cxx::__normal_iterator<base::internal::CheckedObserverAdapter*, std::vector<base::internal::CheckedObserverAdapter, std::allocator<base::internal::CheckedObserverAdapter> > > std::__find_if<__gnu_cxx::__normal_iterator<base::internal::CheckedObserverAdapter*, std::vector<base::internal::CheckedObserverAdapter, std::allocator<base::internal::CheckedObserverAdapter> > >, __gnu_cxx::__ops::_Iter_pred<base::internal::ProjectedUnaryPredicate<base::ObserverList<base::BatteryStateSampler::Observer, false, true, base::internal::CheckedObserverAdapter>::RemoveObserver(base::BatteryStateSampler::Observer const*)::{lambda(auto:1 const&)#1}, std::identity>(base::ObserverList<base::BatteryStateSampler::Observer, false, true, base::internal::CheckedObserverAdapter>::RemoveObserver(base::BatteryStateSampler::Observer const*)::{lambda(auto:1 const&)#1}&, std::identity&)::{lambda(auto:1&&)#1}> >(__gnu_cxx::__normal_iterator<base::internal::CheckedObserverAdapter*, std::vector<base::internal::CheckedObserverAdapter, std::allocator<base::internal::CheckedObserverAdapter> > >, __gnu_cxx::__normal_iterator<base::internal::CheckedObserverAdapter*, std::vector<base::internal::CheckedObserverAdapter, std::allocator<base::internal::CheckedObserverAdapter> > >, __gnu_cxx::__ops::_Iter_pred<base::internal::ProjectedUnaryPredicate<base::ObserverList<base::BatteryStateSampler::Observer, false, true, base::internal::CheckedObserverAdapter>::RemoveObserver(base::BatteryStateSampler::Observer const*)::{lambda(auto:1 const&)#1}, std::identity>(base::ObserverList<base::BatteryStateSampler::Observer, false, true, base::internal::CheckedObserverAdapter>::RemoveObserver(base::BatteryStateSampler::Observer const*)::{lambda(auto:1 const&--Type <RET> for more, q to quit, c to continue without paging-- )#1}&, std::identity&)::{lambda(auto:1&&)#1}>, std::random_access_iterator_tag)
()#2 0x0000555557d37eda in base::ObserverList<base::BatteryStateSampler::Observer, false, true, base::internal::CheckedObserverAdapter>::RemoveObserver(base::BatteryStateSampler::Observer const*) () #3 0x000055555f012998 in autofill::AlternativeStateNameMapUpdater::~AlternativeStateNameMapUpdater() () #4 0x000055555f012abe in autofill::AlternativeStateNameMapUpdater::~AlternativeStateNameMapUpdater() () #5 0x000055555f00c724 in autofill::AddressDataManager::~AddressDataManager()
()#6 0x000055555f00cafe in autofill::AddressDataManager::~AddressDataManager()
()#7 0x000055555f00b234 in autofill::PersonalDataManager::~PersonalDataManager()
()#8 0x000055555f00b37e in autofill::PersonalDataManager::~PersonalDataManager()
() #9 0x000055555dbfbb64 in KeyedServiceFactory::Disassociate(void*) () #10 0x000055555dbfbd82 in KeyedServiceFactory::ContextDestroyed(void*) ()#11 0x000055555dbfa5cc in DependencyManager::PerformInterlockedTwoPhaseShutdown(DependencyManager*, void*, DependencyManager*, void*) ()
#12 0x000055555c22bc5d in ProfileImpl::~ProfileImpl() () #13 0x000055555c22be8e in ProfileImpl::~ProfileImpl() () --Type <RET> for more, q to quit, c to continue without paging--#14 0x000055555c22f687 in ProfileDestroyer::DestroyOriginalProfileNow(std::unique_ptr<Profile, std::default_delete<Profile> >) () #15 0x000055555c230354 in OriginalProfileDestroyer::DoDestroyUnderlyingProfile() () #16 0x000055555c22edba in ProfileDestroyer::Start(std::set<content::RenderProcessHost*, std::less<content::RenderProcessHost*>, std::allocator<content::RenderProcessHost*> > const&) () #17 0x000055555c22e7e7 in ProfileDestroyer::DestroyOriginalProfileWhenAppropriateWithTimeout(std::unique_ptr<Profile, std::default_delete<Profile> >, base::TimeDelta) () #18 0x000055555c22e671 in ProfileDestroyer::DestroyOriginalProfileWhenAppropriate(std::unique_ptr<Profile, std::default_delete<Profile> >) ()
OpenPGP_signature.asc
Description: OpenPGP digital signature