New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 802074 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Uploading large number of photos from an AFP share to photos.google.com (~1800) consistently crashes Chrome on Mac

Project Member Reported by denis@google.com, Jan 15 2018

Issue description

Chrome Version: 63.0.3239.108
OS Version    : OS X 10.12.6
Chrome Version: 63.0.3239.132
OS Version    : OS X 10.13.2
URLs (if applicable) : https://photos.google.com/albums
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari: When the files are dropped to "ADD PHOTOS" page on Photos.google.com site, there is a message pos up on the top of the browser screen: "This web page was reloaded because it was using a significant memory."
    Firefox: Then the photos are dropped to "ADD PHOTOS" page on Photos.google.com site, nothing happens at all. 
    IE/Edge:

What steps will reproduce the problem?
1. Open fotos.google.com in Chrome on Mac: https://photos.google.com/albums
2. Try to upload more then ~150 fotos at ones using the UPLOAD link on the fotos.google.com page or dropping files form Finder directly to a fotos albums. If you try to upload ~1800 photos it is guarantee to crash Chrome within a minute.

What is the expected result?
Photos are successfully uploaded to photos.google.com

What happens instead of that?
Chrome crashes

Please provide any additional information below. Attach a screenshot if
possible.

The crash is consistent across different Mac OS version and Chrome browsers:

ENVIRONMENT:
- OS, Browser: 
Chrome: Version 63.0.3239.108 (Official Build) (64-bit)
Mac OS 10.13.1 (17B1003)
MacBook Pro (Retina, 15-inch, Early 2013)
- URL: https://photos.google.com/albums
Chrome Crash Report ID:
7ed196904f4e24a1 (Local Crash ID: fd8d8cc6-ad2f-497a-89f4-8d10260c2282)
Crash report captured on Wednesday, December 27, 2017 at 9:27:27 PM, uploaded on Wednesday, December 27, 2017 at 9:27:27 PM

ENVIRONMENT:
- OS, Browser: 
Chrome: Version 63.0.3239.132 (Official Build) (64-bit)
Mac OS 10.13.2 (17C88)
MacBook Pro (Retina, 15-inch, Early 2013)
- URL: https://photos.google.com/albums
Chrome Crash Report ID:
9df0944a8af9800f (Local Crash ID: d335c7cc-7bc1-482e-a8ad-ec94fda80ea9)
Crash report captured on Monday, January 15, 2018 at 11:28:35 AM, uploaded on Monday, January 15, 2018 at 11:28:36 AM


 

Comment 1 by denis@google.com, Jan 16 2018

After more experiments, it turned out that Firefox is the only one browser, which works. It doesn't say anything when files are dropped on the "ADD PHOTOS" page, but it eventually uploads all 2000 images.

Comment 2 by rsesek@chromium.org, Jan 16 2018

Labels: -Pri-3 Stability-Crash Pri-2
Are you uploading photos from the main hard drive, an external drive, or a network share?

It looks like we've got an issue with FD management:

LOG_FATAL: scoped_file.cc:42: : Bad file descriptor (9)

Thread 32 (id: 49264) CRASHED [EXC_BREAKPOINT / EXC_I386_BPT @ 0x000000010cb6cba1 ] 

0x000000010cb6cba1	(Google Chrome Framework -debugger_posix.cc:267 )	base::debug::BreakDebugger()
0x000000010cb85430	(Google Chrome Framework -logging.cc:791 )	logging::LogMessage::~LogMessage()
0x000000010cb8575b	(Google Chrome Framework -logging.cc:554 )	logging::ErrnoLogMessage::~ErrnoLogMessage()
0x000000010cb8015d	(Google Chrome Framework -scoped_file.cc:42 )	base::internal::ScopedFDCloseTraits::Free(int)
0x000000010cb78fd3	(Google Chrome Framework -scoped_generic.h:153 )	base::File::Close()
0x000000010cf42188	(Google Chrome Framework -file_stream_context.cc:193 )	net::FileStream::Context::CloseFileImpl()
0x000000010cb6e27b	(Google Chrome Framework -callback.h:64 )	base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)
0x000000010cbd7f9b	(Google Chrome Framework -task_tracker.cc:411 )	base::internal::TaskTracker::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool)
0x000000010cbd8b0b	(Google Chrome Framework -task_tracker_posix.cc:23 )	base::internal::TaskTrackerPosix::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool)
0x000000010cbd78f6	(Google Chrome Framework -task_tracker.cc:311 )	base::internal::TaskTracker::RunNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*)
0x000000010cbd279f	(Google Chrome Framework -scheduler_worker.cc:72 )	base::internal::SchedulerWorker::Thread::ThreadMain()
0x000000010cbe3a66	(Google Chrome Framework -platform_thread_posix.cc:75 )	base::(anonymous namespace)::ThreadFunc(void*)
0x00007fff5bb9d6c0	(libsystem_pthread.dylib + 0x000036c0 )	_pthread_body
0x00007fff5bb9d56c	(libsystem_pthread.dylib + 0x0000356c )	_pthread_start
0x00007fff5bb9cc5c	(libsystem_pthread.dylib + 0x00002c5c )	thread_start
0x000000010cbe3a0f	(Google Chrome Framework + 0x01cb0a0f )	

