1 2
BoxheadTim
BoxheadTim GRM+ Memberand MegaDork
2/11/22 8:49 a.m.
wearymicrobe said:

Dear lord Mazda did you hirer first year coders who have no idea how to do input sanitation. The title shoud read crappy Mazda code breaks down. Also this is not the first time it has happened and its not the first time it has happened to Mazda. 

Dr Dobbs Journal (RIP) at some point had a columnist who wrote about programming embedded systems. At some point he mentioned "I know way too much about computers to want one under the hood of my car" and promptly went out and bought a late 60s muscle cars or somesuch so he had some with a carb instead.

While I do like me some fuel injection, the older and more curmudgeonly I get, the more I start agreeing with the sentiment behind it.

DirtyBird222
DirtyBird222 PowerDork
2/11/22 9:16 a.m.

Things I'll never have to worry about as 1) I would never own a Mazda and 2) I would never listen to NPR.
 

In all seriousness the new way manf. integrate their "infotainment" systems into the dash makes it next to impossible to find an "off the shelf" solution in the event something like this happens. Just dropping a single din Alpine is to circumvent would likely be just as much of a PITA as getting a replacement from the dealer. 

Gearheadotaku (Forum Supporter)
Gearheadotaku (Forum Supporter) GRM+ Memberand UltimaDork
2/11/22 12:04 p.m.

What happened to a radio just being a radio? 

Keith Tanner
Keith Tanner GRM+ Memberand MegaDork
2/11/22 12:09 p.m.

In reply to Gearheadotaku (Forum Supporter) :

Consumers happened. "I wanna stream Spotify!" "I want CarPlay!" "I want satellite radio!" "I want better sound quality!"

I'll bet the 2016 Miata Sport isn't affected, as it has a much simpler infotainment setup with no screen. Although it would be interesting to know if it's got the same processing behind it.

wearymicrobe
wearymicrobe PowerDork
2/11/22 1:29 p.m.
BoxheadTim said:
wearymicrobe said:

Dear lord Mazda did you hirer first year coders who have no idea how to do input sanitation. The title shoud read crappy Mazda code breaks down. Also this is not the first time it has happened and its not the first time it has happened to Mazda. 

Dr Dobbs Journal (RIP) at some point had a columnist who wrote about programming embedded systems. At some point he mentioned "I know way too much about computers to want one under the hood of my car" and promptly went out and bought a late 60s muscle cars or somesuch so he had some with a carb instead.

While I do like me some fuel injection, the older and more curmudgeonly I get, the more I start agreeing with the sentiment behind it.

I program and work on very large laboratory robotics. I have a single Apple laptop and a non smart TV with a wire stick. About s much tech as I have in the house. If I had a printer I would keep a hammer next to it just in case it got uppity. 

People do not realize the extent that the world keeps running because some guy has a weird 15 year old program he wrote and continued to maintain for the fun of it.  Or that we use physical valves for things we really don't want a ocmputer having access too. 

How Little Bobby Tables Ruined the Internet | by John Eckert | Medium

 

z31maniac
z31maniac MegaDork
2/12/22 2:17 p.m.

In reply to wearymicrobe :

15-years old isn't that old when you're talking about HUGE systems. How much of the government still runs on programs based on COBOL? Not may know it now and if you do there are very lucrative jobs to be had. 

We are currently redesigning the underlying backend of our commerce system that originally was released 22 years ago? And Oracle still paid $9.6 billion for us in 2016. Of course lots of features and functionatily have been added and performance improved, but it's finally time to "eliminate the technical debt." And it's taking hundreds of programmers around the world a few years to do. 

As to entry-level coders causing the problem, I don't you could successfully test for "In 5 years, what happens if one radio station sends out a graphic to identify their station with no extension?" That's such an incredible edge case that it took this long to happen. 

BoxheadTim
BoxheadTim GRM+ Memberand MegaDork
2/12/22 2:25 p.m.

In reply to z31maniac :

I think if you're building a system that processes image files, someone should put unit tests in there that check for edge cases.

Patrick
Patrick GRM+ Memberand MegaDork
2/12/22 2:29 p.m.

My ram's uconnect system bricked during an ota update in November, they said take it to the dealer and pay for update via computer that may or may not work otherwise new head unit for thousands.  I put an aftermarket HU in with an interface to retain the factory stuff that ran through it(backup cam, chimes, aux input)

RevRico
RevRico GRM+ Memberand UltimaDork
2/12/22 2:36 p.m.
Keith Tanner said:

In reply to Gearheadotaku (Forum Supporter) :

Consumers happened. "I wanna stream Spotify!" "I want CarPlay!" "I want satellite radio!" "I want better sound quality!"

I'll bet the 2016 Miata Sport isn't affected, as it has a much simpler infotainment setup with no screen. Although it would be interesting to know if it's got the same processing behind it.

Here's what I don't understand. I've had most of that technology, in a way, since the early 2000s with cheap aftermarket head units. Entry level Kenwood, clarion, alpine head units could handle streaming via Bluetooth or aux cable since the technology was rolled out to the masses while major manufacturers were still acting like a CD player was the hottest new tech. Satellite radio adapters were released immediately, followed shortly by being built into new units.  My palm treos, my Samsung Instinct, hell I think my Motorola E815 and possibly razor could all do Bluetooth music and calls through my head units. 

