Closed
Bug 809949
Opened 12 years ago
Closed 12 years ago
Need ability to gather memory reports on production phones
Categories
(Firefox OS Graveyard :: GonkIntegration, defect, P4)
Tracking
(blocking-b2g:-, blocking-basecamp:-, firefox19 wontfix, firefox20 wontfix, firefox21 fixed, b2g1819+ fixed)
RESOLVED
FIXED
B2G C4 (2jan on)
People
(Reporter: dhylands, Assigned: justin.lebar+bug)
References
Details
(Whiteboard: [soft-blocker][MemShrink:P1])
Attachments
(1 file, 1 obsolete file)
17.67 KB,
patch
|
justin.lebar+bug
:
review+
sicking
:
approval-mozilla-b2g18+
|
Details | Diff | Splinter Review |
On production phones, adb shell will not be root.
Currently, the way we gather memory reports is to use adb shell to send a signal to the b2g process. On the dog-fooding phones adb shell gives us a root shell, which is what makes this possible.
For production phones, we'll no longer have a root shell, so we need another way.
One potential solution is to make the killer program setuid root.
Another potential solution is to use a named pipe
Comment 1•12 years ago
|
||
I'd love to have this, but I am not sure we'd block shipping v.1 for this support
blocking-basecamp: ? → -
Assignee | ||
Comment 2•12 years ago
|
||
I agree we can't block release on this, but to be clear, this is probably the highest priority outstanding MemShrink bug; user reports have been invaluable to us on Firefox, and we're not OK shipping a phone without this capability.
So let's please devote resources to this as soon as it's fixable (at the moment, we don't even have release phones).
The way we've been denoting these high-priority but not-blocking MemShrink fixes is with blocking-basecamp+ and [soft-blocker], so I'm going to tag this accordingly. (I'll be the first to admit that this is an abuse of b-b+, but we were unable to agree on a better procedure with release drivers.)
Assignee | ||
Updated•12 years ago
|
Whiteboard: [soft-blocker] → [soft-blocker][MemShrink]
![]() |
||
Comment 3•12 years ago
|
||
(In reply to Justin Lebar [:jlebar] from comment #2)
> I agree we can't block release on this, but to be clear, this is probably
> the highest priority outstanding MemShrink bug; user reports have been
> invaluable to us on Firefox, and we're not OK shipping a phone without this
> capability.
I agree!
Whiteboard: [soft-blocker][MemShrink] → [soft-blocker][MemShrink:P1]
Comment 4•12 years ago
|
||
Are we going to have something formal, like crash reports, to gather memory reports from users automatically on OOM, or just to make memory reports directly and easily accessible to developers on production phones?
Comment 5•12 years ago
|
||
More like the latter: memory reports should be easily accessible to users on production phones. The usual work flow for desktop is a user files a bug report like "When I use Firefox, it uses too much memory!". Then we get them to go to about:memory and copy-and-paste it into the bug, perhaps also along with their list of addons, and go from there to analyze what the problem is.
The user doesn't necessarily need to be able to see the memory report themselves (though that might be handy), but they need a way to easily report it to us.
Assignee | ||
Comment 6•12 years ago
|
||
> Are we going to have something formal, like crash reports, to gather memory reports from
> users automatically on OOM, or just to make memory reports directly and easily accessible
> to developers on production phones?
Note that we can't collect a memory report on OOM; it's too late, we're too far gone by that point.
Assignee: nobody → dhylands
Comment 7•12 years ago
|
||
We're now marking soft blockers as P4/blocking-basecamp=- so I'm changing this bug to be consistent.
blocking-basecamp: + → -
Priority: -- → P4
Assignee | ||
Updated•12 years ago
|
Assignee: dhylands → justin.lebar+bug
Assignee | ||
Comment 8•12 years ago
|
||
I'm really sorry to ask for expedited reviews here, but I'm afraid that if we
don't land this within the next few days, we will have a touch time getting
this in for B2G v1. (I.e., my magic approval powers may run out soon.)
Attachment #700349 -
Flags: review?(n.nethercote)
Attachment #700349 -
Flags: review?(mh+mozilla)
Comment 9•12 years ago
|
||
Comment on attachment 700349 [details] [diff] [review]
Patch, v1
Review of attachment 700349 [details] [diff] [review]:
-----------------------------------------------------------------
I won't pretend I know much of the MessageLoopForIO API, but this sounds good to me.
Attachment #700349 -
Flags: review?(mh+mozilla) → feedback+
Assignee | ||
Comment 10•12 years ago
|
||
I left in the signal handler because
a) My tools currently send signals, so I'd need to change them before removing the signal handler, and
b) I thought it might be useful to be able to send a signal to a specific process, particularly if the main thread is horked. But maybe we can get around this by creating multiple fifos, one per process.
Anyway, I'd like to push this to a follow-up, if that's OK, since we're so close here.
![]() |
||
Comment 11•12 years ago
|
||
Comment on attachment 700349 [details] [diff] [review]
Patch, v1
Review of attachment 700349 [details] [diff] [review]:
-----------------------------------------------------------------
r=me, but I admit to adding very little value with my review.
Attachment #700349 -
Flags: review?(n.nethercote) → review+
Assignee | ||
Comment 12•12 years ago
|
||
With our powers combined...
https://hg.mozilla.org/integration/mozilla-inbound/rev/8461f75fd62b
Comment 13•12 years ago
|
||
Backed out for breaking the build:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=8461f75fd62b
https://hg.mozilla.org/integration/mozilla-inbound/rev/199a1cc814bf
Assignee | ||
Comment 14•12 years ago
|
||
Well, that was fun.
Assignee | ||
Comment 15•12 years ago
|
||
Assignee | ||
Comment 16•12 years ago
|
||
I'm hitting a crash in xpcshell when shutting down the IO thread. It appears to be a double-free, maybe? I'm spinning a valgrind build now.
Assignee | ||
Comment 17•12 years ago
|
||
Hmm. Here's a bit of deja vu from bug 817946; I'm seeing errors in Chromium's MessagePump / libevent.
This really looks like a bug not in my code. :(
> Invalid write of size 8
> at 0x6CA2797: event_queue_remove (event.c:932)
> by 0x6CA2ED8: event_del (event.c:804)
> by 0x6CBD106: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:141)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5ad8 is 8 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 8
> at 0x6CA2F73: event_base_free (event.c:226)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5ad0 is 0 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 1
> at 0x6CA2F76: event_base_free (event.c:227)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b4c is 124 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 8
> at 0x6CA2E96: event_del (event.c:782)
> by 0x6CA2F80: event_base_free (event.c:228)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b08 is 56 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 2
> at 0x6CA2EAB: event_del (event.c:792)
> by 0x6CA2F80: event_base_free (event.c:228)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b16 is 70 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 1
> at 0x6CA2EB2: event_del (event.c:797)
> by 0x6CA2F80: event_base_free (event.c:228)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b4c is 124 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 1
> at 0x6CA2EB8: event_del (event.c:800)
> by 0x6CA2F80: event_base_free (event.c:228)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b4c is 124 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
>
> Invalid read of size 1
> at 0x6CA2EC3: event_del (event.c:803)
> by 0x6CA2F80: event_base_free (event.c:228)
> by 0x6CBD130: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:147)
> by 0x6CBD14E: base::MessagePumpLibevent::~MessagePumpLibevent() (message_pump_libevent.cc:148)
> by 0x6CACA7C: MessageLoop::~MessageLoop() (ref_counted.h:107)
> by 0x6CB1D42: base::Thread::ThreadMain() (thread.cc:166)
> by 0x6CBD57B: ThreadFunc(void*) (platform_thread_posix.cc:39)
> by 0x4E3BE99: start_thread (pthread_create.c:308)
> by 0x8FCE4BC: clone (clone.S:112)
> Address 0x112a5b4c is 124 bytes inside a block of size 128 free'd
> at 0x4C2B6F9: free (vg_replace_malloc.c:446)
> by 0x5256F72: moz_free (mozalloc.cpp:48)
> by 0x6CBD1AD: base::MessagePumpLibevent::FileDescriptorWatcher::StopWatchingFileDescriptor() (mozalloc.h:224)
> by 0x6C901EE: (anonymous namespace)::SignalPipeWatcher::StopWatching() (nsMemoryInfoDumper.cpp:238)
> by 0x6C8F955: RunnableMethod<(anonymous namespace)::FdWatcher, void ((anonymous namespace)::FdWatcher::*)(), Tuple0>::Run() (tuple.h:383)
> by 0x6CAB995: MessageLoop::RunTask(Task*) (message_loop.cc:333)
> by 0x6CAD81C: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) (message_loop.cc:341)
> by 0x6CADA51: MessageLoop::DoWork() (message_loop.cc:441)
> by 0x6CBCF8B: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:311)
> by 0x6CAB8CB: MessageLoop::RunInternal() (message_loop.cc:215)
> by 0x6CAB8DA: MessageLoop::RunHandler() (message_loop.cc:208)
> by 0x6CABB5C: MessageLoop::Run() (message_loop.cc:182)
Assignee | ||
Comment 18•12 years ago
|
||
In a debug build, I get an assertion in libevent:
> xpcshell: ../../../src/ipc/chromium/src/third_party/libevent/event.c:274: void
> event_base_free(struct event_base *): Assertion `((&base->eventqueue)->tqh_first == ((void*)0))'
> failed.
Assignee | ||
Comment 19•12 years ago
|
||
Oh. Apparently libevent doesn't have any assertions to keep you from adding the same file watcher twice. That's what was going on here, and I bet what we were encountering in bug 817946.
Assignee | ||
Comment 20•12 years ago
|
||
Okay, I filed bug 830123 on the Chromium MessagePump / libevent issue. The fix to this patch is trivial (remove the duplicate WatchFileDescriptor call), so we should be ready to go with a minor change to the Preferences memory reporter, which I'll post in a moment.
Assignee | ||
Comment 21•12 years ago
|
||
This should fix the issues I was seeing on tryserver.
Attachment #700349 -
Attachment is obsolete: true
Attachment #701589 -
Flags: review+
Assignee | ||
Comment 22•12 years ago
|
||
Assignee | ||
Comment 23•12 years ago
|
||
Comment on attachment 701589 [details] [diff] [review]
Patch, v2
[Approval Request Comment]
Bug caused by (feature/regressing bug #): n/a
User impact if declined: Can't get memory reports from production devices, which means we have zero insight into memory usage on production devices.
Testing completed: locally
Risk to taking this patch (and alternatives if risky): This is the least-risky way I could think of to let us gather memory reports from user phones. It's not a tiny though.
String or UUID changes made by this patch: none
Attachment #701589 -
Flags: approval-mozilla-b2g18?
Assignee | ||
Comment 24•12 years ago
|
||
Comment 25•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
blocking-b2g: --- → tef?
Assignee | ||
Comment 26•12 years ago
|
||
This doesn't need tef approval if we can land it today, right? Can we just do that?
Attachment #701589 -
Flags: approval-mozilla-b2g18? → approval-mozilla-b2g18+
Comment 27•12 years ago
|
||
Not blocking but driver approved per triage.
blocking-b2g: tef? → -
tracking-b2g18:
--- → 19+
Comment 28•12 years ago
|
||
status-b2g18:
--- → fixed
status-firefox19:
--- → wontfix
status-firefox20:
--- → wontfix
status-firefox21:
--- → fixed
Target Milestone: --- → B2G C4 (2jan on)
Comment 29•12 years ago
|
||
Backed out for bustage.
https://hg.mozilla.org/releases/mozilla-b2g18/rev/2793599d2a95
Assignee | ||
Comment 30•12 years ago
|
||
(In reply to Ryan VanderMeulen from comment #29)
> Backed out for bustage.
> https://hg.mozilla.org/releases/mozilla-b2g18/rev/2793599d2a95
Yeah, this needs bug 830125 to get around those assertions. Thanks for trying to land it, though! That was an unpleasant merge, at least by my standards. :)
Assignee | ||
Comment 31•12 years ago
|
||
Let's try this again, shall we? https://hg.mozilla.org/releases/mozilla-b2g18/rev/59d0b27ec7aa
Assignee | ||
Updated•12 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•