Sunday, July 27, 2008

Resolving a “Nightly” Firefox Issue…

While I love the Firefox web browser, I certainly am no Guru when it comes to it.

I like keeping the latest public-release version loaded on our systems, but for daily browsing and work I’ve (almost) always used the “Nightly” builds.

Basically, these “nightly” builds are the pre-alpha versions of the next releases of Firefox.  They incorporate regular changes and code upgrades on the march towards the new version release of Firefox.

These are different from Release Candidates (RC) alpha and beta builds.

So the other day I realized that my home nightly version was reporting in as “Gran Paradiso” while the one on my work laptop was reporting in as “Minefield”.

I thought this was curious but figured it was just due to some branding-thing in about:config and kept going.

A Nightly Problem

So last week I read two articles about “tab-switching” being added into the nightlies for Firefox 3.1

While I had been getting the nightlies on a regular basis, I observed the new tab-switch feature was working on my work-laptop Firefox build but wasn’t on my home systems.

So I downloaded and reinstalled the nightly via the link that Ryan offered.

No problems….except that it now reported “Minefield” instead of Gran Paradiso and I got a memory error dump every time I closed the browser.  Oh yes…my “Organize Bookmarks” kept locking up my system at almost 100% CPU cycles when I clicked that link.

Grrr.

I figured it was something with my system, but lo-and-behold it happened on the Vista system, the other XP laptop, and my work system as well.

That’s a bummer!

Now, I knew I wasn’t having any issues with Firefox nightlies under the “Gran Paradiso” version…so was there a difference? 

Yep!

Could I get the more stable “Gran Paradiso” build back?

Yep!

Mozilla Gran Paradiso versus Minefield Nightlies

It didn’t take me long to find out a perfect summary of the differences…and there ARE differences as Ben Basson and Nitin explain. 

 Trunk & Branch Builds FAQ • mozillaZine Forums

Q. What is the trunk?

A. The trunk is the central source code that is used for continuous and ongoing development. Trunk builds contain the very latest bleeding-edge changes and updates. However, the trunk can also be very unstable at times, so it's good to ask around before using trunk builds.
Latest trunk builds: ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/

Q. What is a branch?

A. Branches are "forks" in the code, split from the trunk and destined to become end-user releases. At conception, a branch contains everything that the trunk contains, but from that point onwards, only certain fixes or changes will be accepted. Therefore, over time, the branch becomes more stable.

Latest 1.8.1 branch builds: ftp://ftp.mozilla.org/pub/firefox/night ... ozilla1.8/
Latest 1.9.0 branch builds: ftp://ftp.mozilla.org/pub/firefox/night ... illa1.9.0/

Q. Why branch? Wouldn't it be better to have everyone working towards a release?

A. Many developers prefer to work on areas of the code which are too risky to change when approaching a release. Some of their changes may also take months to test and implement correctly. Their changes will be made to the trunk so that they don't delay the release and will be picked up in future branches.

Q. How can you distinguish between trunk and branch builds?

A. The main way you can determine if you are using a trunk or branch build is to click the "Help" menu and choose "About". You should see a string that looks something like this:

1.8.1 Branch:

Code: Select all

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15pre) Gecko/2008061720 BonEcho/2.0.0.15pre

1.9.0 Branch:

Code: Select all

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1pre) Gecko/2008061720 GranParadiso/3.0.1pre

Trunk:

Code: Select all

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1a1pre) Gecko/2008061720 Minefield/3.1a1pre


The part that you want to note is the Gecko revision number (rv) and the Firefox version string. These correspond to which build you are using. It works something like this:

rv:1.7.x and Firefox 1.0.x = Gecko 1.7 (Firefox 1.0) Branch.
rv:1.8.0.x and Firefox (or Deer Park) 1.5.0.x = Gecko 1.8.0 (Firefox 1.5) Branch.
rv:1.8.1.x and Firefox (or Bon Echo) 2.0.0.x = Gecko 1.8.1 (Firefox 2) Branch.
rv:1.9.0.x and Firefox (or Gran Paradiso) 3.0.x = Gecko 1.9.0 (Firefox 3.0) Branch.
rv:1.9.1a1pre and Firefox (or Minefield) 3.1a1pre and on = Gecko 1.9.1 Trunk (towards Firefox 3.1)

See the (somewhat outdated) roadmap diagrams below for clarification.

Q. Where can I find out the recent changes that have been made to the trunk or a branch?

A. Read the relevant nightly threads in the builds forum. An excellent unofficial changelog is maintained at The Burning Edge: http://www.squarefree.com/burningedge/releases/

<Snip>

Q: What's Bon Echo/Gran Paradiso/Minefield?

A: Bon Echo is the project codename for Firefox2
Gran Paradiso is the project codename for Firefox3
Minefield is the name given to builds from the Firefox trunk.

Summary of Firefox Nightly versions

So here it is.

Note: Nightly builds can be fraught with bugs, breaks and instability on systems and Add-on Extensions…they are not for casual Firefox users!  Proceed at your own risk!

  • If you pine for retro Firefox 2.0.x versions but want the ongoing “nightly” updates for security work, you want Bon Echo.  Get your Firefox Bon Echo nightly versions here.

  • If you love the latest Firefox 3.0.x builds but want the ongoing “nightly” updates for security work, bug fixes, and generally more stability and dependability, you want Gran Paradiso.  Get your Firefox Gran Paradiso nightly versions here.

  • If you really want to be on the developmental bleeding-edges of  Firefox 3.x.x versions and are willing to accept instability and compatibility issues, you want Minefield.  Get your Firefox Minefield nightly versions here.

Once you have one installed, just go to “Help” and “Check for Updates” to bring down the new nightly and update your installed version.  You can also set up automatic updating in the options.

See also: "Private Label" Firefox Builds where I outline how you can keep multiple versions of Firefox on your system…and then some.

Other Firefox Odd’s and Ends

Some more bits and pieces of note:

Understanding & Tweaking the Firefox 3 Address Bar – Great post by CyberNet News.

NewsFox - Firefox Add-ons – remains my favorite RSS reader for Firefox.

Version 1.0.2 has been released now. (Version notes)

Testing version 1.0.3b1 has also been released. (Version notes)

Get any of them at mozdev.org - newsfox: installation page.

Cheers!

--Claus

1 comment:

Anonymous said...

Nice plug! Glad you mentioned the CyberNet article about the Firefox 3 address bar. I am going to be doing a 'tweaks' post on this topic later today.