10/30/2019 Typing Delay In Google Chrome For Mac
UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 1082) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.68 Safari/537.22 Steps to reproduce the problem: 1. Start typing in the address bar 2. Sometimes chrome closes 3. What is the expected behavior? Not to close:) What went wrong? It's not a crash either.
Google Chrome is one of the fastest and secure web browsers with a simple user interface for both Windows and Mac PC. It is also available for Android and iOS-based devices also the most used web browser on Smartphones.
I attached gdb and managed to reproduce it but the application closes like it would normally without a crash. At least it appears that way. It seems to be some entry in the auto complete that causes it to close. Crashed report ID: How much crashed? Whole browser Is it a problem with a plugin? N/A Did this work before? N/A Chrome version: 25.0.1364.68 Channel: beta OS Version: OS X 10.8.2.
Processing Labels: -Merge-Approved merge-merged-1364 The following revision refers to this bug: - 2013-02-27T22:75Z Changed paths: M Merge 184805 Mac Do not forward graceful shutdown from child signal handlers. OSX implements fork as a userland wrapper around a system call.
If a graceful-shutdown signal is received before the graceful-shutdown pipe has been replaced, the parent process will shutdown. Change to force a crash in the child in this case. BUG= Review URL: TBR= Review URL.
Processing This fix specifically addresses a problem which happens when the browser spins up a sub-process. Since the browser spins up helper processes for various reasons, it could happen at many different times. But my observation of instrumented code was that predictive pre-rendering greatly dominated. So it's possible that cases other than typing common websites into the omnibox could trigger it, but I somewhat suspect that some of those cases will turn out to be something else. One big indicator of this problem is that you don't see any indication of a crash, such as from a crash report or infobar on next startup, or info in Console.app.
Processing Status: Started Sigh. With the right profile on the right machine, I'm duplicating it with beta and stable. Not with canary. Running with dtrace to monitor fork activity, as I work up through the channels, beta and stable show the forking expected, but not canary - this is using the same profile all the way up.
Except that canary does show the expected forking sometimes (I'm running about three launches between times I see it, which does not happen with beta or stable). I just managed to repro on canary, but it took a lot more tries (I lost count, maybe 2x as many attempts, I've been unable to do it again with canary, but other channels seem easier). The last message seen is: 0301/215557:ERROR:contentmainrunner.cc(197) child SendMessage failed: 0x44e unknown error code from SendTaskPortToParentProcess, AFAICT, that is probably BOOTSTRAPUNKNOWNSERVICE. It would happen if the parent went away in startup. OTOH, it seems to happen when I do a regular Quit, so probably a red herring.
![]()
Maybe there's some process lurking which isn't starting up correctly (logging is not fully setup, so I don't see the pid for that log line). The terrifying problem case which comes to mind is that if the child can crash in fork, so can the parent. But that doesn't make sense.
Though now I'm questioning WTH the signal-handling state is in the child of the fork which caused it to get into that code in the first place, as that shouldn't hold for crashes on the parent side. OK, I'm out of steam for tonight, and my tomorrow is full. When repro'ing in development, I was instrumenting the code and it was definitely happening that the child was seeing a crash, sending a message to the parent, and the parent was quitting. With the patch in place I was definitely seeing the case of going through the patched code correctly and having it catch things. And AFAICT, this case just shouldn't be able to happen in the child any longer.
So there must be something else. It's probably crazy. I wish I didn't have to alternate ESC f ESC f sixty times in a row to replicate it. Processing New predictive-type people added: I do not have reason to believe that the thing which causes the bug is related to prerendering. Rather, prerendering causes a higher volume of fork calls, which eventually triggers whatever race condition has been setup by whatever is the root cause. So mostly my comment #111 is about mitigating the impact while I'm figuring out how deep the problem goes. Having people manually disable this setting means that it is likely to stay disabled for many users even after the closing is fixed, which seems like a poor result.
Processing Also, some color on whether this will fix-fix things or not: In working on repro's and analyzing things, I found that there are a large number of prerenderer forks. Like if I type 'facebook', depending on various factors I can easily see three or four of them.
When I set my machine to only have two CPUs and have my repro script type 'facebook' ESC every 1.5 seconds, both CPUs are pegged and the fan is on and the machine is very sad. Which is to say that the underlying issue around forking on new processes will still remain, but doing many fewer forks for prerenderers may of itself reduce the CPU contention enough that fewer of them hit the race condition (or whatever is) involved. Processing since it only happened with certain letters, especially those I use often, I expected it to be connected with my browser history. I deleted the COMPLETE history, since I do not really need it anyways and no crashes since. I did several tests and couldn't force a crash anymore.
Before it only took me a couple of tries. Some crash IDs: Crash ID 19e47fccc8567944 Crash ID 0cc62b05956fc895 Crash ID 72c0df5d9afcb3f1 Crash ID 9e95fdf28ddd0cd1 Crash ID 959c3ddf7a9e55b0 Crash ID 569c1b Crash ID 58a09bc556e0c5d2 The one letter that surely did it for me was y, since I am fairly often on youtube. Y is already in the predictors again but no crash so far.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |