Re: xpcom/gtkmozembed modules flags for tinymail



On Mon, 2007-12-03 at 12:14 +0100, Loïc Minier wrote:
> Hi Philip,

Hey Loïc, I applied all your patches to both Tinymail's trunk and the
devel/pvanhoof/bs branch.

For future you can also post patches to our mailing list (if mailman
blocks you because you're not subscribed, I'll add your From to the
auto-accept list).

http://mail.gnome.org/mailman/listinfo/tinymail-devel-list


>  Please find attached a patch for the AC_TNY_MOZ_CHECK m4 macro in
>  tinymail.  It reworks some of the code of this macro, adds support for
>  libxul-embedding (which is how the modules will be named with the next
>  XUL Runner uploads to Ubuntu), and permits passing configure flags to
>  set the xpcom/nspr/nss/gtkmozembed pkg-config modules.
> 
>  Alexander Sack, who guided Steve Kowalik and myself through this
>  patching [1], also suggested that if you use a Mozilla engine >= 1.8,
>  then nss/nspr should be pulled over xpcom, and shouldn't be checked
>  directly.  I didn't succeed at implementing this suggestion from him as
>  it seems libtinymail-camel uses nss/nspr directly.

This is correct. Tinymail uses NSS for its SSL implementation in 

	libtinymail-camel/camel-lite/camel/configure.ac

You can opt for using OpenSSL in stead by passing --with-ssl=openssl to
Tinymail's configure options. Doing that will make Tinymail not depend
on NSS/NSPR, but instead on OpenSSL.

We have a very interesting bug in NSS/NSPR by the way. The coredump of
our tester regretfully revealed few information. Other than these
stacktraces.

The problem seems to be related to PR_CreatePipe. I looked at the
location where that mutex (that seems to be NULL) is set. It looks like
it's set in a pthread_key_create


0                __pthread_mutex_lock  (mutex=0x0)  at pthread_mutex_lock.c:46
1       0x4054ca28      PR_Lock (lock=0x0) at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptsynch.c:206
2       0x40553b28      _pt_thread_death (arg=0x0) at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptthread.c:814
3       0x40695104      __nptl_deallocate_tsd () at pthread_create.c:153
4       0x406952b8      start_thread (arg=0x0) at pthread_create.c:303
5       0x40e6dc18      clone () from /lib/libc.so.6


0                __pthread_mutex_lock  (mutex=0x0)  at pthread_mutex_lock.c:46
1       0x4054ca28      PR_Lock (lock=0x0) at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptsynch.c:206
2       0x40553b28      _pt_thread_death (arg=0x0) at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptthread.c:814
3       0x40695104      __nptl_deallocate_tsd () at pthread_create.c:153
4       0x406952b8      start_thread (arg=0x0) at pthread_create.c:303
5       0x40e6dc18      clone () from /lib/libc.so.6



0                _PR_Getfd  ()  at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/io/prfdcach.c:137
1       0x40550624      pt_SetMethods (osfd=14, type=PR_DESC_PIPE,
isAcceptedSocket=0, imported=0) at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptio.c:3281
2       0x40551d6c      PR_CreatePipe (readPipe=0x1a7274, writePipe=0x1a7278)
at
/home/bifh5/rx34-osso1.1-arm-prereleased.gcc34qemu.distcc/work/microb-engine-1.0.3/build-tree/mozilla/nsprpub/pr/src/pthreads/ptio.c:4383
3       0x4012a18e      e_msgport_prfd (msgport=0x1a7268) at e-msgport.c:509
4       0x401693ae      camel_operation_cancel_prfd (cc=0x107ea8) at
camel-operation.c:473
5       0x4012773c      stream_write (stream=0x12f308, buffer=0x127d78
"DONE\r\n", n=6) at camel-tcp-stream-ssl.c:560
6       0x4016cc68      camel_stream_write (stream=0x12f308, buffer=0x127d78
"DONE\r\n", n=6) at camel-stream.c:119
7       0x4016cf00      camel_stream_printf (stream=0x12f308, fmt=0x4229a7bc
"DONE\r\n") at camel-stream.c:236
8       0x42291518      let_idle_die (store=0x129a60, connect_buz=208) at
camel-imap-store.c:218
9       0x42292964      imap_disconnect_online (service=0x129a60, clean=0,
ex=0x44315dd0) at camel-imap-store.c:2046
10      0x4010751c      disco_disconnect (service=0x129a60, clean=0,
ex=0x44315dd0) at camel-disco-store.c:218
11      0x4011bc06      camel_service_disconnect (service=0x129a60, clean=0,
ex=0x44315dd0) at camel-service.c:450
12      0x400e216e      tny_camel_store_account_queue_going_online_thread
(thr_user_data=0x105864) at tny-camel-store-account.c:1724
13      0x400e8556      thread_main_func (user_data=0x105864) at
tny-camel-queue.c:122
14      0x40d69394      g_thread_create_proxy (data=0x105864) at gthread.c:591
15      0x406952ac      start_thread (arg=0x105864) at pthread_create.c:298
16      0x40e6dc18      clone () from /lib/libc.so.6


-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]