Unfortunately, I don't have reliable repro steps for this bug it was just a bug that appeared out of the blue and then apport submitted it. For this reason, I will not reopen this bug.
Anyway, I'm fairly sure it was related to a conflict between totem and some other app with respect to pulseaudio. Check out the stacktrace that apport report for thread number one:
#0 0xb7021f98 in _int_malloc () from /lib/tls/i686/cmov/libc.so.6
#1 0xb7023cad in malloc () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6fcdc65 in __gconv_open () from /lib/tls/i686/cmov/libc.so.6
#3 0xb6fcd2e0 in iconv_open () from /lib/tls/i686/cmov/libc.so.6
#4 0xb4d8a69d in iconv_simple (
str=0x842ab28 "Assertion 'pthread_setspecific(t->key, userdata) == 0' failed at pulsecore/thread-posix.c:194, function pa_tls_set(). Aborting.",
to=0x5900 <Address 0x5900 out of bounds>, from=0xb7102160 "\001")
at pulse/utf8.c:212
new_str = 0x0
len = <value optimized out>
cd = <value optimized out>
inbuf = <value optimized out>
outbuf = <value optimized out>
res = <value optimized out>
inbytes = <value optimized out>
outbytes = <value optimized out>
__func__ = "iconv_simple"
__PRETTY_FUNCTION__ = "iconv_simple"
#5 0xb4d9587b in pa_log_levelv_meta (level=PA_LOG_ERROR,
file=0xb4db6216 "pulsecore/thread-posix.c", line=194,
func=0xb4db62ab "pa_tls_set",
format=0xb4dabcfc "Assertion '%s' failed at %s:%u, function %s(). Aborting.", ap=0xb0dd31b4 "Tb۴\026b۴�") at pulsecore/log.c:161
prefix = 0xb4db0a33 ""
suffix = 0xb4db0a33 ""
local_t = 0xb4da1c20 "U\211�S�����\201�\037`\001"
text = 0x842ab28 "Assertion 'pthread_setspecific(t->key, userdata) == 0' failed at pulsecore/thread-posix.c:194, function pa_tls_set(). Aborting."
t = 0x842ab28 "Assertion 'pthread_setspecific(t->key, userdata) == 0' failed at pulsecore/thread-posix.c:194, function pa_tls_set(). Aborting."
n = 0x0
location = 0x84209a0 "thread-posix.c: "
__func__ = "pa_log_levelv_meta"
__PRETTY_FUNCTION__ = "pa_log_levelv_meta"
#6 0xb4d95c03 in pa_log_level_meta (level=PA_LOG_ERROR,
file=0xb4db6216 "pulsecore/thread-posix.c", line=194,
func=0xb4db62ab "pa_tls_set",
format=0xb4dabcfc "Assertion '%s' failed at %s:%u, function %s(). Aborting.") at pulsecore/log.c:220
ap = 0xb0dd31b4 "Tb۴\026b۴�"
#7 0xb4daa47f in pa_tls_set (t=0x816f690, userdata=0x81c0de0)
at pulsecore/thread-posix.c:194
r = (void *) 0x0
__func__ = "pa_tls_set"
__PRETTY_FUNCTION__ = "pa_tls_set"
#8 0xb4daad43 in pa_thread_self () at pulsecore/thread-posix.c:62
t = (pa_thread *) 0x81c0de0
#9 0xb4d89ba5 in pa_threaded_mainloop_unlock (m=0xb430e8e0)
at pulse/thread-mainloop.c:59
__func__ = "pa_threaded_mainloop_unlock"
__PRETTY_FUNCTION__ = "pa_threaded_mainloop_unlock"
#10 0xb55e0143 in gst_pulsesink_write (asink=0x83e2b80, data=0x8a0fd80,
length=0) at pulsesink.c:482
pulsesink = (GstPulseSink *) 0x83e2b80
sum = 880
__FUNCTION__ = "gst_pulsesink_write"
#11 0xb7a65fdb in audioringbuffer_thread_func (buf=0x85b0808)
at gstaudiosink.c:226
written = 144768176
left = 880
len = 880
readptr = (
guint8 *) 0x8a0fcb0 "�%\t�@�\035�\030G\177��Zz�p�\026�\230�\016�Т<�(�\\���\200\037���b��S��P\024���,��q��H�m�h\235���1|�p\213�x�C�`*��\220v6�0\a�(f.��\006.�x\017��`�0�\200\214���\027\237�h\"2�\200S��h@\237�P�P��+o��_+��<\234� )���a��\020f\215�\030�����:"
readseg = 13
sink = (GstAudioSink *) 0x83e2b80
writefunc = (WriteFunc) 0xb55dfe60 <gst_pulsesink_write>
__FUNCTION__ = "audioringbuffer_thread_func"
#12 0xb732aa6f in g_thread_create_proxy (data=0x8947d30)
at /build/buildd/glib2.0-2.16.3/glib/gthread.c:635
__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#13 0xb710a4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0xb708ce5e in clone () from /lib/tls/i686/cmov/libc.so.6
Unfortunately, I don't have reliable repro steps for this bug it was just a bug that appeared out of the blue and then apport submitted it. For this reason, I will not reopen this bug.
Anyway, I'm fairly sure it was related to a conflict between totem and some other app with respect to pulseaudio. Check out the stacktrace that apport report for thread number one:
#0 0xb7021f98 in _int_malloc () from /lib/tls/ i686/cmov/ libc.so. 6 i686/cmov/ libc.so. 6 i686/cmov/ libc.so. 6 i686/cmov/ libc.so. 6 setspecific( t->key, userdata) == 0' failed at pulsecore/ thread- posix.c: 194, function pa_tls_set(). Aborting.", FUNCTION_ _ = "iconv_simple" PA_LOG_ ERROR, thread- posix.c" , line=194, 0xb4dabcfc "Assertion '%s' failed at %s:%u, function %s(). Aborting.", ap=0xb0dd31b4 "Tb۴\026b۴�") at pulsecore/log.c:161 S�����\ 201�\037` \001" setspecific( t->key, userdata) == 0' failed at pulsecore/ thread- posix.c: 194, function pa_tls_set(). Aborting." setspecific( t->key, userdata) == 0' failed at pulsecore/ thread- posix.c: 194, function pa_tls_set(). Aborting." levelv_ meta" FUNCTION_ _ = "pa_log_ levelv_ meta" PA_LOG_ ERROR, thread- posix.c" , line=194, 0xb4dabcfc "Assertion '%s' failed at %s:%u, function %s(). Aborting.") at pulsecore/log.c:220 thread- posix.c: 194 FUNCTION_ _ = "pa_tls_set" thread- posix.c: 62 mainloop_ unlock (m=0xb430e8e0) mainloop. c:59 mainloop_ unlock" FUNCTION_ _ = "pa_threaded_ mainloop_ unlock" write" _thread_ func (buf=0x85b0808) �\035�\ 030G\177� �Zz�p�\ 026�\230� \016�Т< �(�\\�� �\200\037� ��b��S� �P\024� ��,��q� �H�m�h\ 235���1| �p\213� x�C�`*� �\220v6� 0\a�(f. ��\006. �x\017� �`�0�\200\ 214���\ 027\237� h\"2�\200S� �h@\237� P�P��+o� �_+��<\ 234� )���a�� \020f\215� \030��� ��:" write> r_thread_ func" create_ proxy (data=0x8947d30) buildd/ glib2.0- 2.16.3/ glib/gthread. c:635 FUNCTION_ _ = "g_thread_ create_ proxy" i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6
#1 0xb7023cad in malloc () from /lib/tls/
#2 0xb6fcdc65 in __gconv_open () from /lib/tls/
#3 0xb6fcd2e0 in iconv_open () from /lib/tls/
#4 0xb4d8a69d in iconv_simple (
str=0x842ab28 "Assertion 'pthread_
to=0x5900 <Address 0x5900 out of bounds>, from=0xb7102160 "\001")
at pulse/utf8.c:212
new_str = 0x0
len = <value optimized out>
cd = <value optimized out>
inbuf = <value optimized out>
outbuf = <value optimized out>
res = <value optimized out>
inbytes = <value optimized out>
outbytes = <value optimized out>
__func__ = "iconv_simple"
__PRETTY_
#5 0xb4d9587b in pa_log_levelv_meta (level=
file=0xb4db6216 "pulsecore/
func=0xb4db62ab "pa_tls_set",
format=
prefix = 0xb4db0a33 ""
suffix = 0xb4db0a33 ""
local_t = 0xb4da1c20 "U\211�
text = 0x842ab28 "Assertion 'pthread_
t = 0x842ab28 "Assertion 'pthread_
n = 0x0
location = 0x84209a0 "thread-posix.c: "
__func__ = "pa_log_
__PRETTY_
#6 0xb4d95c03 in pa_log_level_meta (level=
file=0xb4db6216 "pulsecore/
func=0xb4db62ab "pa_tls_set",
format=
ap = 0xb0dd31b4 "Tb۴\026b۴�"
#7 0xb4daa47f in pa_tls_set (t=0x816f690, userdata=0x81c0de0)
at pulsecore/
r = (void *) 0x0
__func__ = "pa_tls_set"
__PRETTY_
#8 0xb4daad43 in pa_thread_self () at pulsecore/
t = (pa_thread *) 0x81c0de0
#9 0xb4d89ba5 in pa_threaded_
at pulse/thread-
__func__ = "pa_threaded_
__PRETTY_
#10 0xb55e0143 in gst_pulsesink_write (asink=0x83e2b80, data=0x8a0fd80,
length=0) at pulsesink.c:482
pulsesink = (GstPulseSink *) 0x83e2b80
sum = 880
__FUNCTION__ = "gst_pulsesink_
#11 0xb7a65fdb in audioringbuffer
at gstaudiosink.c:226
written = 144768176
left = 880
len = 880
readptr = (
guint8 *) 0x8a0fcb0 "�%\t�@
readseg = 13
sink = (GstAudioSink *) 0x83e2b80
writefunc = (WriteFunc) 0xb55dfe60 <gst_pulsesink_
__FUNCTION__ = "audioringbuffe
#12 0xb732aa6f in g_thread_
at /build/
__PRETTY_
#13 0xb710a4fb in start_thread () from /lib/tls/
#14 0xb708ce5e in clone () from /lib/tls/