

Chrome for Mac 64-bit Support - adambware
https://code.google.com/p/chromium/issues/detail?id=18323

======
callahad
Oh, wow, didn't know that Chrome was still 32-bit on Macs. The Linux builds
have been 64-bit since early 2009, and Windows went 64-bit earlier this year.
Congrats to the Chrome team. :)

(FWIW, Firefox has been 64-bit on OS X and Linux since 4.0, but we're still
working on Win64 support. Of course, Microsoft kicked everyone's ass when they
released Windows XP Professional x64 Edition in 2005, which included a 64-bit
version of IE6.)

~~~
cesarb
From what I have read, for software which wasn't originally developed for
Windows, especially if the code base is old enough, porting to 64-bit is
harder on Windows than on other systems.

The problem is that, while the Unix-based world went the LP64 way (int is
32-bit, long and pointers are 64-bit), Windows went the LLP64 way (int and
long are 32-bit, pointers are 64-bit). A _lot_ of Unix programmers tended to
behave as if "long" was the largest native type ("long long" on 32-bit uses a
pair of registers). They have to scrub their whole code base for things like
assuming an object's size or array index will always fit on a "long".

For software originally developed for Windows, LLP64 was supposed to make
porting easier, since unlike on the Unix world (where "long" could be 32-bit
or 64-bit), a lot of Windows programs assumed a LONG was always 32-bit, and
that assumption was baked into file formats and IPC protocols.

Newly developed software has it easier; programmers nowadays keep in mind that
there are relevant systems where sizeof(long) < sizeof(size_t), and since the
C99 standard they have the stdint.h types to help (even on Windows with its
pre-C99 compilers, since it's easy to find a working stdint.h for them).

\----

As for Mac OS X, the porting problem is Carbon. If the code base is old
enough, it'll be using Carbon, which AFAIK is not available for 64-bit.

------
zdw
This also fixes the Java 8 support in Chrome on Mac, which didn't work because
Java 8 only supported 64-bit browsers:

[https://www.java.com/en/download/faq/chrome.xml](https://www.java.com/en/download/faq/chrome.xml)

For those of us that still need to access legacy systems (routers, switches,
etc.) that have Java interfaces, this is a pretty major upgrade.

~~~
hugi
I stopped using Chrome because of the java issue. It showed quite clearly that
Google has zero regard for Mac users and their concerns

~~~
Bakkot
Not really. A lot of people at Google are on Macs. I think it's more that the
Chrome team doesn't prioritize Java support, which I think shows their
priorities are pretty much in order.

~~~
Terretta
The "well, now that the last 32 bit app on your Mac gets with the times,
life's gonna be better" comment shows (a) this wasn't just about Java, and (b)
they knew they're way behind the times.

~~~
coldtea
For one, it's far from the "ast 32 bit app" on the Mac.

Second, even some Apple apps took some years to be released as 64 bit after
the transition.

Third, it's not like 64 bit apps get some magic cookies and unicorn love.
Millions of Mac users used 32bit Chrome just fine and didn't even know about
it (being 32bit).

~~~
jurip
At the moment, the only thing keeping 32 bit frameworks resident on my Mac is
Dropbox. I'm sure there's plenty of legacy apps out there, but it looks to me
like it's not that common anymore.

------
limsup
Can someone explain why this wasn't done long ago? What are the difficulties
of putting out a 64 bit build?

~~~
rtpg
I know for a long time there was an issue with Flash not supporting 64 bit
browsers (and a browser without flash was hard to sell)

~~~
cozzyd
I don't think this is a real issue? (64-bit firefox supported 32-bit flash, at
least on Linux).

------
zw
2009! They thought they could get it done in time for Snow Leopard GM!

~~~
hugi
Apparently, Mac OS X isn't exactly a priority for them.

~~~
codezero
I think that for most purposes 32 bit had worked without much issue so it's a
matter of cost vs benefit. Can you think of any issues that people face
because Chrome was 32 bit? So far I'm seeing Java 8 integration, which is
probably a tiny fraction of their users. Also it's not really breaking since
those users can just use Firefox for that purpose. They obviously don't
consider this a loss.

~~~
comex
Security is a big one. 64-bit address spaces are inherently harder to exploit,
plus, IIRC, on OS X in particular, ASLR in 32-bit processes has some
weaknesses that were never fixed.

~~~
codezero
Good point! To stay on my angle, are there Chrome specific security bugs that
are in the most recent builds that are exacerbated by 32bit builds?

------
rasjafari
So wait - I downloaded the 64 bit 39.0.2171.65 version. Because of this, I
finally updated my Java version (now 8.25). I still can't java applets to run
in Chrome. What gives? I still get Verify Java Version32-bit Chrome does not
support Java 7 and later versions on Mac OS X. Java runs only on 64-bit
browsers.

[http://javatester.org/version.html](http://javatester.org/version.html) Gives
an error - Java needs your permission to run, but I've already allowed in Java
control panel. Ideas?

~~~
logn
Try going to System Settings and then the Java control panel. Locate the Java
applet runtime configuration and make sure it's pointing to Java 8 and not
some random Java 7 applet runtime the upgrade left behind. Java has system
wide preferences for runtimes of both the full JRE and the plugin, separately.

Failing that, go to java.com and see what their check says.

~~~
rasjafari
Hi- Already tried both. Anyone able to ACTUALLY get Java 8 running on Chrome
64bit?

------
glifchits

       #73 mark@chromium.org
       This was released to the stable channel today in version 39.0.2171.65. 
       Thanks for your patience, everyone.
       Status: Fixed

~~~
JoshTheGeek
> Thanks for your patience, everyone.

5 years and 3 months after the issue was opened...

------
damurdock

        damurdock$ file /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 
        /Applications/Google Chrome.app/Contents/MacOS/Google Chrome: Mach-O executable i386
        damurdock$ file /Volumes/Google\ Chrome/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 
        /Volumes/Google Chrome/Google Chrome.app/Contents/MacOS/Google Chrome: Mach-O 64-bit executable x86_64
    

Top is my currently installed Chrome, bottom is freshly downloaded from
Google. Looks like it's time to update!

------
codezero
If I have the 32 bit Chrome, do I need to install a new version, or will
updates going forward give me the right architecture?

~~~
lolo_
I just checked chrome://chrome for updates and it confirmed there was no
update and 38 was the latest, but when I re-downloaded chrome from
[https://www.google.com/chrome/browser/](https://www.google.com/chrome/browser/)
it was the 64-bit v39 - so yes you do need to install a new version!

~~~
TheSoftwareGuy
When you download the new browser, does all of your preferences like bookmarks
and extensions and stuff transfer over?

~~~
millerm
Yes.

~~~
Raptor22
What about if you had pages open that you don't want to lose (literally
hundreds of tabs)?

~~~
JohnBooty
> What about if you had pages open that you don't want to lose (literally
> hundreds of tabs)?

There's always one of these in every discussion about a web browser. That one
person who, instead of bookmarking things, keeps literally hundreds of tabs
open.

(Some of my best friends are "this guy")

------
dchuk
Can anyone here explain the benefits of upgrading to this versus using v38 (32
bit)? Battery life? Less RAM usage? Faster?

~~~
dmishe
With current ram sizes this might be negligible, but 32bit chrome would have
to load 32bit versions of all system frameworks, while you have 64bit in
memory all the time. The less 32bit apps you have, the better :)

