Device crashed during daemon recovery

RESOLVED FIXED in Firefox 40

Status

defect
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: shawnjohnjr, Assigned: tzimmermann)

Tracking

unspecified
2.2 S12 (15may)
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(firefox40 fixed)

Details

Attachments

(2 attachments, 1 obsolete attachment)

STR:
1. Paired with one headset which supports HFP/A2DP profiles and connects with it
2. adb shell ps bluetoothd;adb shell kill -9 <pid of bluetoothd>
3. gecko crash

I'm using gecko m-c:
changeset:      242137:dc5f85980a82

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 208.517]
mozilla::ipc::DataSocketIO::EnqueueData (this=this@entry=0x20, aBuffer=0xa9f38a00) at ../../../../../../../code/m-c/mozilla-central/ipc/unixsocket/DataSocket.cpp:35
35	  mOutgoingQ.AppendElement(aBuffer);
(gdb) bt
#0  mozilla::ipc::DataSocketIO::EnqueueData (this=this@entry=0x20, aBuffer=0xa9f38a00) at ../../../../../../../code/m-c/mozilla-central/ipc/unixsocket/DataSocket.cpp:35
#1  0xb4f11374 in mozilla::ipc::BluetoothDaemonConnectionIO::Send (this=0x0, aBuffer=<optimized out>)
    at ../../../../../../../code/m-c/mozilla-central/ipc/bluetooth/BluetoothDaemonConnection.cpp:320
#2  0xb4e05f24 in MessageLoop::RunTask (this=0xb3a3ecc0, task=0xa90748f0) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:361
#3  0xb4e085fa in MessageLoop::DeferOrRunPendingTask (this=<optimized out>, pending_task=...)
    at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:369
#4  0xb4e0a240 in DoWork (this=<optimized out>) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:456
#5  MessageLoop::DoWork (this=0xb3a3ecc0) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:435
#6  0xb4e04cb2 in base::MessagePumpLibevent::Run (this=0xb6bff220, delegate=0xb3a3ecc0)
    at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_pump_libevent.cc:328
#7  0xb4e05eb0 in MessageLoop::RunInternal (this=this@entry=0xb3a3ecc0) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:233
#8  0xb4e05f64 in RunHandler (this=0xb3a3ecc0) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:226
#9  MessageLoop::Run (this=this@entry=0xb3a3ecc0) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/message_loop.cc:200
#10 0xb4e0b420 in base::Thread::ThreadMain (this=0xb6b34480) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/thread.cc:170
#11 0xb4e0a4c0 in ThreadFunc (closure=<optimized out>) at ../../../../../../../code/m-c/mozilla-central/ipc/chromium/src/base/platform_thread_posix.cc:39
#12 0xb6ef522c in __thread_entry (func=0xb4e0a4b9 <ThreadFunc(void*)>, arg=0xb6b34480, tls=0xb3a3edd0) at bionic/libc/bionic/pthread_create.cpp:105
#13 0xb6ef53c4 in pthread_create (thread_out=0xb6b34488, attr=<optimized out>, start_routine=0xb4e0a4b9 <ThreadFunc(void*)>, arg=0x78)
    at bionic/libc/bionic/pthread_create.cpp:224
#14 0x00000000 in ?? ()
Hi Thomas,
Last week I tested patches for bug 1143925 I did not find this bug. But today I tried the latest m-c version, I can easily hit this bug. Do you have any suggestion?
Flags: needinfo?(tzimmermann)
Comment on attachment 8600849 [details]
logcat.txt

05-04 17:52:27.120 I/GeckoBluetooth(  208): BackendErrorNotification: Set aRestart = true
05-04 17:52:27.120 I/GeckoBluetooth(  208): BackendErrorNotification: Reocvery step2: stop bluetooth

