Re: Unable to restore focus and 32-bit Linux builds

2013-09-09 Thread Nicholas Nethercote
On Sun, Sep 8, 2013 at 5:29 PM, Nicholas Nethercote
n.netherc...@gmail.com wrote:

 I want to land https://bugzilla.mozilla.org/show_bug.cgi?id=910517,
 which is just a clean-up of memory reporters (and is blocking a bunch
 of follow-up work.)  But I'm blocked by some baffling time-outs
 occurring only on 32-bit opt Linux builds.  (32-bit debug Linux builds
 are fine.)

 About 90% of mochitest-1 runs hit this time-out.  The problem is that
 in a few tests this error from TestRunner.js is hit:

   Error: Unable to restore focus, expect failures and timeouts.

 and then the test times out.

Turns out the problem was a debug.js NS_ASSERT failure.  Thanks to
karlt for running the tests on 32-bit Linux (at least, I think that's
what he did) and showing me the failure occurrence.

Ed Morley filed https://bugzilla.mozilla.org/show_bug.cgi?id=914092 to
make these debug.js NS_ASSERT failures cause tests to fail in a more
obvious and reliable manner.


 In order to try to debug it, I've been attempting to do 32-bit Linux
 builds.

 (The full list is below.)  I apparently have a copy of a 32-bit
 libgtk-x11-2.0.so:

 In fact, you *don't* have a copy of a 32-bit libgtk-x11-2.0.so, which is
 required for linking. You have libgtk-x11-2.0.so.0*. Those won't be used
 by the linker.

True!  I tried adding symlinks for the missing filenames.  It was
enough to get past these errors, but then I got other link errors for
missing symbols... but now that the test failure problem is solved I
don't need these builds any more, so I won't pursue it further.

Nick
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Unable to restore focus and 32-bit Linux builds

2013-09-08 Thread Nicholas Nethercote
Hi,

I want to land https://bugzilla.mozilla.org/show_bug.cgi?id=910517,
which is just a clean-up of memory reporters (and is blocking a bunch
of follow-up work.)  But I'm blocked by some baffling time-outs
occurring only on 32-bit opt Linux builds.  (32-bit debug Linux builds
are fine.)

About 90% of mochitest-1 runs hit this time-out.  The problem is that
in a few tests this error from TestRunner.js is hit:

  Error: Unable to restore focus, expect failures and timeouts.

and then the test times out.  This happens reliably;  it's shown up
once on inbound (the patch was backed out) and twice on try, all on
different revisions.

Does anyone know what this error means, and how I might fix it?  I
have no idea how my patch could be having this effect.  The code I've
changed shouldn't even be running in mochitest-1.



In order to try to debug it, I've been attempting to do 32-bit Linux
builds. I have an Ubuntu 13.04 machine and I'm following the
Instructions for Ubuntu at
https://developer.mozilla.org/en/docs/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS.

The build gets quite a long way, but linking of libnptest.so (whatever
that is) fails due lots of errors like this one:

0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so while searching for
gtk-x11-2.0
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -lgtk-x11-2.0

(The full list is below.)  I apparently have a copy of a 32-bit
libgtk-x11-2.0.so:

[bayou:~] locate libgtk-x11
/usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
/usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0.2400.17
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.a
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.17

but I guess it's not being found.

Has anyone had success with 32-bit builds on Ubuntu 13.04?  I've
included the mozconfig I used below, in case it's useful.

Thanks.

Nick


export CROSS_COMPILE=1
ac_add_options --enable-optimize='-O'
ac_add_options --enable-tests

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/o32
#mk_add_options MOZ_MAKE_FLAGS=-j8 --quiet --no-print-directory
mk_add_options MOZ_MAKE_FLAGS=-j8

export CC=clang -m32
export CXX=clang++ -m32
AR=ar

ac_add_options --x-libraries=/usr/lib32
ac_add_options --target=i686-pc-linux
ac_add_options --disable-crashreporter  # no 32-bit curl-dev lib
ac_add_options --disable-libnotify  # no 32-bit libinotify-dev
ac_add_options --disable-crashreporter  # no 32-bit libgnomevfs-dev
ac_add_options --disable-gstreamer  # no 32-bit libgstreamer, etc



 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so while searching for
gtk-x11-2.0
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -lgtk-x11-2.0
 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libatk-1.0.so while searching for atk-1.0
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -latk-1.0
 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgio-2.0.so while searching for gio-2.0
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -lgio-2.0
 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so while searching for
pangoft2-1.0
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -lpangoft2-1.0
 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libfreetype.so while searching for freetype
 0:19.91 /usr/bin/ld.gold.real: error: cannot find -lfreetype
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libfontconfig.so while searching for
fontconfig
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lfontconfig
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so while searching for
gdk-x11-2.0
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lgdk-x11-2.0
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so while searching for
pangocairo-1.0
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lpangocairo-1.0
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so while searching for
gdk_pixbuf-2.0
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lgdk_pixbuf-2.0
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libpango-1.0.so while searching for
pango-1.0
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lpango-1.0
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libcairo.so while searching for cairo
 0:19.92 /usr/bin/ld.gold.real: error: cannot find -lcairo
 0:19.92 /usr/bin/ld.gold.real: warning: skipping incompatible
//usr/lib/x86_64-linux-gnu/libgobject-2.0.so while searching for
gobject-2.0
 0:19.92 /usr/bin/ld.gold.real: 

Re: Unable to restore focus and 32-bit Linux builds

2013-09-08 Thread Mike Hommey
On Sun, Sep 08, 2013 at 05:29:03PM -0700, Nicholas Nethercote wrote:
 0:19.91 /usr/bin/ld.gold.real: warning: skipping incompatible
 //usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so while searching for
 gtk-x11-2.0
  0:19.91 /usr/bin/ld.gold.real: error: cannot find -lgtk-x11-2.0
 
 (The full list is below.)  I apparently have a copy of a 32-bit
 libgtk-x11-2.0.so:

In fact, you *don't* have a copy of a 32-bit libgtk-x11-2.0.so, which is
required for linking. You have libgtk-x11-2.0.so.0*. Those won't be used
by the linker.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform