Web Replay

2014-01-15 Thread Dirkjan Ochtman
This may be a stupid question, but I just saw this on the webkit
mailing list: a way to capture network/user input events (with
negligible overhead) for debugging purposes.

https://lists.webkit.org/pipermail/webkit-dev/2014-January/026062.html

I didn't find any bugs about this; it seems interesting, though.

Cheers,

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


Re: Web Replay

2014-01-15 Thread Panos Astithas
On Wed, Jan 15, 2014 at 10:24 AM, Dirkjan Ochtman dirk...@ochtman.nlwrote:

 This may be a stupid question, but I just saw this on the webkit
 mailing list: a way to capture network/user input events (with
 negligible overhead) for debugging purposes.

 https://lists.webkit.org/pipermail/webkit-dev/2014-January/026062.html

 I didn't find any bugs about this; it seems interesting, though.


There is bug 738965, which discusses a subset of this, but nobody has plans
to work on it AFAIK. We even had Jake Bailey as an intern last summer who
has worked on timelapse with Brian Burg, but he worked on a tracer for
Firefox, not timelapse.

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


TB comm-central under valgrind: Strange lock issue, and startup cache issue?

2014-01-15 Thread ISHIKAWA, Chiaki
nvoking |make mozmill| TB test suite by running DEBUG BUILD of TB
under valgrind has turned out to be useful in finding memory-related
errors, AND timing-related thread race issues.  The issues of second
kind, i.e., timing issues, are not usually noticed, but often they
become obvious due to the large execution time skew caused by running
TB under valgrind. I found that code that ran without proper
ordering (by means of mutex, etc.) suddenly causes problems under valgrind.

Since refreshing my local copy of comm-central tree a couple of days
ago (my previous update was around Dec 25+ last year), I have not been
able to run the test suite |make mozmill| for TB (local DEBUG BUILD)
under valgrind (Debian GNU/Linux, both under 32-bit and 64-bit
versions).

Simply put, although I lengthened the timeout value, all the tests
timed out and no useful information could be obtained. This was not
the case only a few weeks ago or so before the source update.  I
lengthened the timeout by 60 seconds, still no go. (That is, I
had already set it to 330 before, and increased it this time
to 390 to no avail.)

I have no idea how long I should lengthen the timeout value. So I got
curious and ran the locally built DEBUG BUILD TB under valgrind
MANUALLY and see if anything stood out.

And some DID certainly.  There are a few cases of locking failure(?)
in one run, and strange assertion/warning regarding startup cache.  I
have never seen them before.

Possibly the locking failure may explain the timeout under valgrind.

I wonder if anyone can shed light on these new assertions/warnings.

Sorry for long posting. Below is the log printed to the
tty console where TB was started under valgrind.

(1) Strange locking issue?

Please note the warning,  PRFileDescAutoLock cannot get fd!: 'mFd',
and Security network blocking I/O on Main Thread

[... during startup...]
JavaScript strict warning: chrome://messenger/content/tabmail.xml, line
352: reference to undefined property aTabType.panelId
[30685] WARNING: PRFileDescAutoLock cannot get fd!: 'mFd', file
/REF-COMM-CENTRAL/comm-central/mozilla/netwerk/base/src/nsSocketTransport2.h,
line 195
[30685] WARNING: Security network blocking I/O on Main Thread: file
/REF-COMM-CENTRAL/comm-central/mozilla/security/manager/ssl/src/nsNSSCallbacks.cpp,
line 423
++DOMWINDOW == 24 (0x1e495e68) [pid = 30685] [serial = 27] [outer =
0x1e46fb98]
++DOCSHELL 0x2b85ca60 == 12 [pid = 30685] [id = 12]
++DOMWINDOW == 25 (0x2b6eb948) [pid = 30685] [serial = 28] [outer = (nil)]
++DOMWINDOW == 26 (0x26f48768) [pid = 30685] [serial = 29] [outer =
0x2b6eb948]
--DOMWINDOW == 25 (0x2b5f3188) [pid = 30685] [serial = 15] [outer =
0x1c5e3da8] [url = about:blank]
[30685] WARNING: NS_ENSURE_TRUE(enabled) failed: file
/REF-COMM-CENTRAL/comm-central/mozilla/dom/base/Navigator.cpp, line 1869
[30685] WARNING: NS_ENSURE_TRUE(enabled) failed: file
/REF-COMM-CENTRAL/comm-central/mozilla/dom/base/Navigator.cpp, line 1710
[30685] WARNING: Security network blocking I/O on Main Thread: file
/REF-COMM-CENTRAL/comm-central/mozilla/security/manager/ssl/src/nsNSSCallbacks.cpp,
line 423
--DOMWINDOW == 24 (0x2a95a8f8) [pid = 30685] [serial = 18] [outer =
(nil)] [url = about:blank]
--DOCSHELL 0x2b85ca60 == 11 [pid = 30685] [id = 12]
[30685] WARNING: Could not get disk status from nsIDiskSpaceWatcher:
file
/REF-COMM-CENTRAL/comm-central/mozilla/uriloader/prefetch/nsOfflineCacheUpdateService.cpp,
line 325
++DOCSHELL 0x1e1d4c10 == 12 [pid = 30685] [id = 13]
   [... eventually TB started up, and I quit it...]

(1.5) Another instance of PRFileDescAutoLock cannot get fd! and
blocking I/O, this time
when TB checked add-on during startup.

   [... during start up... ]
*** LOG addons.xpi-utils: Writing add-ons list
[27847] WARNING: dependent window created without a parent: file
/REF-COMM-CENTRAL/comm-central/mozilla/toolkit/components/startup/nsAppStartup.cpp,
line 650
++DOCSHELL 0x1dce9da0 == 1 [pid = 27847] [id = 1]
++DOMWINDOW == 1 (0x1dcefaf8) [pid = 27847] [serial = 1] [outer = (nil)]
++DOMWINDOW == 2 (0x1eb11c28) [pid = 27847] [serial = 2] [outer =
0x1dcefaf8]
*** LOG DeferredSave/extensions.json: Starting timer
*** LOG DeferredSave/extensions.json: Starting write
Chrome file doesn't exist:
/REF-OBJ-DIR/objdir-tb3/mozilla/dist/bin/chrome/toolkit/skin/classic/mozapps/update/update.png
--- maybe because I am testing TB without installing it(?)
[27847] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result
0x80520012: file
/REF-COMM-CENTRAL/comm-central/mozilla/netwerk/base/src/nsFileStreams.cpp,
line 210
[27847] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result
0x80520012: file
/REF-COMM-CENTRAL/comm-central/mozilla/netwerk/base/src/nsFileStreams.cpp,
line 482
[27847] WARNING: Asking for app status on a principal with an unknown
app id: 'mAppId != nsIScriptSecurityManager::UNKNOWN_APP_ID', file
/REF-COMM-CENTRAL/comm-central/mozilla/caps/src/nsPrincipal.cpp, line 532
--- Never seen this error before!
[27847] WARNING: 

Non-unified builds now running periodically on all trees

2014-01-15 Thread Chris AtLee
Starting today [1], you'll see a new symbol on TBPL: Bn. These are builds 
running with unified sources disabled. We're now running these 
periodically on 64-bit linux (opt and debug) on all trees on the same 
cadence as the PGO builds.


The purpose of these builds is to catch build problems that are masked 
by unifying the source files. By doing regular builds with unified 
sources disabled we'll have a smaller regression window to help pinpoint 
the changes which broke the non-unified configuration.


Once we shake out all the issues with the linux64 non-unified builds, 
we'll look at enabling other platforms.


Testing non-unified builds on Try is simple - just ensure your mozconfig 
has 'ac_add_options --disable-unified-compilation' in it.


For more details, please see bug 942167 [2].

Cheers,
Chris

[1] Once the new tbpl code is deployed - 
https://bugzilla.mozilla.org/show_bug.cgi?id=960173
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=942167


signature.asc
Description: Digital signature
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


the good news and bad news of parallel reftests landing

2014-01-15 Thread Nathan Froyd
The good news: bug 813742 has landed on inbound, and enables running reftests 
on desktop in parallel.  Either:

  runreftest.py --run-tests-in-parallel

or:

  mach reftest --parallel

