Dummy sensor backend can block

Bug #1523926 reported by Michał Sawicz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
platform-api (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

See the attached gdb output, it's likely that the dummy/test sensor backend is blocking unity8 startup.

(gdb) info threads
  Id Target Id Frame
  14 Thread 0xb3781410 (LWP 31081) "unity8" 0xb61e1970 in recvmsg () at ../sysdeps/unix/syscall-template.S:81
  13 Thread 0xb2f81410 (LWP 31082) "unity8" syscall () at ../sysdeps/unix/sysv/linux/arm/syscall.S:37
  12 Thread 0xb225c410 (LWP 31083) "MirServerThread" 0xb61da4e2 in poll () at ../sysdeps/unix/syscall-template.S:81
  11 Thread 0xb18a0410 (LWP 31085) "RPC Thread" 0xb61da4e2 in poll () at ../sysdeps/unix/syscall-template.S:81
  10 Thread 0xb0eff410 (LWP 31086) "arch_worker" 0xb4422840 in ?? ()
  9 Thread 0xb2523b40 (LWP 31087) "MirServerThread" __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
  8 Thread 0xb04ff410 (LWP 31088) "SWD-GPU Job" __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  7 Thread 0xafcff410 (LWP 31089) "SWD-Frame" __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  6 Thread 0xaf301410 (LWP 31090) "Input dispatch" 0xb61da4e2 in poll () at ../sysdeps/unix/syscall-template.S:81
  5 Thread 0xaeb01410 (LWP 31091) "Mir/Snapshot" __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46
  4 Thread 0xae301410 (LWP 31092) "Mir/IPC" 0xb61e1132 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81
  3 Thread 0xadb01410 (LWP 31093) "Mir/IPC" 0xb61e1132 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81
  2 Thread 0xac76d410 (LWP 31094) "unity8" 0xb61d6ae0 in read () at ../sysdeps/unix/syscall-template.S:81
* 1 Thread 0xb6f9f000 (LWP 31079) "unity8" __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:46

Thread 2 (Thread 0xac76d410 (LWP 31094)):
#0 0xffffffff in read () at ../sysdeps/unix/syscall-template.S:81
#1 0xffffffff in SensorController::fifo_take_command() (__nbytes=1, __buf=0xac76cdcf, __fd=<optimized out>) at /usr/include/arm-linux-gnueabihf/bits/unistd.h:44
#2 0xffffffff in SensorController::fifo_take_command() (this=0xac7861e8 <SensorController::instance()::_inst>) at /build/platform-api-1_CRAF/platform-api-3.0.1+15.04.20151127/src/ubuntu/application/testbackend/ubuntu_application_sensors.cpp:287
#3 0xffffffff in std::thread::_Impl<std::_Bind_simple<SensorController::SensorController()::<lambda()>()> >::_M_run(void) (__closure=0xd46f68)
    at /build/platform-api-1_CRAF/platform-api-3.0.1+15.04.20151127/src/ubuntu/application/testbackend/ubuntu_application_sensors.cpp:233
#4 0xffffffff in std::thread::_Impl<std::_Bind_simple<SensorController::SensorController()::<lambda()>()> >::_M_run(void) (this=0xd46f68) at /usr/include/c++/4.9/functional:1700
#5 0xffffffff in std::thread::_Impl<std::_Bind_simple<SensorController::SensorController()::<lambda()>()> >::_M_run(void) (this=0xd46f68) at /usr/include/c++/4.9/functional:1688
#6 0xffffffff in std::thread::_Impl<std::_Bind_simple<SensorController::SensorController()::<lambda()>()> >::_M_run(void) (this=0xd46f5c) at /usr/include/c++/4.9/thread:115
#7 0xffffffff in std::(anonymous namespace)::execute_native_thread_routine(void*) (__p=<optimized out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:84
#8 0xffffffff in start_thread (arg=0x0) at pthread_create.c:335
#9 0xffffffff in () at ../sysdeps/unix/sysv/linux/arm/clone.S:89

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: ubuntu-application-api3-test-dbgsym 3.0.1+15.04.20151127-0ubuntu1 [origin: LP-PPA-ci-train-ppa-service-landing-022]
Uname: Linux 3.4.67 armv7l
ApportVersion: 2.17.2-0ubuntu1.3touch1
Architecture: armhf
Date: Tue Dec 8 15:08:53 2015
InstallationDate: Installed on 2015-12-08 (0 days ago)
InstallationMedia: Ubuntu 15.04 - armhf (20151208-020303)
SourcePackage: platform-api
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Michał Sawicz (saviq) wrote :
description: updated
Revision history for this message
Gerry Boland (gerboland) wrote :

Comes from Mock sensor backend, which reads the pipe
/tmp/sensor-fifo-$PID
if nothing feeding that pipe, this will block

Changed in platform-api (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.