Wednesday, May 8, 2013

21.0 released

First, let me issue a capsule music review by saying that The Beach Boys' Sunflower is their best work since Pet Sounds, and anyone who knows my taste in music knows the high regard in which I hold the latter. Brian Wilson's muse guides me as I write the following. Thus concludes my channelling of Lester Bangs, rest in peace.

21 is released (release notes). This is not really a groundbreaking milestone, but it is a noticeably quicker one; we're finally getting on the other end of the JM+TI curve after we took a bad hit around 19-20. In fact, V8 is about 10% faster on the G5, mostly due to improvements to regular expressions, although I'm still unhappy with V8-Crypto's performance and I'd like to unregress that if we end up stuck on JaegerMonkey. I also got canvas compositing working with the 10.4 CoreGraphics backend, though I really need some reftests to verify if it's actually doing it correctly (but to my eye and some basic examples, it appears to be). 21 also includes a fix for a crash in the CoreGraphics backend (issue 217) which will also be fixed in 17.0.6, due out this weekend.

21 also includes the Firefox Health Report, which because of our branding work comes out as the "TenFourFox Health Report." I'm not sure what to do with this yet. It's disabled because the stuff currently gets sent to Mozilla, not me, and I imagine they don't really care. The time and performance standards are also based on computers considerably newer than our cheerfully geriatric workstations, so I don't even consider them relevant. I'll probably completely strike it from the UI for 24. Play with it if you like; I don't really see this as worth building infrastructure for, since the necessary knobs to twiddle it are mostly out of my control.