whichever you happen to use.  By default, it runs #cpus * 2 + 1 jobs, so 
prepare for an explosion of windows.  For reference, a several generations-old 
8-core hyper-threaded system runs reftests in about 5.5 minutes.

The bad news: this is *not* turned on by default, due to non-obvious failures 
in Linux IPC and Windows tests, along with a few issues on Mac.  However, if 
you're doing development locally on Linux, this option can speed up your local 
testing cycle significantly.  And the option makes it easier to debug the 
failures that prevent parallel reftests from being turned on in automation.

There are a few dependent bugs from bug 813742; help fixing those or whatever 
other parallel-only failures your local testing turns up would be much 
appreciated!

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


Re: Terminating xulrunner?

2014-01-15 Thread Philipp Wagner
Hi,

Am 13.01.2014 01:34, Mike Hommey wrote:
 Let's face it: xulrunner is hardly maintained, we barely build and test
 it on automation, and the result is that it is often broken for long
 periods of time.

 I propose that we just stop pretending, and terminate xulrunner,
 considering the following:

Thanks Mike for getting this topic started, even though I kind of
settled very well with the status quo and was hoping sleeping dogs would
not be woken up :-) But it had to happen at some point, so let's make
sure we come out of this whole discussion with a better solution than we
have right now. I totally agree with Mark that the lession we've learned
in the past is clear:

Am 14.01.2014 15:16, Mark Finkle wrote:
 We've know something for a long time: If Mozilla is not using a
 tech/project in Firefox, support for the tech/project will wither.

My use case is kind of a typical XULRunner-based application. I have
custom application code and distribute a private (self-build, unpatched
but localized) XULRunner copy with it. It runs on Windows and Linux. I
don't see any problems with using a custom copy of Firefox instead of
XULRunner for my use case at first sight.

 - Since bug 755724, running firefox -app application.ini is 99% the same
   as running xulrunner application.ini, except for a few details that
   should be considered bugs. Before that bug, it was quite different,
   as browser-specific files were available to the xul application.

sounds good, even though I don't get the whole story in bug 755724, the
discussion there is rather extensive :-)

 - There is no reason we can't generate the sdk from firefox instead of
   xulrunner. Moreover that would make firefox-specific interfaces
   available in the sdk that aren't currently (which may or may not be a
   good thing, arguably)

If the application doesn't need to use it I don't see any problem with it.

 - We could include the xulrunner and xulrunner-stub executables as part
   of firefox. xulrunner-stub is small and self-contained, and xulrunner
   could be replaced by something that calls firefox -app. Or we could
   make the firefox executable check under what name it's called and act
   accordingly.

The functionality of xulrunner-stub is really nice and I'd be glad if it
could be retained. To me making Firefox check under which name it was
called and act then like xulrunner-stub sounds like the solution which
has the largest chance of staying supported. I'm volunteering to help
out with patches here if it is clear which way we want to go. The
simplest solution probably would be to just keep the xulrunner-stub code
as it is somewhere, maybe behind a ./configure option, for those people
who need it.

Another thing that kind of comes together with xulrunner-stub is the
redit.exe tool (in xulrunner/tools/redit) to replace the icon of an EXE
file. Again, it would be nice if it could stay in the tree somewhere,
but otherwise I'd just take it to some github repo and be fine with it.

Since it seems that all other parts that I need are there already I'll
give this whole thing a try next week and report back how things go. An
open question right now would be how the updater will handle things.

As a closing remark, since this discussion is not prompted by any
immediate problem with XULRunner from what I understand, I'd be happy if
things could stay the way they are until we come up with some
alternatives or decide that a particular problem will have no
alternative solution. Just don't rip out the code as first step :-)

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


Re: Terminating xulrunner?

2014-01-15 Thread Philipp Wagner
Am 15.01.2014 23:08, Marcio Galli wrote:
 Something to check, that resides between engineering and legal, is how
 easy it will be for a  third-party to ship the Firefox code (with the
 --app). While I understand that no UI is to be shown, I believe that
 we need to check legal aspects regarding the use of Firefox code -
 it's restrictions and consequences, let s say to bump a case - think
 of a bug in Gecko or something else that would lift behavior from
 Firefox bits and pieces with trademarks.

My understanding (and I'm not a Mozilla lawyer or anything, so it would
be good for someone from the legal team to give final answers here):