I guess mOutgoing is null.
I can not reproduce this bug using v2.2 gecko. But not sure this could be timing issue or not.
That's certainly because of bug 1158818. :( If you revert its patch, does the bug still happen?
Flags: needinfo?(tzimmermann)
Flags: needinfo?(shuang)
Here's a patch to do this.
Shawn, do you still know the working revision?
I was able to reproduce this bug and fixed it with an extra test. The code before bug 1159709 did this implicitly in |BluetoothDaemonConnection::Send|, but then I replaced this test by an assertion.
Attachment #8600862 - Attachment is obsolete: true
Attachment #8600878 - Flags: feedback?(shuang)
Comment on attachment 8600878 [details] [diff] [review]
[01] Bug 1161003: Don't send PDU when connection to Bluetooth daemon is closed

The patch makes sense and it worked for me.
Flags: needinfo?(shuang)
Attachment #8600878 - Flags: feedback?(shuang) → feedback+
Comment on attachment 8600878 [details] [diff] [review]
[01] Bug 1161003: Don't send PDU when connection to Bluetooth daemon is closed

Thanks for testing.
Attachment #8600878 - Flags: review?(shuang)
Attachment #8600878 - Flags: review?(shuang) → review+
Assignee: nobody → tzimmermann
Status: NEW → ASSIGNED
(In reply to Wes Kocher (:KWierso) from comment #13)
> This apparently broke B2G Desktop Windows builds:
> 
> https://treeherder.mozilla.org/logviewer.html#?job_id=1850648&repo=b2g-
> inbound
> 
> Backed out in https://hg.mozilla.org/integration/b2g-inbound/rev/0d41cf1b9632

This apparently brokes at ftu app and it's possible related to Windows platform makefile.
AFAIK, B2G Desktop doesn't even enable bluetooth build flag.

14:19:16 INFO - [failed] building communications app failed with exit code 1
14:19:16 INFO - [failed] building ftu app failed with exit code 1
14:19:17 INFO - Makefile:575: recipe for target 'app' failed
14:19:17 INFO - mozmake.EXE[6]: *** [app] Error 1
14:19:17 INFO - mozmake.EXE[6]: Leaving directory 'c:/builds/moz2_slave/b2g-in-w32_g-00000000000000000/build/src/gaia'
14:19:17 INFO - Makefile:19: recipe for target 'libs' failed
14:19:17 INFO - mozmake.EXE[5]: *** [libs] Error 2
14:19:17 INFO - mozmake.EXE[5]: Leaving directory 'c:/builds/moz2_slave/b2g-in-w32_g-00000000000000000/build/src/obj-firefox/b2g/gaia'
14:19:17 INFO - c:/builds/moz2_slave/b2g-in-w32_g-00000000000000000/build/src/config/recurse.mk:78: recipe for target 'b2g/gaia/libs' failed
14:19:17 INFO - mozmake.EXE[4]: *** [b2g/gaia/libs] Error 2
(In reply to Shawn Huang [:shawnjohnjr] from comment #14)
> (In reply to Wes Kocher (:KWierso) from comment #13)
> > This apparently broke B2G Desktop Windows builds:
> > 
> > https://treeherder.mozilla.org/logviewer.html#?job_id=1850648&repo=b2g-
> > inbound
> > 
> > Backed out in https://hg.mozilla.org/integration/b2g-inbound/rev/0d41cf1b9632
> 
> This apparently brokes at ftu app and it's possible related to Windows
> platform makefile.
typo s/brokes/broke
I got distracted and forgot to follow up here with later information. I rebuild a couple of earlier pushes and found that it was the patch for bug 1141356 that caused this failure. I reverted that other patch and b2g desktop Windows builds stopped failing with that.

The patch here should be safe to reland whenever you want.

Sorry for the trouble. :(
OK, no problem. It seems like this has been resolved. Clearing the ni?.
Flags: needinfo?(tzimmermann)
https://hg.mozilla.org/mozilla-central/rev/6f4f0bd2e3af
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S12 (15may)
You need to log in before you can comment on or make changes to this bug.