~~~
riffraff
I imagine this might affect startup times too? I.e. you are likely to have the
64bit frameworks already in memory while you have to load 32bit from disk when
starting chrome.

(Chrome startup is so slow on my machine that this might be negligible
anyway).

~~~
dmishe
Yes you're right. At the same time, you probably have some other 32bit apps
that forced those libs to load, e.g. Dropbox, which is still 32bit and starts
with the system.

------
raja
If you have previously installed Chrome via Homebrew Cask
([http://caskroom.io](http://caskroom.io)), you can force an update to 39.x by
running brew cask install google-chrome --force

------
jordanthoms
Hopefully now they can resolve the issues that lead to Chrome having
significantly less smooth scrolling than Safari and reducing the battery life
of my MBP from ~8 hours to ~5 hours.

------
htor
Finally! Tested and it works well with the Java 7 plugin. Somehow this Java
verification page still doesn't work:
[https://www.java.com/en/download/installed.jsp](https://www.java.com/en/download/installed.jsp)

------
ghshephard
The requirement for 64 bit support for SSL VPNs has always required I live a
hybrid world on the Mac - browsing with Chrome, and launching 64-bit firefox
to connect to VPNs. It will be interesting to see if I can live in an all
chrome world if I chose.

~~~
geofft
Huh, what VPN software do you use that cares about the architecture of your
browser? Is this an NPAPI plugin?

~~~
rdl
Java (Juniper, etc. SSL VPN clients). Java 32-bit was broken/not available/too
old/whatever. 64-bit java required a 64 bit browser.

------
mikeyouse
Just checking.. does the page
[https://dev.twitter.com/](https://dev.twitter.com/) load for those who've
upgraded to the 64-bit OSX Chrome? Reliably crashes for me now..

~~~
empressplay
seems to work fine for me. 10.6

~~~
mikeyouse
Thanks.. figured it was something local but I appreciate the sanity check.

------
coolnow
Is this build more easier on the battery life? I tried Chrome Canary a few
weeks ago and just scrolling down a page used up much more resources than
Safari.

------
dustinfarris
I wonder how this will affect Chrome's impact on the battery. My OSX already
complains that Chrome "uses significant energy."

------
Animats
There's something terrifying about a _web browser_ needing more than four
gigabytes of memory.

~~~
rlanday
x86-64 programs run faster regardless of how much memory they use because they
get access to more registers. There’s also the issue that loading a 32-bit
application when everything else running is 64-bit requires loading 32-bit
versions of all the libraries it uses, so ideally at some distang point in the
future, all applications will be 64-bit.

------
jmpeax
I was using 64 bit for about a week until only just a couple of days ago. It
crashed often and in between crashes it kept popping up windows saying that
pages were non-responsive (if I want to "wait" or "kill"). Some were actually
unresponsive, others were responsive. Unless they fixed these major issues in
only the last couple of days, I'm sticking with 32 bit.

~~~
coldtea
FWIW, I'm on the beta channel and have been using 64 bit for a month or more
with no issues or crashes whatshoever.

------
wodenokoto
Will I need to reinstall chrome or will it auto update to a 64bit version?

~~~
htor
Just install Chrome beta or canary, by overwriting your existing installation
in /Applications and you're all set.

------
cosjef
Have they fixed the "Google Chrome Helper: CoreText CopyFontsForRequest
received mig IPC error (FFFFFECC) from font server" error that has been around
forever?

------
cozzyd
I wonder why it took so much longer on OS X than Linux?

~~~
evmar
(I worked on Linux Chrome back in the era when this change was made.)

64-bit was important on Linux because the system libraries that Chrome uses
were increasingly unavailable in 32-bit versions on 64-bit systems.

On other platforms, while there are advantages to 64-bit binaries, those
advantages haven't outweighed the other useful things you could be spending
engineering time on.

------
johnnymonster
for the love of God finally!