All that while looking, objectively at least, better than original. Until the rollout of touchscreen, which was still years before OEs, and in some cases still performs better. But with the decision to build the car around the infotainment system, updating and upgrading as a consumer is considerably more difficult these days. 

I just never understood the gap in technology, unless it was just too scary for the average consumer at the time.

I guess what I'm getting at is that none of this stuff is really new tech anymore. Some of it is pushing 15, 20 years old. The bugs and kinks should be worked out by now surely. There will always be edge cases, and updates can interfere with legacy code, but the basic underlying aspects are always the same. 

But I'm still surprised to meet people listening to broadcast radio, and haven't personally, willingly, listened to it in a very very very long time. 

z31maniac
z31maniac MegaDork
2/12/22 3:07 p.m.
BoxheadTim said:

In reply to z31maniac :

I think if you're building a system that processes image files, someone should put unit tests in there that check for edge cases.

You would think, but there are currently more than 10,000 FM radio stations and in 5 years, this happened once, by one station. Perhaps they should have checked their own code to ensure it met the current API's for the interface......like including an extension for the file? 

If my stuff is expecting you to provide "X" information for "Y"output, and you don't provide "X" information and cause a problem.............is it my fault for not assuming you'd make the mistake, or yours for the making mistake? 

Don't take this as me trying to absolve from Mazda, I just think it's more nuanced than that. 

Keith Tanner
Keith Tanner GRM+ Memberand MegaDork
2/12/22 4:21 p.m.

In reply to RevRico :

The difference is that the car manufacturer has a long lead time and is expected to support this stuff for at least a decade. What would expect an aftermarket stereo manufacturer to do if something bricked their unit a decade after it was introduced? Expectations for a car manufacturer are different. 

BillKeksz
BillKeksz New Reader
2/27/22 7:21 a.m.

I'm wondering if the AIO tweaks, installed after the serial hack needed for some firmware versions, ends up bypassing this check.

BillKeksz
BillKeksz New Reader
2/27/22 7:26 a.m.

In reply to No Time :

It's also the interface for resetting DRL behavior and other ancillary functions.

Pete. (l33t FS)
Pete. (l33t FS) GRM+ Memberand MegaDork
2/27/22 8:37 a.m.

In reply to BillKeksz :

Maintenance reset, TPMS reset... a lot of manufacturers are putting that in the infotainment system.  Which is a lot nicer than, say, the steering wheel button Konami Code that Mercedes required.

Type Q
Type Q SuperDork
2/27/22 11:22 a.m.

My brother works a for large tech company in one of their business units that sells to the automotive OEM's.  He tells me that safety critical control software (powertrain mgt, anti-lock braking, digital instrument panels, etc...) are have some of the highest testing/quality requirements around. The infotainment systems for a long time were done to a very low standard. That has been changing rapidly, because more recent standards say that if you what to display infotainment data on the driver instrument panel or vice versa, the infotainment software has to be built and tested to same standards as the controls software.

That is my understanding of it. (This not my field of expertise.)

           

Loweguy5
Loweguy5 GRM+ Memberand HalfDork
2/27/22 9:39 p.m.

NPR strikes again!

BillKeksz
BillKeksz New Reader
2/27/22 10:10 p.m.

In reply to Pete. (l33t FS) :

No, the OEM reset (pushing three buttons simultaneously) just adds another reboot, which it's already looping. You can't even get to the maintenance menu, since it's looping.

The AIO tweaks or other rewrite of the startup sh would have to be done before this problem happened.

Keith Tanner
Keith Tanner GRM+ Memberand MegaDork
2/28/22 12:36 a.m.
Type Q said:

My brother works a for large tech company in one of their business units that sells to the automotive OEM's.  He tells me that safety critical control software (powertrain mgt, anti-lock braking, digital instrument panels, etc...) are have some of the highest testing/quality requirements around. The infotainment systems for a long time were done to a very low standard. That has been changing rapidly, because more recent standards say that if you what to display infotainment data on the driver instrument panel or vice versa, the infotainment software has to be built and tested to same standards as the controls software.

That is my understanding of it. (This not my field of expertise.)

           

I'll bet there was a step change in 2014 after the remote control Jeep fiasco. 

Type Q
Type Q SuperDork
2/28/22 1:02 a.m.

In reply to Keith Tanner : 

Probably. The other thing that is going on is that the industry is preparing for autonomous vehicles. Things like remote control Jeep fiasco brought home to people that they can't afford to have weak/half-assed elements of the software/hardware stack if they are going to safe autonomous operations.  

Berck
Berck Reader
2/28/22 2:04 a.m.
z31maniac said:

In reply to wearymicrobe :

As to entry-level coders causing the problem, I don't you could successfully test for "In 5 years, what happens if one radio station sends out a graphic to identify their station with no extension?" That's such an incredible edge case that it took this long to happen. 

This attitude from someone who apparently works in the industry is pretty disappointing.  It's clearly not an incredible edge case--it happened.  And "sanitize your input" is pretty basic stuff--basic enough that wearymicrobe posted the relevant xkcd.  I concur that it's a coding-101 level mistake, not an "incredible" edge case.  It's a bug that shouldn't have been written, should have been caught in a code review, or any reasonable fuzz testing scheme.

1 2

You'll need to log in to post.

Our Preferred Partners
68fvLErFAim98ee74W4sWmSa0PKFc3qOGAuVzS61ITVGwgHJytLKzYoZmohcOodN