Issue metadata
Sign in to add a comment
|
Quitting Chrome may leave dangerous downloads in a failed state instead of removing them |
||||||||||||||||||||
Issue descriptionDangerous downloads aren't supposed to survive across session boundaries unless the user accepts them before shutting down Chrome. However, it seems it's possible for dangerous downloads to not be removed and/or the downloads history DB to not be updated to account for the removal. This results in the dangerous downloads showing up as interrupted during subsequent browser sessions. Repro: * start dangerous download * quit Chrome without accepting said dangerous download.
,
Jun 22 2016
this is mildly related to issue 619834, which is another way dangerous links were being surfaced to users
,
Jun 29 2016
,
Jul 15 2016
It appears to me that dangerous download item probably need to be removed instead of canceled in DownloadManagerImpl::Shutdown().... But, that part of code hasn't been changed for years. So, this is not the cause of this problem. asanka@, do you have any insights about what went wrong here?
,
Jul 18 2016
The code for removal is there, but the problem is that it is being done at shutdown time where the resulting thread hops aren't reliable :-( There are ways to implement this logic in a shutdown/crash friendly manner. E.g.: On Windows, we can create the intermediate quarantined file using DELETE_ON_CLOSE so that once all the file handles go away, the file will be deleted. If the user chooses to keep/recover the file, then Chrome can create a new hardlink to it instead of closing+renaming as is done now. This way the old link will be removed when the previous file handle is closed, and the new link will continue to point at the file. This way, if Chrome crashes or performs an unclean shutdown, the intermediate file will always be cleaned up as expected. We also need to rework how we handle the downloads database. It currently attempts to mirror the in-memory state, which isn't a good design. It should ideally represent what we want to see persisted if the browser were to crash right now. This assertion is viable for downloads (not true in general), and we should move in that direction. In addition to smoother recovery after a crash, this would also mean that we have less work to do during shutdown.
,
Jul 18 2016
Not going to happen for M54.
,
Jul 18 2016
,
Aug 12 2016
asanka@, could you take on this one?
,
Sep 9 2016
Bulk assigning bugs with identified owners.
,
Feb 24 2017
asanka@ -- any update on this P1? Do you think we should change the priority?
,
Feb 28 2017
+dtrainor for re-triaging.
,
Apr 7 2017
+qinmin@, do you have time to take a look at this one?
,
Apr 7 2017
,
Apr 21 2017
dtrainor@, could you help in finding a owner for this issue? Thanks!
,
Jun 8 2017
Sorry for the delay on this. Assigning to xingliu@ to investigate over the next few weeks. The larger history db refactor isn't something we can do in the short term, but Asanka's suggestions around handling this in other ways sounds reasonable.
,
Nov 10 2017
,
Feb 18 2018
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by dbeam@chromium.org
, Jun 22 2016