Re: Issue 131309 in chromium: Chrome_ChromeOS: Crash Report - Stack Signature: gdata::GDataOperationRegistry::OnOperationF...

2 views
Skip to first unread message

chro...@googlecode.com

unread,
Jun 6, 2012, 1:06:42 PM6/6/12
to chromi...@chromium.org
Updates:
Status: Started

Comment #1 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

(No comment was entered for this change.)

chro...@googlecode.com

unread,
Jun 6, 2012, 1:28:42 PM6/6/12
to chromi...@chromium.org

Comment #2 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

chrome/browser/chromeos/gdata/gdata_operation_registry.cc:216 looks like:

208 void GDataOperationRegistry::OnOperationFinish(OperationID id) {
209 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
210
211 Operation* operation = in_flight_operations_.Lookup(id);
212 DCHECK(operation);
213
214 DVLOG(1) << "GDataOperation[" << id << "] finished.";
215 if (IsFileTransferOperation(operation)) {
216 FOR_EACH_OBSERVER(Observer, observer_list_,
217 OnProgressUpdate(GetProgressStatusList()));
218 }
219 in_flight_operations_.Remove(id);
220 }

My guess is that we are calling an observer which is already deleted.

chro...@googlecode.com

unread,
Jun 6, 2012, 1:37:42 PM6/6/12
to chromi...@chromium.org

Comment #3 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

OnProgressUpdate is implemented in two classes:

chrome/browser/chromeos/extensions/file_browser_event_router.cc
chrome/browser/chromeos/system/ash_system_tray_delegate.cc

The latter does not remove itself as an observer. This is probably the
culprit.

chro...@googlecode.com

unread,
Jun 6, 2012, 1:46:42 PM6/6/12
to chromi...@chromium.org

Comment #4 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

Reproduced locally. Steps:

1) have a huge file in Downloads
2) copy the huge file to Google Drive


#0 0x00007f11155e0a75 in *__GI_raise (sig=<optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007f11155e45c0 in *__GI_abort () at abort.c:92
#2 0x00007f1115e968c5 in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/libstdc++.so.6
#3 0x00007f1115e94cf6 in ?? () from /usr/lib/libstdc++.so.6
#4 0x00007f1115e94d23 in std::terminate() () from /usr/lib/libstdc++.so.6
#5 0x00007f1115e955ff in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
#6 0x00007f111ae6feed in
gdata::GDataOperationRegistry::OnOperationFinish(int)
()
#7 0x00007f111ae701ce in
gdata::GDataOperationRegistry::Operation::NotifyFinish(gdata::GDataOperationRegistry::OperationTransferState)
()
#8 0x00007f111ae72735 in gdata::GDataOperationRegistry::CancelAll() ()
#9 0x00007f111b2717a9 in gdata::GDataOperationRunner::CancelAll() ()
#10 0x00007f111b23d569 in gdata::DocumentsService::CancelAll() ()
#11 0x00007f111b24239d in gdata::GDataFileSystem::~GDataFileSystem() ()
#12 0x00007f111ae77a07 in gdata::GDataSystemService::Shutdown() ()
#13 0x00007f111ab2d6b0 in
ProfileDependencyManager::DestroyProfileServices(Profile*) ()
#14 0x00007f111b04518a in ProfileImpl::~ProfileImpl() ()
#15 0x00007f111b04222e in
ProfileDestroyer::DestroyProfileWhenAppropriate(Profile*) ()
#16 0x00007f111ab36d47 in ProfileManager::ProfileInfo::~ProfileInfo() ()
#17 0x00007f111ab36e39 in std::_Rb_tree<FilePath, std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> >,
std::_Select1st<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >, std::less<FilePath>,
std::allocator<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >
>::_M_erase(std::_Rb_tree_node<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >*) ()

#18 0x00007f111ab36dd4 in std::_Rb_tree<FilePath, std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> >,
std::_Select1st<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >, std::less<FilePath>,
std::allocator<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >
>::_M_erase(std::_Rb_tree_node<std::pair<FilePath const,
linked_ptr<ProfileManager::ProfileInfo> > >*) ()
#19 0x00007f111ab36eb2 in ProfileManager::~ProfileManager() ()
#20 0x00007f111b21f141 in BrowserProcessImpl::StartTearDown() ()
#21 0x00007f111ae0deab in ChromeBrowserMainParts::PostMainMessageLoopRun()
()
#22 0x00007f111a9fb9ab in
ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() ()
#23 0x00007f111bbb8445 in
content::BrowserMainLoop::ShutdownThreadsAndCleanUp()
()
#24 0x00007f111bccede9 in (anonymous
namespace)::BrowserMainRunnerImpl::Shutdown() ()
#25 0x00007f111d33b924 in BrowserMain(content::MainFunctionParams const&) ()
#26 0x00007f111c82abc5 in content::RunNamedProcessTypeMain(std::string
const&, content::MainFunctionParams const&, content::ContentMainDelegate*)
()
#27 0x00007f111c82acf0 in content::ContentMainRunnerImpl::Run() ()
#28 0x00007f111c8290d1 in content::ContentMain(int, char const**,
content::ContentMainDelegate*) ()
#29 0x00007f111a8df31d in ChromeMain ()
#30 0x00007f11155cbc4d in __libc_start_main (main=<optimized out>,
argc=<optimized out>, ubp_av=<optimized out>, init=<optimized out>,
fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffc8f391e8)
at libc-start.c:226
#31 0x00007f111a8df209 in _start ()


