Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Issue 9450001: Workaround for Windows-only crash inside delay load helper. (Closed)

Created:
8 years, 10 months ago by enal
Modified:
8 years, 10 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, ddorwin+watch_chromium.org, fischman+watch_chromium.org, acolwell+watch_chromium.org, annacc+watch_chromium.org, vrk (LEFT CHROMIUM), scherkus (not reviewing), ihf+watch_chromium.org, DaleCurtis
Visibility:
Public.

Description

Workaround for Windows-only crash inside delay load helper. Crash report shows access violation inside LoadLibraryExA() called from DelayLoadHelper2(), and we cannot figure out what exactly causes the problem. In theory it can be caused by Chrome terminating while we are initializing ffmpeg code, but I am not sure. Workaround is to call delay load helper to patch import tables during renderer initialization. We are loading ffmpeg DLL at this moment anyways but do not patch import tables. Extra overhead is negligeable compared to disk access time. Also fixed potential problem -- LoadLibraryEx() does not accept relative paths when used as we are using it. During normal startup we are getting absolute path, but customer can specify relative path as a command-line flag. Fix is to call Windows API GetFullPathName() to get rid of relative path. BUG=110983 . Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=123865

Patch Set 1 #

Total comments: 7

Patch Set 2 : #

Total comments: 1

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+42 lines, -10 lines) Patch
M media/base/media_win.cc View 1 2 6 chunks +42 lines, -10 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
enal1
Hi Andrew, I believe you are the best person to review the change as you ...
8 years, 10 months ago (2012-02-23 01:09:32 UTC) #1
scherkus (not reviewing)
to be honest I'm not a windows pro so I'm adding cpu@ who might be ...
8 years, 10 months ago (2012-02-23 05:22:55 UTC) #2
DaleCurtis
https://chromiumcodereview.appspot.com/9450001/diff/1/media/base/media_win.cc File media/base/media_win.cc (right): https://chromiumcodereview.appspot.com/9450001/diff/1/media/base/media_win.cc#newcode33 media/base/media_win.cc:33: return "avcodec-53.dll"; On 2012/02/23 05:22:55, scherkus wrote: > dalecurtis: ...
8 years, 10 months ago (2012-02-23 21:03:07 UTC) #3
cpu_(ooo_6.6-7.5)
http://codereview.chromium.org/9450001/diff/1/media/base/media_win.cc File media/base/media_win.cc (right): http://codereview.chromium.org/9450001/diff/1/media/base/media_win.cc#newcode53 media/base/media_win.cc:53: return EXCEPTION_EXECUTE_HANDLER; I don't understand the purpose of the ...
8 years, 10 months ago (2012-02-23 23:58:24 UTC) #4
cpu_(ooo_6.6-7.5)
the LoadLibraryEx fix is good. You can't use a relative path in that case. I ...
8 years, 10 months ago (2012-02-23 23:59:39 UTC) #5
enal1
We are crashing deep inside delay load helper, and I don't see why. I have ...
8 years, 10 months ago (2012-02-24 00:18:51 UTC) #6
rvargas (doing something else)
-1: I don't think we should do this. Even the part about allowing relative paths ...
8 years, 10 months ago (2012-02-24 19:30:54 UTC) #7
enal1
I will remove relative path - related changes, but I still think we need delay ...
8 years, 10 months ago (2012-02-24 20:00:26 UTC) #8
cpu_(ooo_6.6-7.5)
why don't we let src/chrome/app/hard_error_handler_win.cc Do its job? afaik this should apply to the extension ...
8 years, 10 months ago (2012-02-24 20:25:00 UTC) #9
enal1
I wanted to delay raising exception till user really uses audio, not emit it unconditionally. ...
8 years, 10 months ago (2012-02-24 20:37:01 UTC) #10
cpu_(ooo_6.6-7.5)
I am still not convinced of the change, seems it is going to mask the ...
8 years, 10 months ago (2012-02-24 23:05:28 UTC) #11
enal1
On 2012/02/24 23:05:28, cpu wrote: > I am still not convinced of the change, seems ...
8 years, 10 months ago (2012-02-27 17:54:22 UTC) #12
cpu_(ooo_6.6-7.5)
lgtm
8 years, 10 months ago (2012-02-27 18:23:16 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/enal@chromium.org/9450001/7001
8 years, 10 months ago (2012-02-27 18:44:00 UTC) #14
rvargas (doing something else)
http://codereview.chromium.org/9450001/diff/7001/media/base/media_win.cc File media/base/media_win.cc (right): http://codereview.chromium.org/9450001/diff/7001/media/base/media_win.cc#newcode87 media/base/media_win.cc:87: // Workaround for http://crbug.com/110983 nit: There should be a ...
8 years, 10 months ago (2012-02-27 19:23:40 UTC) #15
enal1
On 2012/02/27 19:23:40, rvargas wrote: > http://codereview.chromium.org/9450001/diff/7001/media/base/media_win.cc > File media/base/media_win.cc (right): > > http://codereview.chromium.org/9450001/diff/7001/media/base/media_win.cc#newcode87 > ...
8 years, 10 months ago (2012-02-27 19:33:57 UTC) #16
rvargas (doing something else)
lgtm
8 years, 10 months ago (2012-02-27 20:51:29 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/enal@chromium.org/9450001/11002
8 years, 10 months ago (2012-02-27 23:28:45 UTC) #18
commit-bot: I haz the power
8 years, 10 months ago (2012-02-28 02:02:22 UTC) #19
Change committed as 123865

Powered by Google App Engine
This is Rietveld 408576698