- Distributing an unmodified, official Firefox build should not be a
problem, even if you use it just to start another application using the
--app switch).

- Building a custom, possibly modified version of Firefox as XULRunner
replacement and distributing that should not be a problem if built with
the unofficial branding (the default), since this branding should not
contain any trademarks.

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


Re: Mozilla style guide issues, from a JS point of view

2014-01-15 Thread Zack Weinberg
Count me as another person in favor of an 80-column hard limit because 
of being able to open two files side-by-side with that limit, but not 
anything wider (even 100 is too wide).  I spend a lot of time with an 
editor window tiled against a whole bunch of MXR tabs.


I either don't care or can live with everything else under discussion. 
(If there were a chance of getting rid of the useless scoping prefixes 
on *everything*, as a big bang rewrite-the-entire-tree change, I would 
be for it.  But somehow I don't think that's going to happen.)


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


Re: Please use NS_WARN_IF instead of NS_ENSURE_SUCCESS

2014-01-15 Thread Zack Weinberg

On 2014-01-06 7:58 PM, Karl Tomlinson wrote:

smaug sm...@welho.com writes:


Why this deprecation?


NS_ENSURE_ macros hid return paths.


That was exactly why they were a Good Thing!  Normal control flow was 
emphasized.


zw

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


Re: Bug 641509

2014-01-15 Thread Zack Weinberg

On 2014-01-07 6:39 AM, matteosistise...@gmail.com wrote:

On https://bugzilla.mozilla.org/show_bug.cgi?id=641509 in the
comments I can't see any valid argument that backs up the decision to
not fix the issue. At least none that would stand to the objection
which I posted as a comment:


Having a standard message always displayed is ok, but what's the
reasoning behind not allowing to _add_ a custom text?!?!?!?


[Note to list: I think this is an honest question which deserves a 
straight answer, and although I suspect the answer I'm about to give is 
somewhere in Bugzilla, I can't blame the poster for overlooking it in a 
giant bug thread full of shouting.]


I am not the person who made this decision, but I agree with it, and 
this is why.  If we allow the page to customize the onbeforeunload 
confirmation box _at all_, a malicious page can - just with clever 
wording - confuse the user into misunderstanding the standard message. 
The standard message we have right now is pretty hard to misunderstand, 
but we have actually seen things like IF YOU PRESS LEAVE PAGE YOUR 
COMPUTER WILL CRASHone! in the wild, and we have support tickets 
saying people were actually scared by that sort of thing.


It's also conceivable that a malicious page could use Unicode trickery 
to render the standard message unreadable; we *might* be able to prevent 
that, but we would never be sure we had gotten every single way.


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


Re: Support for non-UTF-8 platform charset

2014-01-15 Thread Zack Weinberg

On 2013-11-26 5:40 AM, Neil wrote:

Henri Sivonen wrote:


On Windows, do we really need to pay homage to the pre-NT legacy when
doing Save As? How about we just use UTF-8 for HTML Page, complete
reserialization like on Mac?



You'll need a BOM, of course.


(MXR turns up so little that it makes me wonder non-UTF-8 support
might have already gone away for practical purposes.)


Gecko gets a little confused when you run Linux on a non-UTF8 file
system, so I'd agree with this.


FWIW some time later, I've seen both Linux and *BSD devs state that even 
if the user's locale uses a legacy encoding, all filesystem paths should 
still be treated as UTF-8.


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


Re: On closing old bugs

2014-01-15 Thread Zack Weinberg

On 2013-11-27 2:36 AM, Gabriele Svelto wrote:

While looking through bugzilla I often stumble in my searches on old
bugs - sometimes very old - which after a quick look I realize have
either already been fixed or won't be (because they pertain to some old,
unsupported platform for example).


Much of what I would have said here has been said by other people, so I 
just want to add that going through old bugs, one by one, and 
determining whether they are still relevant *is* tremendously valuable, 
and you should not feel discouraged from doing it.  But it is important 
that you actually check each one.


(When I've done this, more than half of the bugs *had* already been 
fixed or overtaken by events, and a fair number of the remaining ones 
did not have sufficient information to reproduce the problem, but about 
25% were still live bugs.)


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