Bug 656

Summary: Error occur when clicking on Contacts icon.
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Liang Wang <liangliang.wang>
Component: coreAssignee: Edwin Zhai <edwin.zhai>
Status: VERIFIED FIXED QA Contact:
Severity: minor    
Priority: Medium CC: dongxiao.xu, jiajun.xu, liang.li2, liangliang.wang, meta.mr.watcher, meta.watcher, yi.zhao
Version: 1.0   
Target Milestone: 1.0 M4   
Hardware: Other   
OS: mips   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Attachments:
Description Flags
error when clicking on contacts icon none

Description Liang Wang 2011-01-17 19:13:07 UTC
Created attachment 87 [details]
error when clicking on contacts icon

Testing Environment
===============================
Host: qemumips
Kernel: Linux qemumips 2.6.37-yocto-standard+ 
Image location: http://autobuilder.pokylinux.org/nightly/20110114-1/qemu/qemumips/


Steps
===============================
1. Boot up the qemu with sato/sdk image
2. Click on Contacts icon


Observed Result
===============================
Error message is pop-up, see attached "Contacts_Error.png" for more info.
Comment 1 Edwin Zhai 2011-02-16 06:49:42 UTC
I checked the Jan 14 changesets.

Contacts used e-addressbook-factory to create DB file, but our db didn't support fast mutexes and caused failure:

"(e-addressbook-factory:346): libebookbackend-WARNING **: libdb error: architecture lacks fast mutexes: applications cannot be threaded
(e-addressbook-factory:346): libebookbackend-WARNING **: db_env_open failed with Invalid argument"

This bug occur when HAVE_MUTEX_THREADS not defined, but application try to use db_env_open with *_ENV_THREAD flag.

This issue of db only exists on mips, while x86/arm are okay. x86 is generic, and arm has "--with-mutex=ARM/gcc-assembly".

Do we need something similar for mips?

CC db's owner dongxiao.

BTW, I also checked latest master (6cb8fd6def4912e4aa76330649ba42a9ed2694fd), this issue got fixed. (maybe after mark hatle upgrading db @ e77207)

So mark it as fixed. Dongxiao can investigate it in future if needed.
Comment 2 Edwin Zhai 2011-02-16 19:31:59 UTC
I compared the db's log.do_configure from 4.2.52 to 5.1.19:

=== 4.2.52 ===
checking for mutexes... UNIX/fcntl
configure: WARNING: NO FAST MUTEXES FOUND FOR THIS COMPILER/ARCHITECTURE.

=== 5.1.19 ===
checking for mutexes... POSIX/pthreads/library
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for main in -lpthread... yes
checking for atomic operations... no
checking for library containing sched_yield... none required
checking for library containing fdatasync... none required
checking for library containing getaddrinfo... none required
checking for library containing hstrerror... none required
checking for main in -lm... yes
checking for main in -lnsl... yes
checking for main in -lsocket... no


So maybe db failed to detect the pthread library? We can revisit it if this bug occur again in future.
Comment 3 Liang Wang 2011-03-07 18:48:31 UTC
This issue does *not* occur on sato/sdk qemumips image.

Image location: http://autobuilder.yoctoproject.org/nightly/20110305-4/machines/qemu/qemumips/
commit c192fefd868be53c20dfd8bc44e3e815cf53a10a