Comment 3 by denis@google.com, Jan 16 2018

It is a network share.
Labels: Needs-Triage-M63

Comment 5 by denis@google.com, Jan 16 2018

Don't know if it makes any difference, but I am using Synology NAS.

Comment 6 by rsesek@chromium.org, Jan 16 2018

The fact that it's from a network share is likely the problem – we've seen a variant of this bug before. What protocol are you using (AFP, SMB, NFS)?
Labels: Needs-Feedback

Comment 8 Deleted

Comment 9 by denis@google.com, Jan 16 2018

I use AFP. I can enable transfer logs on Synology, if it helps.
Project Member

Comment 10 by sheriffbot@chromium.org, Jan 16 2018

Cc: spqc...@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "spqchan@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: erikc...@chromium.org davidben@chromium.org
Summary: Uploading large number of photos from an AFS share to photos.google.com (~1800) consistently crashes Chrome on Mac (was: Uploading large number of photos to photos.google.com (~1800) consistently crashes Chrome on Mac)
Interesting. +davidben since this looks a lot like  issue 603354 , though this time we do have errno (EBADF) already handy.

Also +erikchen since we also have issue 786316 open, which we don't have any leads on, but it could be related to uploading from network shares.

Do either of you have ideas for how to help track what we're doing wrong with FDs here? It sounds like there's at least a consistent repro.

Comment 12 by denis@google.com, Jan 19 2018

I am happy to run any instrumentation for you to capture more data, since I can easily reproduce it.
That it's EBADF is a little concerning. Either some code somewhere is doing bad things to fds (i.e. this is the fd analog of a UAF), which would suggest it's not related to the network share, or AFP causes benign closes to return EBADF. The latter would be incredibly bad manners. :-/ macOS does return other errno values on close sometimes, which is already kinda bad manners, but we should ignore those now.
Summary: Uploading large number of photos from an AFP share to photos.google.com (~1800) consistently crashes Chrome on Mac (was: Uploading large number of photos from an AFS share to photos.google.com (~1800) consistently crashes Chrome on Mac)
(Renaming bug since AFS is a different network filesystem and it sounds like this bug is about AFP. :-) )
Labels: TE-NeedsTraige-help
As this issue related to network file system & AFP,Seems it is out of scope from TE end, adding TE-NeedsTraige-help label to move this out of our triaging bucket.

Could someone from dev team please take a look into this issue.
Thanks..!
Status: Available (was: Unconfirmed)
I would like to look into this at some point. Alternatively, someone else is free to do this.. 
Cc: mark@chromium.org
Probably the next steps would be to:

1. Determine whether this is EBADF because some other piece of code is double-closing our file descriptors and hitting this one or if macOS actually sends EBADF on these networked filesystems. The latter would be rather bad manners. In the past, I think folks have had some success messing with macOS's fd guard feature, which pinpointed a bug in Security.framework. (But this report is on an up-to-date macOS, so it's not that bug.)

2. We've also had success looking at the kernel source code in https://opensource.apple.com/, which previously confirmed that networked filesystems sometimes emit non-EBADF errnos on valid fds. That could be worth another look to check this.

+mark had some experience with this sort of mess previously.
Owner: erikc...@chromium.org
Status: Assigned (was: Available)
erikchen@ is working on this in issue 786316.

Sign in to add a comment