Who should fix a broken Flash?

| | | |

But wait... another long post from me... this time from an email I wrote today to the Fusion Linux mailing list... regarding how Flash 64-bit was broken in Fedora 14 and the arguments around who should fix it and why:

Greetings,

----- Original Message -----
> I am sorry to disagree, Linus does state that it is an hack, but he
> also suggests that it could/should be used, please see comment
> https://bugzilla.redhat.com/show_bug.cgi?id=638477#c38 :
>
> " The nicest alternative might be to just install that mymemcpy.so
> into the google chrome directory, and add the LD_PRELOAD to the wrapper shell
> script that google chrome already uses for the xdg binaries and the ffmpeg
> library.
>
> And obviously something similar should work for firefox. I just
> happen to use chrome, so I gave the directions (approximate as they were) for the
> thing I tried.
>
> No guarantees. It was a really quick hack. "

Oh don't worry about disagreeing with me. That is often good and I don't take it personally. :)

Yeah... but did you read comment from Linus later on?

https://bugzilla.redhat.com/show_bug.cgi?id=638477#c199

- - - - -

Linus Torvalds 2011-02-21 18:19:22 EST Comment 199

Don't use my workaround: it was a stupid hack to test the bug, and show that "always copy upwards" works better than the crap that is in glibc now.

A much better workaround is likely to just implement memcpy() as memmove() (you can replace the inline asm by that in my preload example if you want to). Once memcpy() isn't small and trivial any more, that's just the right thing to do.

The fact that the glibc people don't do that, and that this hasn't been elevated despite clearly being a big usability problem (normal users SHOULD NOT HAVE TO google bugzillas and play with LD_PRELOAD to have a working system), is just sad.

Quite frankly, there is no reason for the current memcpy() mess. There is no _technical_ reason for it, and there is certainly no usability reason for it. Why the Fedora people don't just fix it, I don't understand. It's a shame and a
disgrace.

The fact that Adobe does something that isn't technically right is no excuse for having a sub-par crap memcpy() implementation.

And how does one raise the priority for a bug in bugzilla, or get it re-assigned to somebody who cares?

- - - - -

Please note that I disagree with Linus on everything but the first half of the first paragraph. :) So did the glibc developers and the Fedora developers. While users want it to work, it isn't Fedora's job to fix Adobe's broken program. Just because the problem didn't show up until after the glibc change doesn't mean the problem wasn't there. It was just luck that it worked to begin with. The glibc change just happened to expose the problem, not create it. Adobe needs to fix their program. Why can't they? They update Flash all the time so getting an update out to users really isn't a problem. They said they have a fix for the issue but it could be months before it gets deployed? Why?

Linus still ignores the direct evidence that the glibc change wasn't supposed to be faster except on lower end CPUs... and his testing is invalid. He blathers on and on... intimidating others. That is his way. That is actually his sense of humor... and he is obviously right much more often than when he is wrong... but this is one of the few times he is wrong. :)

Working around Adobe's problem can be done... but why should we do it? Oh, so it makes our distro look better... and users are happier. Yeah, but look at the crazy mess of a workaround it is. Is every distro supposed to engineer their own fix? How much work is that by how many people? I realize that many have not and may not run into this issue because they use older versions of glibc... but you get my point.

I think it is better to say... "we are aware of this bug and we are waiting for Adobe to fix it" and put the blame where it needs to go... rather than everyone working around Adobe's problem and then having to undo everything after they fix it.

What will be next? How many other closed source, commercial vendors will need to be accommodated in the future? This would set a very bad precedent... and that's why (in my opinion) Fedora didn't go for it... even with Linus breathing down their necks.

Fedora doesn't even ship with Flash (nor Google Chrome). They ship with alternative players and those are not affected. Lots of programs break when libraries change... and if they are in distro then they get fixed. If they are closed, commercial products... and they are slow to change... that just re-enforces our belief that FOSS is a better development model... because it is.

Ok, Fusion Linux DOES ship with Flash... and maybe you guys want to fix it. I haven't really contributed to Fusion Linux other than typing some emails here and there... so my opinion doesn't really matter. Do what you think is best... but I did want to provide some additional background and clarification.

I've been living with the warbly sound on some Flash videos for some time now... and I guess I've gotten used to it. Like I said previously, it just strengthens my desire to consume and promote the use of more non-flash content... like webm and ogv.

I don't want baby users who are pampered away from issues... I'd prefer to grow a community of contributors who can see problems (rather than having them hidden from them)... who work to solve problems rather than work around them. I guess that's part of the reason I'm a Fedora user. :)

> I am sorry that it did not fix for you, but as you can check from the
> bug report it fixed for many others. IMHO and until there is proper
> fix we should try to provide a positive user experience to as mush
> users as we can.

That report has been around for a long time and there have been a ton of updates since then. I don't know if that has a bearing on it not working for me or not. This fix I tried was the patch not the Linus fix. That fix was too much work for me.

> I don't think that the technical argumentation on who is right or
> wrong about the proper fix has any relevance for the end user, also
> I do not have have the technical expertise to debate with you, Linus
> or the glibc maintainers about the change.
>
> My suggestion was just about delivering a better experience to the
> users, getting broken sound on some flash contents is bad, if we
> could avoid it it would be great.

See my above comments.

I do appreciate you taking the time voice your opinions... because it shows you care... and I definitely want to encourage that! Please do not take anything I've written as a personal attack. I don't claim to be any more right than you... but it is obvious I disagree. Perhaps you'll be comforted in the knowledge that Linus agrees with you... I know I would be. :)

One other thing Linus was wrong on and that was on moving cgroup scheduling policy into the kernel... rather than keeping it in userspace... like the systemd developer explained was the better way. I don't recall what the final outcome of that was.

TYL, Scott Dowdle