chro...@googlecode.com

unread,
Jun 6, 2012, 2:25:42 PM6/6/12
to chromi...@chromium.org

Comment #5 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

Correction on the repro steps:


1) have a huge file in Downloads
2) copy the huge file to Google Drive
3) press ctrl-shift-q while the copy operation is in progress

chro...@googlecode.com

unread,
Jun 6, 2012, 8:44:35 PM6/6/12
to chromi...@chromium.org
Updates:
Labels: Merge-Requested

Comment #6 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

Submitted: https://src.chromium.org/viewvc/chrome?view=rev&revision=140889

chro...@googlecode.com

unread,
Jun 6, 2012, 8:48:35 PM6/6/12
to chromi...@chromium.org
Updates:
Summary: Chrome_ChromeOS: Crash Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...

Comment #7 on issue 131309 by bugdro...@chromium.org: Chrome_ChromeOS:
Crash Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309#c7

The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=140889

------------------------------------------------------------------------
r140889 | sat...@chromium.org | Wed Jun 06 16:56:47 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/system/ash_system_tray_delegate.cc?r1=140889&r2=140888&pathrev=140889
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc?r1=140889&r2=140888&pathrev=140889

gdata: Fix a crash at shutdown with pending gdata operations

Before the fix, chromeos::SystemTrayDelegate didn't remove itself as
an oberver of GDataOperationRegistry. This resulted in a crash at
shutdown as OnProgressUpdate() was called against
chromeos::SystemTrayDelegate, which was already deleted.

BUG=131309
TEST=confirm the crash is gone per repro steps at crbug.com/131309#c5

Review URL: https://chromiumcodereview.appspot.com/10544034
------------------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 7, 2012, 11:27:44 AM6/7/12
to chromi...@chromium.org
Updates:
Labels: -Merge-Requested Merge-Approved

Comment #8 on issue 131309 by josa...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...

chro...@googlecode.com

unread,
Jun 7, 2012, 12:14:31 PM6/7/12
to chromi...@chromium.org
Updates:
Status: Fixed

Comment #9 on issue 131309 by sato...@chromium.org: Chrome_ChromeOS: Crash
Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309

Merged to m20: crrev.com/141017

chro...@googlecode.com

unread,
Jun 7, 2012, 12:16:31 PM6/7/12
to chromi...@chromium.org
Updates:
Labels: merge-merged-1132

Comment #10 on issue 131309 by bugdro...@chromium.org: Chrome_ChromeOS:
Crash Report - Stack Signature:
gdata::GDataOperationRegistry::OnOperationF...
http://code.google.com/p/chromium/issues/detail?id=131309#c10

The following revision refers to this bug:
http://src.chromium.org/viewvc/chrome?view=rev&revision=141017

------------------------------------------------------------------------
r141017 | sat...@chromium.org | Thu Jun 07 09:10:38 PDT 2012

Changed paths:
M
http://src.chromium.org/viewvc/chrome/branches/1132/src/chrome/browser/chromeos/system/ash_system_tray_delegate.cc?r1=141017&r2=141016&pathrev=141017
M
http://src.chromium.org/viewvc/chrome/branches/1132/src/chrome/browser/chromeos/extensions/external_filesystem_apitest.cc?r1=141017&r2=141016&pathrev=141017

Merge 140889 - gdata: Fix a crash at shutdown with pending gdata operations

Before the fix, chromeos::SystemTrayDelegate didn't remove itself as
an oberver of GDataOperationRegistry. This resulted in a crash at
shutdown as OnProgressUpdate() was called against
chromeos::SystemTrayDelegate, which was already deleted.

BUG=131309
TEST=confirm the crash is gone per repro steps at crbug.com/131309#c5

Review URL: https://chromiumcodereview.appspot.com/10544034

TBR=sat...@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10546050
------------------------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages