Hacker News new | past | comments | ask | show | jobs | submit login
New Google ChromeOS updates cause 100% CPU usage, heating issues (bleepingcomputer.com)
93 points by headalgorithm 29 days ago | hide | past | favorite | 32 comments

I wonder how much software issues like this cause people to unnecessarily throw away perfectly functional hardware and buy new, given that ChromeOS is heavily targeted towards the non-technical and non-computer-literate. I've personally fixed a few systems that I got for free because they were "broken", by simply reinstalling the OS.

Not sure why you’re downvoted.

I helped a teacher last week reinstall her OS. She was about to buy a new $1300 gaming PC (not reimbursed by the school district) because she kept getting kicked out of her video calls with her students and apps randomly crashed.

And now it’s good as new, no need for a new computer.

I think us tech people sometimes lose sight of the amount of crapware that non-techies accumulate / download / install over a period of years.

CPU performance improvements were basically stagnant for so long that basically any computer from about 2010 onwards could be made an adequate office PC by installing a fresh copy of windows and swapping in an SSD. Now with AMD back in the game, and Intel being forced to improve I wonder if software bloat will catch up with the improved performance and make old hardware obsolete faster - hopefully not.

And just even how hard it for non techies to download and install a simple utility/AV application/whatever when they are on sites that have ads with fake download buttons...

> issues like this cause people to unnecessarily throw away perfectly functional hardware

> ChromeOS is targeted towards the non-technical and non-computer-literate.

you just answered why :)

I think these kind of things should be taught in schools from young age, so that people would have some understanding why some things happen they way they happen (for example why could laptop that has worked perfectly fine become barely usable after few months) and strategies of critical thinking. I am pretty sure there would be at least one person in the room when such decisions happen saying that, but there will be another person saying: What about the economy? Some people unfortunately still believe in broken window parable - that if people could fix their own laptops, then economy would collapse, but they don't think how much people could get progress with their goals if they didn't have to spend money on a new laptop every time it slows down.

Or we as a profession get our shit together? Apply formal methods (yes, yes not a silver bullet), and make software longer lasting instead of pushing our debt onto consumers?

I look forward to some kind of liability forcing companies to actually care.

The problem with this is that kids have limited attention span and there are only so many hours in a school day and so many hours of homework.

In recent decades (at least in the US) we have already gutted civics and home economics completely, and effectively gutted arts and music programs, in the pursuit of STEM and looking good on PISA rankings. What else are we going to eliminate for this new requirement?

I would think basic computer literacy should be included in "the pursuit of STEM" itself, but instead it turned into having masses of students who have next to no interest in, and can barely turn on a computer, being forced into "learn to code" classes...

Elementary school for me in the ‘00s had a computer lab whose primary purpose was to teach how to use Word.

It’s also unclear given the general sorry state of education salaries in the US who we’d be getting to teach these classes. Most adults aren’t that computer literate either, and I doubt a high-falutin’ FAANG employee is about to work in an urban school with lead paint and asbestos for a ~50k salary, some of which you have to use to pay for chalk, tissues, paper towels and other basics of the classroom.

I used to get worried that Gen Z was coming for my job until I realized that just like I didn't learn anything that excited me for my career at school, they probably won't either. It's a crap shoot if you get the right skills at the right time when you are still excitable about otherwise "overly-complicated" things.

From the bug report[1] "E KernelUidCpuFreqTimeReader: Failed to read /proc/uid_time_in_state: java.io.FileNotFoundException:"

So, sort of because of missing files, but more about ignoring an exception and running on into code that's probably looping.

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=113245...

It seems the class in question exists in Android 8 and not but not 10 or 11.


Should this type of problem be caught reliably during QA or were there any rare conditions that triggered it?

Odd as I don't find such a proc interface in my Ubuntu WSL. It seems to be Android specific.

I see no reference to that file in a checkout of the upstream Linux kernel I had here, and I never saw that file in /proc in any Linux system I've played with, but looking at my phone (with Termux) I do see that file. I agree, it seems to be Android specific.

It's filed as a ChromeOS bug...Chromebooks and family.

So if it doesn't exist in regular Linux or ChromeOS, then it must be an Android feature that was accidentally enabled in non-Android builds.

It’s actually kind of amazing just how small of a problem can cause a high-CPU bug. For example, decrementing an unsigned integer to get to a gazillion when you thought you were near zero. And with 64-bit variables being more common, the wrap-around value is a hell of a lot bigger so you could tee up a ton of extra CPU work from something like this.

I like to add sanity checks to loops that force them to break after some “clearly unreasonable” amount, and other such guards, just in case.

That wrap around is very often even a security vulnerability.

The common usage pattern in low level C is:

  if (attacker_size == 0)
    return SizeError;

  char* string_buffer = malloc(attacker_size+1); // oops, string_buffer could be 0 sized.
  memcpy(string_buffer, attacker_buffer, attacker_size);
This caused huge security issues, 2 separate times. The first time was when attackers started understanding integer overflow attacks. The second time was when codebases switched from 32 to 64 bit. The last one is more tricky. But I have seen code 'ported' (that I think looked) like this:

  uint64_t attacker_size = ...;
  if ( attacker_size == 0 || attacker_size == UINT64_MAX)
    return SizeError;
  uint32_t string_size = ((uint32_t)attacker_size+1)*2; // Oops, overflow on 32 bit register, string_size = 0;
  // etc

> decrementing an unsigned integer to get to a gazillion

only until you reach googol, then it should be fine /s

Gah, I've been wondering what's wrong with my Pixelbook Go all day. It sucks that they identified this issue by Friday but didn't stop the release.

Same in chrome on macbook, suddenly it starts to eat 200% cpu and only chrome restart helps. Battery is killed already. Did anyone notice that?

My chromeOS updates recently have been sketchy. It's almost like they're pushing daily updates or something. In particular the sleep/wake process has gone completely bonkers, it's like it completely restarts on every cycle. I'm hoping for stability to return sometime soon though it's been a few weeks already.

Well I use a Debian virtual machine on my Acer Chromebook, I completely avoided this by not updating Chrome OS. Still, it appears as though this could have been solved with a C program in Crosh? Actually a comment referenced this, nevermind.

Just stop holding the spacebar or disable spacebar heating :-)


...Google Play 'com.android.vending:download_service' suddenly utilizing 95-100% of the CPU for an extended period.

Of course, Google gave their vending product the privilege of running in background. Because it's important.

play store should probably run in the background as part of updating apps. What's _really_ wrong about it?

Animats is pointing out that Google has interfered with many apps from running in the background for performance reasons. But Google always special-cases their own apps and gives them extreme privileges on your device, because Google can do no wrong.

It's still a stupid take even after you restated it. The system has background processes. If it did not, nothing would work.

Android (unlike IOS?) seems to have launch-on-push capabilities.[1] That's how updating presumably should be handled. The updater doesn't need to be alive in background when idle.

[1] https://stackoverflow.com/questions/50368716/how-to-automati...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact