random crashes with mail-notification-5.4
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mail Notification |
Fix Released
|
High
|
Unassigned |
Bug Description
After 5 - 10 minutes, m-n-5.4 crashes with a segfault. I got the following backtrace from a build with "cflags=-g" and "cppflags=-g". The server m-n was checking at that time is dovecot-1.1.1 running on a server in my LAN. As this is the only backtrace so far, I don't know if the crash always happens with the same server. I use m-n to monitor two IMAP servers and my local system mailbox.
Anyway, here's the backtrace:
[zlatko@
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-slackware
Using host libthread_db library "/lib/libthread
(gdb) run
Starting program: /usr/local/
[Thread debugging using libthread_db enabled]
[New Thread -1228920624 (LWP 28438)]
[New Thread -1232090224 (LWP 28441)]
[New Thread -1242563696 (LWP 28442)]
[New Thread -1250952304 (LWP 28443)]
[New Thread -1240478832 (LWP 28444)]
[Thread -1232090224 (LWP 28441) exited]
[Thread -1250952304 (LWP 28443) exited]
[New Thread -1250952304 (LWP 28455)]
[Thread -1250952304 (LWP 28455) exited]
(mail-notificat
(mail-notificat
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1242563696 (LWP 28442)]
0x08074333 in mn_g_object_clone (object=0xb5f12180, property_
1179 g_value_
(gdb) bt full
#0 0x08074333 in mn_g_object_clone (object=0xb5f12180, property_
pspec = (GParamSpec *) 0x0
parameter = (GParameter *) 0xb5f0e9c0
error = 0x0
parameters = (GHashTable *) 0x8a87c50
args = 0xb5eff1d8 ""
properties = (GParamSpec **) 0x8a88fb8
n_properties = 3075511376
i = -1219456018
parameters_array = (GArray *) 0xb5eff1b0
new_object = (GObject *) 0xb5f25558
#1 0x0807dd8c in mn_imap_
at src/mn-
message = (MNMessage *) 0xb5f12180
n = 39
info = (MessageInfo *) 0xb5f0ea60
uid = 0xb5f0f288 "916"
#2 0x08082286 in handle_input (session=
result = -1
response = (MNClientSessio
cont = 1
#3 0x0808245c in mn_client_
port=143, private=0xb5eff2c8, err=0xb5eff324) at src/mn-
session = {states = 0x8097b20, callbacks = 0x8097b00, server = 0x8a88ee0 "my.imap.server", port = 143, s = 19,
state = 0x8097b80, error = 0x0, private = 0xb5eff2c8, input_buffer = 0xb5f03748, bytes_to_remove = 22, ssl = 0xb5f0dd58,
sasl_conn = 0xb5f10450, sasl_ssf = 0, sasl_maxoutbuf = 0}
addrinfo = (struct addrinfo *) 0xb5f01648
line = 0xb5f21c10 "* 39 FETCH (UID 916)"
#4 0x0807e7c0 in ___21_mn_
self = (Self *) 0x8a89098
priv = {mailbox = 0x8a89098, auth_mailbox = 0x8a89098, pi_mailbox = 0x8a89098, session = 0xb5eff254, self = 0x8a89098,
server_software = 0x0, server_
auth_mechanisms = 0x0, authenticated = 1, uidvalidity = 0xb5f03188 "1215789868", num_errors = 0, messages = 0x8a87d18,
starttls_
idle_
status = 0
err = (GError *) 0x0
states = {{id = 1, enter_cb = 0, handle_cb = 0x807cc25 <mn_imap_
enter_cb = 0x807cd83 <mn_imap_
enter_cb = 0x807cee7 <mn_imap_
enter_cb = 0x807cffa <mn_imap_
id = 5, enter_cb = 0x807d1ff <mn_imap_
enter_cb = 0x807d404 <mn_imap_
enter_cb = 0x807d613 <mn_imap_
id = 8, enter_cb = 0x807d856 <mn_imap_
handle_cb = 0x807d871 <mn_imap_
handle_cb = 0x807dbe1 <mn_imap_
handle_cb = 0x807de99 <mn_imap_
handle_cb = 0x807e2dd <mn_imap_
handle_cb = 0x807e634 <mn_imap_
callbacks = {notice = 0x80811c1 <mn_pi_
response_new = 0x807e901 <mn_imap_
pre_read = 0x807ebe4 <mn_imap_
---Type <return> to continue, or q <return> to quit---
sasl_
ssl_trust_server = 0x8080ed4 <mn_pi_
#5 0x080848bb in mn_authenticate
klass = (MNAuthenticate
#6 0x08084850 in mn_authenticate
No locals.
#7 0xb753daab in g_thread_
No symbol table info available.
#8 0xb72ad1b3 in start_thread () from /lib/libpthread
No symbol table info available.
#9 0xb723603e in clone () from /lib/libc.so.6
No symbol table info available.
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) quit
[zlatko@
I'll try to get another backtrace to find out if the crash always happens with the same server.
Changed in mail-notification: | |
status: | Confirmed → Fix Released |
It looks like an invalid object is passed to mn_g_object_ clone() , but looking at the code and at the backtrace I have no idea why. If you're able to reproduce this crash, could you please run MN from a terminal with the -i option and send me the resulting output?