Under the surface, JavaScript is still kind of a mess, even though it works at least right now. We're getting more and more divergent from Mozilla, so we pass tests we shouldn't (mostly due to stack bailouts, which interestingly don't make us crash anymore because we have so much stack and we allow big stack allocations -- people who remember early problems with stack crashes in the TraceMonkey days will probably snicker at this point), and our methodjit is hacked to avoid certain performance regressions introduced during the Ion-Jaeger integration work, which makes us slightly out of step with an obscure feature.

The IonMonkey work still doesn't build yet, though the assembler and the macroassembler do parse; the lowering and move emitter code need to be reworked now that the former two pieces are done using different assumptions, and then stubs need to be written to let it link. At that point it should be able to crash successfully, sigh. Mozilla has not made any promises about keeping JaegerMonkey in 24, and those of you using Firefox on Linux PowerPC may wish to keep an eye on the interpreter changes because it's being drastically simplified (and this is likely to make using the interpreter even less performant, though given that V8 doesn't even have one you should be consider yourselves fortunate there's an interpreter at all). If the worst case happens and Mozilla yanks JM before the 24ESR switchover, I might issue interim 17 and 22 releases until ionjit gets mounted, but I really don't want to be in that position. Alas, Ben's PowerBook is out of commission, so he is unable to contribute. You can help! Voice your love, affection and ability to program in issue 178.

Speaking of 22, I'm not terribly worried about that port, since JM-solo builds were still supported in this release; there might be some build system changes to work around, but the merge work should not be major, he says while rapping his knuckles on a convenient plank of wood. This port will start early because I'm actually due to take a vacation (ha! fat chance) in June for the first time in nearly two years, and I want to make sure the bulk of the porting work is done in advance. But don't worry, the 22 and 17.0.7 builds will still be out on time. Don't worry, baby. Everything will turn out all right. Smile.

17 comments:

  1. This version seems to screw up NoScript - menu controls are missing. I've also had problems with VideoDownloadHelper, all videos are 0bytes unless refreshing (though that could be YouTube just screwing up again).

    As a side note, why the hell does Mozilla keep screwing with moving menu items to inconvenient places? Now "Clear Recent History" is in the Preferences under Privacy.

    ReplyDelete
    Replies
    1. I don't remember anything lke this with the extensions I usually use, but I'll check it out later today or tomorrow after the 17 builds are done. I vaguely remember an issue with popup menus not repainting though I think that was fixed -- is that what the problem actually is?

      Delete
    2. The menu items in the NoScript popup menu were missing - so there was no way to Forbid or Allow the scripts, or even see what scripts there were. The popup menu had a bunch of separators, then just the bottom options. I tested many pages, closed & restarted the browser, then tested more pages. When I reverted back to 20, it was normal again. I just opened 21 to take screenshots to show you, but the damn thing's working normally now. (annoying, actually, because it makes me look like an idiot - but I tested carefully, I swear!)

      Delete
    3. I love these problems that fix themselves. ;)

      Still, keep an eye out, since I did get a little display glitchiness on my 7450 iMac G4. Not in popups, but in browser chrome, which may be related. Like your situation, it seemingly selfcorrected.

      Delete
    4. Speaking of self-correcting - those unwanted Search Engines I complained about before (Amazon, Bing, Twitter, Yahoo) - they come back with every version change - no matter how many times you delete them. I know it's Mozilla, not you doing this, but I just wanted to bitch about it here. ;)

      You can't even change the list order anymore - which makes those "move up" "move down" buttons absolutely useless.

      Delete
    5. The NoScript menu problem and YouTube refresh problem came back. I tried posting about it, but I couldn't post - just got a blank page. I had to switch back to 20 before it would work. I think all these problems are related. I think something is stopping downloading before it is finished. (new "security" measure?)

      Delete
    6. I can't reproduce the NoScript issue. Perhaps it's intermittent or network related, though I am not a routine NoScript user.

      Delete
    7. I already checked to see if it's network related - it's not. It's an intermittent problem that only happens on 21. When I switch back to 20, there's no problem.

      I'll just keep using 20 for now and wait to see if others have this problem.

      Delete
    8. When this happens, if I open version 17.0.6, close the app, then open version 21 again, the no script menu works again, but after some amount of time it starts messing up again. Do others have two copies of TenFourFox installed? I tried deleting 17 and restarting but it still starts losing the NoScript menu after some time. First launch is fine...

      Delete
    9. I'm not sure if this is the same issue, but the NoScript maintainer is tracking something similar.

      https://bugzilla.mozilla.org/show_bug.cgi?id=842494

      Delete
    10. I don't think that's the same problem. That looks like a graphics bug. The problem I reported had no graphical corruption - just missing menu items.

      TFF 21:
      http://img838.imageshack.us/img838/7533/noscriptscrewed.png

      In 20, it displays correctly:
      http://img812.imageshack.us/img812/8764/nosriptnotscrewed.png

      (Ignore the NoScript version change - same with other version, but didn't get screenshot)

      Delete
    11. Then I don't have any other suggestions for you, unfortunately. Without a reliable test case I can replicate, there's very little I can do on my end.

      Delete
    12. That's OK. As I said, I'll just use 20 for now.

      Another problem that I first saw in 19 Aurora is in 20 and 21: the Remember Password popup doesn't seem to work. Pressing the button does nothing and you have to close the popup with the X.

      Delete
  2. No issues with NoScript (v2.5.5) here (at least that I've noticed.)

    Thanks for the ongoing efforts--AND the Brian shout-out! (LOVES me some BW!)

    ReplyDelete
    Replies
    1. I'm listening to Surf's Up today. Not nearly as strong as Sunflower, but certain songs, Disney Girls in particular, are some of their best work.

      Delete
  3. is the changeset for 21 labeled wrong? Says 2012?
    "TenFourFox21-changesets-20120507.zip Changesets for 21.0 unstable release (current to Gecko/20130507) May 8 May 8 2.1 MB 16"
    Thanks, Joe

    ReplyDelete
    Replies
    1. The filename is wrong, but the tag is correct, and if you look at the files they're all from 2013. That's the right changeset pack. Sorry about the error.

      Delete

Due to an increased frequency of spam, comments are now subject to moderation.