Bug#443660: New test case for #443660
On Sat, Dec 15, 2007 at 07:35:36PM +, Rémi Denis-Courmont wrote: > found 443660 2.7-4 > thanks > > Hello, > > Seems like the original test case does not crash anymore. I still have > problems with this one new though - it crashes pseudorandomly (about 10% > crashes here). Unfortunately, I have not been able to reproduce the problem > under a debugger. > > Interestingly, I once had the crash with the first error message in C locale: And FWIW I couldn't reproduce the bug with the latest glibc on am64, but it may be an x86-only issue of course. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgpNnf5xgv4Xm.pgp Description: PGP signature
Bug#443660: New test case for #443660
notfound 443660 2.7-4 thanks On Sat, Dec 15, 2007 at 07:35:36PM +, Rémi Denis-Courmont wrote: > found 443660 2.7-4 > thanks > > Hello, > > Seems like the original test case does not crash anymore. I still have > problems with this one new though - it crashes pseudorandomly (about 10% > crashes here). Unfortunately, I have not been able to reproduce the problem > under a debugger. > > Interestingly, I once had the crash with the first error message in C locale: I completely fail to see why it's the same bug, in fact I'm almost sure it's not. And without a backtrace I'm unsure what we can do about it. Please open a new bug instead of diverting old bugs from their purpose. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgpnLcSJ0IlQY.pgp Description: PGP signature
Processed: Re: Bug#443660: New test case for #443660
Processing commands for [EMAIL PROTECTED]: > notfound 443660 2.7-4 Bug#443660: libc6: dgettext not thread-safe Bug no longer marked as found in version 2.7-4. > thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#443660: New test case for #443660
Le Sunday 16 December 2007 12:58:16 Pierre Habouzit, vous avez écrit : > notfound 443660 2.7-4 > thanks > > On Sat, Dec 15, 2007 at 07:35:36PM +, Rémi Denis-Courmont wrote: > > found 443660 2.7-4 > > thanks > > > > Hello, > > > > Seems like the original test case does not crash anymore. I still have > > problems with this one new though - it crashes pseudorandomly (about 10% > > crashes here). Unfortunately, I have not been able to reproduce the > > problem under a debugger. > > > > Interestingly, I once had the crash with the first error message in C > > locale: > > I completely fail to see why it's the same bug, in fact I'm almost > sure it's not. And without a backtrace I'm unsure what we can do about > it. Please open a new bug instead of diverting old bugs from their > purpose. Connexion terminée par Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x86bd0b90 (LWP 10614)] 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 (gdb) bt #0 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 #1 0xb7e0d473 in _nl_find_msg () from /lib/i686/cmov/libc.so.6 #2 0xb7e0e122 in __dcigettext () from /lib/i686/cmov/libc.so.6 #3 0xb7e0ceb3 in dcgettext () from /lib/i686/cmov/libc.so.6 #4 0xb7e59ee9 in strerror_r () from /lib/i686/cmov/libc.so.6 #5 0xb7e27c9f in vfprintf () from /lib/i686/cmov/libc.so.6 #6 0xb7e4a874 in vsnprintf () from /lib/i686/cmov/libc.so.6 #7 0xb7e2f1d5 in snprintf () from /lib/i686/cmov/libc.so.6 #8 0x080485f0 in run () #9 0xb7f3a4fb in start_thread () from /lib/i686/cmov/libpthread.so.0 #10 0xb7ebe60e in clone () from /lib/i686/cmov/libc.so.6 Looks like exactly the same problem to me. -- Rémi Denis-Courmont http://www.remlab.net/ signature.asc Description: This is a digitally signed message part.
Bug#443660: marked as done (libc6: dgettext not thread-safe)
Your message dated Sun, 16 Dec 2007 15:34:10 +0200 with message-id <[EMAIL PROTECTED]> and subject line (no subject) has caused the attached Bug report to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database) --- Begin Message --- Package: libc6 Version: 2.6.1-5 Severity: important Tags: l10n Hello, Recent version of libc6 seems to include a libintl that regularly crashes when gettext is invoked from different threads simultaneously. This renders gettext mostly unusable on multi-threaded software. I had been suspecting a bug in VLC and banging my head around, but it appears that this can be reproduced with code as simple as the piece above. It triggers a segmentation fault on a very time-dependant basis. It seems a lot easier to reproduce under valgrind, though I also get segfaults when run without debuggers: #include #include #include #include static void *run (void *dummy) { (void)dummy; for (;;) printf ("Translation code: %s\n", dgettext("vlc", "C")); } int main (void) { unsigned i; setlocale (LC_ALL, ""); bindtextdomain ("vlc", "/usr/share/locale"); pthread_t threads[300]; for (i = 0; i < sizeof (threads) / sizeof (threads[0]); i++) pthread_create (threads + i, NULL, run, NULL); run (NULL); return 0; } When the problem occurs under valgrind, it complains: ==3535== Thread 3: ==3535== Invalid read of size 4 ==3535==at 0x4063F0B: _nl_find_msg (dcigettext.c:862) ==3535==by 0x4064A41: __dcigettext (dcigettext.c:639) ==3535==by 0x4063972: dcgettext (dcgettext.c:53) ==3535==by 0x406399F: dgettext (dgettext.c:54) ==3535==by 0x80484DD: run (in /home/remi/a.out) ==3535==by 0x402D2D2: start_thread (pthread_create.c:296) ==3535==by 0x41124ED: clone (in /usr/lib/debug/libc-2.6.1.so) ==3535== Address 0x418C91C is 0 bytes after a block of size 12 alloc'd ==3535==at 0x4024862: realloc (vg_replace_malloc.c:306) ==3535==by 0x4063FF1: _nl_find_msg (dcigettext.c:876) ==3535==by 0x4064A41: __dcigettext (dcigettext.c:639) ==3535==by 0x4063972: dcgettext (dcgettext.c:53) ==3535==by 0x406399F: dgettext (dgettext.c:54) ==3535==by 0x80484DD: run (in /home/remi/a.out) ==3535==by 0x402D2D2: start_thread (pthread_create.c:296) ==3535==by 0x41124ED: clone (in /usr/lib/debug/libc-2.6.1.so) There appears to be a similar issue with strerror_r() also. Regards, -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (100, 'unstable'), (100, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.20.15 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libc6 depends on: ii libgcc1 1:4.2.1-5 GCC support library libc6 recommends no packages. -- debconf information: glibc/restart-failed: glibc/restart-services: --- End Message --- --- Begin Message --- So you want a new bug number... -- Rémi Denis-Courmont http://www.remlab.net/ --- End Message ---
Bug#456531: libc6: strerror_r() not thread-safe
Subject: libc6: strerror_r() not thread-safe Package: libc6 Version: 2.7-4 Severity: important Hello, strerror_r() crashes pseudo-randomly when multiple threads invoke it simultaneously. It appears the problem never occurs when using the C/POSIX locale, and seems to be gettext-related. Test code attached. Interestingly, I once had the crash with the first error message in C locale: # ./a.out Connection timed out Erreur de segmentation # Then again, I also had this once: # ./a.out Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Connexion terminée par expiration du délai d'attente Erreur de segmentation # Could not reproduce under valgrind - still from gdb: # gdb ./a.out (...) (gdb) run (...) Connexion terminée par Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x86bd0b90 (LWP 10614)] 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 (gdb) bt #0 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 #1 0xb7e0d473 in _nl_find_msg () from /lib/i686/cmov/libc.so.6 #2 0xb7e0e122 in __dcigettext () from /lib/i686/cmov/libc.so.6 #3 0xb7e0ceb3 in dcgettext () from /lib/i686/cmov/libc.so.6 #4 0xb7e59ee9 in strerror_r () from /lib/i686/cmov/libc.so.6 #5 0xb7e27c9f in vfprintf () from /lib/i686/cmov/libc.so.6 #6 0xb7e4a874 in vsnprintf () from /lib/i686/cmov/libc.so.6 #7 0xb7e2f1d5 in snprintf () from /lib/i686/cmov/libc.so.6 #8 0x080485f0 in run () #9 0xb7f3a4fb in start_thread () from /lib/i686/cmov/libpthread.so.0 #10 0xb7ebe60e in clone () from /lib/i686/cmov/libc.so.6 -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (100, 'unstable'), (100, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.23.8 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libc6 depends on: ii libgcc1 1:4.2.2-4 GCC support library libc6 recommends no packages. -- debconf information: glibc/restart-failed: glibc/restart-services: -- Rémi Denis-Courmont http://www.remlab.net/ #include #include #include #include #include #define NTH 100 static pthread_barrier_t *bp; static void *run (void *dummy) { char buf[256]; (void)dummy; errno = ETIMEDOUT; pthread_barrier_wait (bp); for (;;) { snprintf (buf, sizeof (buf), "%m"); puts (buf); } } int main (void) { unsigned i; pthread_barrier_t barrier; pthread_t threads[NTH]; setlocale (LC_ALL, ""); bindtextdomain ("vlc", "/usr/share/locale"); pthread_barrier_init (&barrier, NULL, NTH); bp = &barrier; for (i = 0; i < NTH; i++) pthread_create (threads + i, NULL, run, NULL); run (NULL); return 0; } signature.asc Description: This is a digitally signed message part.
Bug#456531: libc6: strerror_r() not thread-safe
tag 456531 + unreproducible thanks On Sun, Dec 16, 2007 at 01:39:46PM +, Rémi Denis-Courmont wrote: > Subject: libc6: strerror_r() not thread-safe > Package: libc6 > Version: 2.7-4 > Severity: important > > Hello, > > strerror_r() crashes pseudo-randomly when multiple threads invoke it > simultaneously. It appears the problem never occurs when using the C/POSIX > locale, and seems to be gettext-related. > > Test code attached. > > Interestingly, I once had the crash with the first error message in C locale: > > # ./a.out > Connection timed out > Erreur de segmentation > # and for the matter I tried the testcase on a i386 and an amd64 and I cannot reproduce the bug, even in 100 runs of your program. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgpag7B1bIXb3.pgp Description: PGP signature
Bug#456531: libc6: strerror_r() not thread-safe
On Sun, Dec 16, 2007 at 01:39:46PM +, Rémi Denis-Courmont wrote: > Subject: libc6: strerror_r() not thread-safe > Package: libc6 > Version: 2.7-4 > Severity: important > > Hello, > > strerror_r() crashes pseudo-randomly when multiple threads invoke it > simultaneously. It appears the problem never occurs when using the C/POSIX > locale, and seems to be gettext-related. > > Test code attached. > > Interestingly, I once had the crash with the first error message in C locale: like said, I'd like to have: * your libc6 version ; * your libc6-i686 version ; * a valgrind trace, gdb is quite useless here. > # gdb ./a.out > (...) > (gdb) run > (...) > Connexion terminée par > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x86bd0b90 (LWP 10614)] > 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 > #1 0xb7e0d473 in _nl_find_msg () from /lib/i686/cmov/libc.so.6 > #2 0xb7e0e122 in __dcigettext () from /lib/i686/cmov/libc.so.6 > #3 0xb7e0ceb3 in dcgettext () from /lib/i686/cmov/libc.so.6 > #4 0xb7e59ee9 in strerror_r () from /lib/i686/cmov/libc.so.6 > #5 0xb7e27c9f in vfprintf () from /lib/i686/cmov/libc.so.6 > #6 0xb7e4a874 in vsnprintf () from /lib/i686/cmov/libc.so.6 > #7 0xb7e2f1d5 in snprintf () from /lib/i686/cmov/libc.so.6 > #8 0x080485f0 in run () > #9 0xb7f3a4fb in start_thread () from /lib/i686/cmov/libpthread.so.0 > #10 0xb7ebe60e in clone () from /lib/i686/cmov/libc.so.6 at least give a bt full or whatever trace that gives line numbers. dcigettext is huge, I won't spot a bug just by reading it. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgp88uPpMo71b.pgp Description: PGP signature
Processed: Re: Bug#456531: libc6: strerror_r() not thread-safe
Processing commands for [EMAIL PROTECTED]: > tag 456531 + unreproducible Bug#456531: libc6: strerror_r() not thread-safe There were no tags set. Tags added: unreproducible > thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#443660: New test case for #443660
On Sun, Dec 16, 2007 at 01:30:39PM +, Rémi Denis-Courmont wrote: > Le Sunday 16 December 2007 12:58:16 Pierre Habouzit, vous avez écrit : > > notfound 443660 2.7-4 > > thanks > > > > On Sat, Dec 15, 2007 at 07:35:36PM +, Rémi Denis-Courmont wrote: > > > found 443660 2.7-4 > > > thanks > > > > > > Hello, > > > > > > Seems like the original test case does not crash anymore. I still have > > > problems with this one new though - it crashes pseudorandomly (about 10% > > > crashes here). Unfortunately, I have not been able to reproduce the > > > problem under a debugger. > > > > > > Interestingly, I once had the crash with the first error message in C > > > locale: > > > > I completely fail to see why it's the same bug, in fact I'm almost > > sure it's not. And without a backtrace I'm unsure what we can do about > > it. Please open a new bug instead of diverting old bugs from their > > purpose. > > Connexion terminée par > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x86bd0b90 (LWP 10614)] > 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 > (gdb) bt > #0 0xb7e599d8 in strcmp () from /lib/i686/cmov/libc.so.6 > #1 0xb7e0d473 in _nl_find_msg () from /lib/i686/cmov/libc.so.6 > #2 0xb7e0e122 in __dcigettext () from /lib/i686/cmov/libc.so.6 > #3 0xb7e0ceb3 in dcgettext () from /lib/i686/cmov/libc.so.6 > #4 0xb7e59ee9 in strerror_r () from /lib/i686/cmov/libc.so.6 > #5 0xb7e27c9f in vfprintf () from /lib/i686/cmov/libc.so.6 > #6 0xb7e4a874 in vsnprintf () from /lib/i686/cmov/libc.so.6 > #7 0xb7e2f1d5 in snprintf () from /lib/i686/cmov/libc.so.6 > #8 0x080485f0 in run () > #9 0xb7f3a4fb in start_thread () from /lib/i686/cmov/libpthread.so.0 > #10 0xb7ebe60e in clone () from /lib/i686/cmov/libc.so.6 > > Looks like exactly the same problem to me. The trace is the same indeed, could you provide a valgrind trace ? I'm completely unable to reproduce the bug with a glibc 2.7-4. Are you sure youre libc6-686 is a 2.7-4 as well ? But I looked at the code, the section that does the realloc that was responsible for the crash before is properly guarded by mutexes now, so it's definitely (if there still is a crash which atm have no proof about) not occurring at the same place. Hence the valgrind trace that tells line numbers would help a lot. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgp6zsgYkcp6v.pgp Description: PGP signature
Bug#154401: Turning a small knob into a huge wand!
Hello Your holiday would be not full without gd se.>.< http://seasonorgan.com Kerstin mcclafferty They took some honey, and plenty of money, -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#208308: Huge holiday discounts for PE_enlargement and ED_treatment!
Hello Your holiday would be not full without gd se.>.< http://slipgrow.com Kerstin mcclafferty For his Hat was a hundred and two feet wide, -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#129774: Your chixxxx can never forget these wonderful nights!
Hello Your holiday would be not full without gd se.>.< http://meanthard.com Kerstin mcclafferty In the shade of the mountains brown!' -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#149452: All Meds are onsale Today Come see our closeout prices
Hello Your holiday would be not full without gd se.>.< http://slipgrow.com Kerstin mcclafferty That is all I have to say- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#91311: Treating your maiden as a goddess, become a God in her bedroom!
Hello Your holiday would be not full without gd se.>.< http://sensefollow.com Kerstin mcclafferty And the Blue Baboon who played the flute, -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#153022: hardship with your intimate relations?
Hello Your holiday would be not full without gd se.>.< http://seasonorgan.com Kerstin mcclafferty Sitting where the pumpkins blow, -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#456531: libc6: strerror_r() not thread-safe
Le Sunday 16 December 2007 17:55:18 Pierre Habouzit, vous avez écrit : > like said, I'd like to have: > * your libc6 version ; 2.7-4 > * your libc6-i686 version ; 2.7-4 It also happens with libc6-i686 purged, in any case, so that's not that: #0 0xb7e31e21 in strcmp () from /lib/libc.so.6 #1 0xb7de5467 in _nl_find_msg () from /lib/libc.so.6 #2 0xb7de6102 in __dcigettext () from /lib/libc.so.6 #3 0xb7de4ea3 in dcgettext () from /lib/libc.so.6 #4 0xb7e32339 in strerror_r () from /lib/libc.so.6 #5 0xb7dffb44 in vfprintf () from /lib/libc.so.6 #6 0xb7e22bc4 in vsnprintf () from /lib/libc.so.6 #7 0xb7e07275 in snprintf () from /lib/libc.so.6 #8 0x080485f0 in run () #9 0xb7f12383 in start_thread () from /lib/libpthread.so.0 #10 0xb7e9663e in clone () from /lib/libc.so.6 > * a valgrind trace, gdb is quite useless here. I have tried countless time to reproduce it under valgrind with no results. (...) > at least give a bt full or whatever trace that gives line numbers. > dcigettext is huge, I won't spot a bug just by reading it. I have libc6-dbg and that won't do it, what else am I supposed to do? -- Rémi Denis-Courmont http://www.remlab.net/ signature.asc Description: This is a digitally signed message part.
Bug#456531: libc6: strerror_r() not thread-safe
On Sun, Dec 16, 2007 at 04:21:10PM +, Rémi Denis-Courmont wrote: > Le Sunday 16 December 2007 17:55:18 Pierre Habouzit, vous avez écrit : > > like said, I'd like to have: > > * your libc6 version ; > > 2.7-4 > > > * your libc6-i686 version ; > > 2.7-4 what is your kernel version ? I would be surprised it matters but … > It also happens with libc6-i686 purged, in any case, so that's not that: > > #0 0xb7e31e21 in strcmp () from /lib/libc.so.6 > #1 0xb7de5467 in _nl_find_msg () from /lib/libc.so.6 > #2 0xb7de6102 in __dcigettext () from /lib/libc.so.6 > #3 0xb7de4ea3 in dcgettext () from /lib/libc.so.6 > #4 0xb7e32339 in strerror_r () from /lib/libc.so.6 > #5 0xb7dffb44 in vfprintf () from /lib/libc.so.6 > #6 0xb7e22bc4 in vsnprintf () from /lib/libc.so.6 > #7 0xb7e07275 in snprintf () from /lib/libc.so.6 > #8 0x080485f0 in run () > #9 0xb7f12383 in start_thread () from /lib/libpthread.so.0 > #10 0xb7e9663e in clone () from /lib/libc.so.6 > > > * a valgrind trace, gdb is quite useless here. > > I have tried countless time to reproduce it under valgrind with no results. have you tried helgrind and other race-condition valgrind tools ? > > at least give a bt full or whatever trace that gives line numbers. > > dcigettext is huge, I won't spot a bug just by reading it. > > I have libc6-dbg and that won't do it, what else am I supposed to do? > `bt full` instead of just `bt` doesn't shows line numbers ? I'm sorry but I really _can't_ reproduce the problem, whereas I have multi-core machines where race conditions are usually easier to show. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgpZlo7ErfdK6.pgp Description: PGP signature
Bug#456531: libc6: strerror_r() not thread-safe
Le Sunday 16 December 2007 21:49:10 Pierre Habouzit, vous avez écrit : > what is your kernel version ? I would be surprised it matters but … I started with a self-built vanilla 2.6.23.8, and now using 2.6.22-3-686 from Sid running on a "HyperThread" single CPU host. Both of them crash. I haven't been able to trigger the problem on amd64. > have you tried helgrind and other race-condition valgrind tools ? I didn't know helgrind was fixed nowadays. Tells this (no crash though): ==23149== Helgrind, a thread error detector. ==23149== Copyright (C) 2007-2007, and GNU GPL'd, by OpenWorks LLP et al. ==23149== Using LibVEX rev 1804, a library for dynamic binary translation. ==23149== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==23149== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation framework. ==23149== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==23149== For more details, rerun with: -v ==23149== ==23149== Thread #2 was created ==23149==at 0x4116628: clone (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x4027625: [EMAIL PROTECTED] (hg_intercepts.c:213) ==23149==by 0x8048694: main (in /home/remi/a.out) ==23149== ==23149== Thread #3 was created ==23149==at 0x4116628: clone (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x4027625: [EMAIL PROTECTED] (hg_intercepts.c:213) ==23149==by 0x8048694: main (in /home/remi/a.out) ==23149== ==23149== Possible data race during write of size 4 at 0xBEC5D5BC ==23149==at 0x40333C3: pthread_barrier_wait (in /usr/lib/debug/libpthread-2.7.so) ==23149==by 0x4027710: mythread_wrapper (hg_intercepts.c:193) ==23149==by 0x402E382: start_thread (pthread_create.c:297) ==23149==by 0x411663D: clone (in /usr/lib/debug/libc-2.7.so) ==23149== Old state: shared-readonly by threads #2, #3 ==23149== New state: shared-modified by threads #2, #3 ==23149== Reason:this thread, #3, holds no consistent locks ==23149== Location 0xBEC5D5BC has never been protected by any lock ==23149== ==23149== Thread #1 is the program's root thread ==23149== ==23149== Thread #4 was created ==23149==at 0x4116628: clone (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x4027625: [EMAIL PROTECTED] (hg_intercepts.c:213) ==23149==by 0x8048694: main (in /home/remi/a.out) ==23149== ==23149== Thread #5 was created ==23149==at 0x4116628: clone (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x4027625: [EMAIL PROTECTED] (hg_intercepts.c:213) ==23149==by 0x8048694: main (in /home/remi/a.out) ==23149== ==23149== Possible data race during write of size 4 at 0xBEC5D5B4 ==23149==at 0x4033407: pthread_barrier_wait (in /usr/lib/debug/libpthread-2.7.so) ==23149==by 0x80486A9: main (in /home/remi/a.out) ==23149== Old state: shared-readonly by threads #1, #2, #3, #4, #5 and 6 others ==23149== New state: shared-modified by threads #1, #2, #3, #4, #5 and 6 others ==23149== Reason:this thread, #1, holds no consistent locks ==23149== Location 0xBEC5D5B4 has never been protected by any lock ==23149== ==23149== Thread #9 was created ==23149==at 0x4116628: clone (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x4027625: [EMAIL PROTECTED] (hg_intercepts.c:213) ==23149==by 0x8048694: main (in /home/remi/a.out) ==23149== ==23149== Possible data race during write of size 4 at 0x4189C30 ==23149==at 0x41236A5: __lll_unlock_wake_private (in /usr/lib/debug/libc-2.7.so) ==23149==by 0x406668C: _nl_find_domain (finddomain.c:120) ==23149==by 0x4065FA1: __dcigettext (dcigettext.c:627) ==23149==by 0x4064EA2: dcgettext (dcgettext.c:53) ==23149==by 0x40B2338: strerror_r (_strerror.c:65) ==23149==by 0x407FB43: vfprintf (vfprintf.c:1559) ==23149==by 0x40A2BC3: vsnprintf (vsnprintf.c:120) ==23149==by 0x4087274: snprintf (snprintf.c:35) ==23149==by 0x80485FE: run (in /home/remi/a.out) ==23149==by 0x4027710: mythread_wrapper (hg_intercepts.c:193) ==23149==by 0x402E382: start_thread (pthread_create.c:297) ==23149==by 0x411663D: clone (in /usr/lib/debug/libc-2.7.so) ==23149== Old state: shared-modified by threads #3, #9 ==23149== New state: shared-modified by threads #3, #9 ==23149== Reason:this thread, #3, holds no consistent locks ==23149== Last consistently used lock for 0x4189C30 was first observed ==23149==at 0x40263C4: pthread_rwlock_wrlock (hg_intercepts.c:809) ==23149==by 0x4064D16: set_binding_values (bindtextdom.c:118) ==23149==by 0x4064E4F: bindtextdomain (bindtextdom.c:350) ==23149==by 0x8048653: main (in /home/remi/a.out) ==23149== ==23149== Possible data race during write of size 4 at 0x4190AE8 ==23149==at 0x406582C: _nl_find_msg (dcigettext.c:1041) ==23149==by 0x4066101: __dcigettext (dcigettext.c:639) ==23149==by 0x4064EA2: dcgettext (dcgettext.c:53) ==23149==by 0x40B2338: strerror_r (_strerror.c:65) ==23149==by 0x407FB43: vfprintf (vfprintf.c:1559) ==23149==by 0x40A2BC3: vsnprintf (vsnprintf.c:120) ==2314
Bug#456531: libc6: strerror_r() not thread-safe
On Sun, Dec 16, 2007 at 08:04:26PM +, Rémi Denis-Courmont wrote: > Le Sunday 16 December 2007 21:49:10 Pierre Habouzit, vous avez écrit : > > what is your kernel version ? I would be surprised it matters but … > > I started with a self-built vanilla 2.6.23.8, and now using 2.6.22-3-686 from > Sid running on a "HyperThread" single CPU host. Both of them crash. > I haven't been able to trigger the problem on amd64. Well I'm still unable to on i386… > > have you tried helgrind and other race-condition valgrind tools ? > > I didn't know helgrind was fixed nowadays. Tells this (no crash though): it is since the last release from 4 days ago ;) I'll see with the backtrace if I can find the issue, but I've got nothing so far. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgpwRUmO0kVX5.pgp Description: PGP signature
Processed: bug 456531 is forwarded to http://sourceware.org/bugzilla/show_bug.cgi?id=5489, tagging 456531
Processing commands for [EMAIL PROTECTED]: > # Automatically generated email from bts, devscripts version 2.10.11 > forwarded 456531 http://sourceware.org/bugzilla/show_bug.cgi?id=5489 Bug#456531: libc6: strerror_r() not thread-safe Noted your statement that Bug has been forwarded to http://sourceware.org/bugzilla/show_bug.cgi?id=5489. > tags 456531 - unreproducible Bug#456531: libc6: strerror_r() not thread-safe Tags were: unreproducible Tags removed: unreproducible > End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5489] strerror_r (actually dcigettext) is racy
--- Additional Comments From madcoder at debian dot org 2007-12-16 21:05 --- Created an attachment (id=2139) --> (http://sourceware.org/bugzilla/attachment.cgi?id=2139&action=view) helgrind trace -- http://sourceware.org/bugzilla/show_bug.cgi?id=5489 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5489] New: strerror_r (actually dcigettext) is racy
Attached is a sample code that crashes on i386 (though oddly not on amd64). Attached is also a trace from valgrind (helgrind) that shows where the underlying data race is. -- Summary: strerror_r (actually dcigettext) is racy Product: glibc Version: unspecified Status: NEW Severity: normal Priority: P2 Component: libc AssignedTo: drepper at redhat dot com ReportedBy: madcoder at debian dot org CC: glibc-bugs at sources dot redhat dot com http://sourceware.org/bugzilla/show_bug.cgi?id=5489 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5489] strerror_r (actually dcigettext) is racy
--- Additional Comments From madcoder at debian dot org 2007-12-16 21:04 --- Created an attachment (id=2138) --> (http://sourceware.org/bugzilla/attachment.cgi?id=2138&action=view) sample code -- http://sourceware.org/bugzilla/show_bug.cgi?id=5489 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5489] strerror_r (actually dcigettext) is racy
-- What|Removed |Added CC||ismail at pardus dot org dot ||tr http://sourceware.org/bugzilla/show_bug.cgi?id=5489 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5489] strerror_r (actually dcigettext) is racy
--- Additional Comments From drepper at redhat dot com 2007-12-16 21:54 --- *** This bug has been marked as a duplicate of 5443 *** -- What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://sourceware.org/bugzilla/show_bug.cgi?id=5489 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[Bug libc/5443] SIGSEGV occurs in strerror_r()
--- Additional Comments From drepper at redhat dot com 2007-12-16 21:54 --- *** Bug 5489 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||madcoder at debian dot org http://sourceware.org/bugzilla/show_bug.cgi?id=5443 --- You are receiving this mail because: --- You are on the CC list for the bug, or are watching someone who is. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Processed: [bts-link] source package glibc
Processing commands for [EMAIL PROTECTED]: > # > # bts-link upstream status pull for source package glibc > # see http://lists.debian.org/debian-devel-announce/2006/05/msg1.html > # > user [EMAIL PROTECTED] Setting user to [EMAIL PROTECTED] (was [EMAIL PROTECTED]). > # remote status report for #456240 > # * http://sourceware.org/bugzilla/show_bug.cgi?id=5441 > # * remote status changed: (?) -> RESOLVED > # * remote resolution changed: (?) -> FIXED > usertags 456240 + status-RESOLVED resolution-FIXED Bug#456240: libc6 2.7-3 vfscanf() illegal free() There were no usertags set. Usertags are now: status-RESOLVED resolution-FIXED. > # remote status report for #455671 > # * http://sourceware.org/bugzilla/show_bug.cgi?id=5475 > # * remote status changed: (?) -> NEW > usertags 455671 + status-NEW Bug#455671: libc6: Please support fe80::[...]%eth0-like nameservers in /etc/resolv.conf There were no usertags set. Usertags are now: status-NEW. > # remote status report for #456240 > # * http://sourceware.org/bugzilla/show_bug.cgi?id=5441 > # * remote status changed: (?) -> RESOLVED > # * remote resolution changed: (?) -> FIXED > usertags 456240 + status-RESOLVED resolution-FIXED Bug#456240: libc6 2.7-3 vfscanf() illegal free() Usertags were: status-RESOLVED resolution-FIXED. Usertags are now: status-RESOLVED resolution-FIXED. > # remote status report for #456531 > # * http://sourceware.org/bugzilla/show_bug.cgi?id=5443 > # * remote status changed: (?) -> NEW > forwarded 456531 http://sourceware.org/bugzilla/show_bug.cgi?id=5489, > merged-upstream: http://sourceware.org/bugzilla/show_bug.cgi?id=5443 Bug#456531: libc6: strerror_r() not thread-safe Forwarded-to-address changed from http://sourceware.org/bugzilla/show_bug.cgi?id=5489 to http://sourceware.org/bugzilla/show_bug.cgi?id=5489, merged-upstream: http://sourceware.org/bugzilla/show_bug.cgi?id=5443. > usertags 456531 + status-NEW Bug#456531: libc6: strerror_r() not thread-safe There were no usertags set. Usertags are now: status-NEW. > thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
[bts-link] source package glibc
# # bts-link upstream status pull for source package glibc # see http://lists.debian.org/debian-devel-announce/2006/05/msg1.html # user [EMAIL PROTECTED] # remote status report for #456240 # * http://sourceware.org/bugzilla/show_bug.cgi?id=5441 # * remote status changed: (?) -> RESOLVED # * remote resolution changed: (?) -> FIXED usertags 456240 + status-RESOLVED resolution-FIXED # remote status report for #455671 # * http://sourceware.org/bugzilla/show_bug.cgi?id=5475 # * remote status changed: (?) -> NEW usertags 455671 + status-NEW # remote status report for #456240 # * http://sourceware.org/bugzilla/show_bug.cgi?id=5441 # * remote status changed: (?) -> RESOLVED # * remote resolution changed: (?) -> FIXED usertags 456240 + status-RESOLVED resolution-FIXED # remote status report for #456531 # * http://sourceware.org/bugzilla/show_bug.cgi?id=5443 # * remote status changed: (?) -> NEW forwarded 456531 http://sourceware.org/bugzilla/show_bug.cgi?id=5489, merged-upstream: http://sourceware.org/bugzilla/show_bug.cgi?id=5443 usertags 456531 + status-NEW thanks
Bug#456614: /sbin/ldconfig: xen: not using -mno-tls-direct-seg-refs in /lib/tls
Package: libc6 Version: 2.7-3 Severity: normal File: /sbin/ldconfig /sbin/ldconfig causes the following kernel logs, libc6-xen is installed: victor:~# dpkg -l | grep libc6 ii libc62.7-3GNU C Library: Shared libraries ii libc6-xen 2.7-3GNU C Library: Shared libraries [Xen version victor:~# /sbin/ldconfig victor:~# dmesg *** *** ** WARNING: Currently emulating unsupported memory accesses ** ** in /lib/tls glibc libraries. The emulation is** ** slow. To ensure full performance you should ** ** add -mno-tls-direct-seg-refs to your CFLAGS and ** ** re-emerge glibc and any staticly linked programs ** ** or emerge -e world to catch everything. ** ** Offending process: ldconfig (pid=2884)** *** *** -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.20-xen-r6-domU (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libc6 depends on: ii libgcc1 1:4.2.2-4 GCC support library libc6 recommends no packages. -- debconf information excluded -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#369453: makecontext/setcontext/getcontext not implemented on ARM architecture
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Robert Millan wrote: [...] I'm interested in these functions too. I might be able to implement them; please could you provide a minimal architecture-independent test case? Even if I can't do it, having this might be helpful to someone else. Sorry, I don't use them any more. I eventually got fed up with poor support for those functions in most software and when I discovered that pretty much *all* code that ever called a Linux 2.4 pthreads function would crash if you tried to use it from a user context, I gave up. I eventually rewrote my coroutines implementation to emulate them using pthreads and a single giant lock. Now, there's pointless for you... - -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ Uglúk u bagronk sha pushdug Internet-glob bbhosh skai. │ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHYp7of9E0noFvlzgRAnScAJ9NCVtW7uW0zPdfao8xMHah/j73MACdFaHa z8M3mwj8ZaU8r9TEyS+VlB0= =fz/h -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Processed: mass change old submitter address on archived bugs
Processing commands for [EMAIL PROTECTED]: > # mass change old submitter address on archived bugs > # sorry for the noise, debbugs doesn't seem to have control-quiet@ > unarchive 230482 Unarchived Bug 230482 > submitter 230482 ! Bug#230482: reiserfsprogs: reiserfsck --rebuild-tree hangs in pass 2: "do_pass_2: The block (level=0, nr_items=0, .. Changed Bug submitter from Pabs <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 230482 Bug#230482: reiserfsprogs: reiserfsck --rebuild-tree hangs in pass 2: "do_pass_2: The block (level=0, nr_items=0, .. archived 230482 to archive/82 (from 230482) deleted 230482 (from 230482) > unarchive 233161 Unarchived Bug 233161 > submitter 233161 ! Bug#233161: mailman: options page traceback using nonmember email and site/list admin passwd Changed Bug submitter from Pabs <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 233161 Bug#233161: mailman: options page traceback using nonmember email and site/list admin passwd archived 233161 to archive/61 (from 233161) deleted 233161 (from 233161) > unarchive 287166 Unarchived Bug 287166 Unarchived Bug 287167 Unarchived Bug 287831 Unarchived Bug 288563 > submitter 287166 ! Bug#287166: meld: traceback when comparing 2 directories Changed Bug submitter from Pabs <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 287166 Bug#287166: meld: traceback when comparing 2 directories archived 287166 to archive/66 (from 287166) deleted 287166 (from 287166) archived 287167 to archive/67 (from 287166) deleted 287167 (from 287166) archived 287831 to archive/31 (from 287166) deleted 287831 (from 287166) archived 288563 to archive/63 (from 287166) deleted 288563 (from 287166) > unarchive 287167 Unarchived Bug 287167 Unarchived Bug 287166 Unarchived Bug 287831 Unarchived Bug 288563 > submitter 287167 ! Bug#287167: libglade errors on startup Changed Bug submitter from Pabs <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 287167 Bug#287167: libglade errors on startup archived 287167 to archive/67 (from 287167) deleted 287167 (from 287167) archived 287166 to archive/66 (from 287167) deleted 287166 (from 287167) archived 287831 to archive/31 (from 287167) deleted 287831 (from 287167) archived 288563 to archive/63 (from 287167) deleted 288563 (from 287167) > unarchive 287831 Unarchived Bug 287831 Unarchived Bug 287166 Unarchived Bug 287167 Unarchived Bug 288563 > submitter 287831 ! Bug#287831: meld: Meld does not want to compare directories anymore Changed Bug submitter from Jaap Haitsma <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 287831 Bug#287831: meld: Meld does not want to compare directories anymore archived 287831 to archive/31 (from 287831) deleted 287831 (from 287831) archived 287166 to archive/66 (from 287831) deleted 287166 (from 287831) archived 287167 to archive/67 (from 287831) deleted 287167 (from 287831) archived 288563 to archive/63 (from 287831) deleted 288563 (from 287831) > unarchive 288563 Unarchived Bug 288563 Unarchived Bug 287166 Unarchived Bug 287167 Unarchived Bug 287831 > submitter 288563 ! Bug#288563: meld: Throws up GtkWarning and starts without the icon toolbar Changed Bug submitter from Y Giridhar Appaji Nag <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 288563 Bug#288563: meld: Throws up GtkWarning and starts without the icon toolbar archived 288563 to archive/63 (from 288563) deleted 288563 (from 288563) archived 287166 to archive/66 (from 288563) deleted 287166 (from 288563) archived 287167 to archive/67 (from 288563) deleted 287167 (from 288563) archived 287831 to archive/31 (from 288563) deleted 287831 (from 288563) > unarchive 287167 Unarchived Bug 287167 Unarchived Bug 287166 Unarchived Bug 287831 Unarchived Bug 288563 > submitter 287167 ! Bug#287167: libglade errors on startup Changed Bug submitter from Paul Wise <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.) > archive 287167 Bug#287167: libglade errors on startup archived 287167 to archive/67 (from 287167) deleted 287167 (from 287167) archived 287166 to archive/66 (from 287167) deleted 287166 (from 287167) archived 287831 to archive/31 (from 287167) deleted 287831 (from 287167) archived 288563 to archive/63 (from 287167) deleted 288563 (from 287167) > unarchive 287166 Unarchived Bug 287166 Unarchived Bug 287167 Unarchived Bug 287831 Unarchived Bug 288563 > submitter 287166 ! Bug#287166: meld: traceback when comparing 2 directories Changed Bug submitter from Paul Wise <[EMAIL PROTECTED]> to Paul Wise <[EMAIL PROTECTED]>. (By the way, that Bug is currently marked as done.)
Processed: reassign 432616 to libc6
Processing commands for [EMAIL PROTECTED]: > # Automatically generated email from bts, devscripts version 2.10.11 > reassign 432616 libc6 Bug#432616: libc6: ldconfig gives lots of Xen errors on Unstable. Bug#446344: libc6-xen: many '4gb seg fixup' messages to log and console Bug reassigned from package `libc6-xen' to `libc6'. > End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Processed: forcibly merging 432616 456614
Processing commands for [EMAIL PROTECTED]: > # Automatically generated email from bts, devscripts version 2.10.11 > forcemerge 432616 456614 Bug#432616: libc6: ldconfig gives lots of Xen errors on Unstable. Bug#456614: /sbin/ldconfig: xen: not using -mno-tls-direct-seg-refs in /lib/tls Bug#446344: libc6-xen: many '4gb seg fixup' messages to log and console Forcibly Merged 432616 446344 456614. > End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]