A NOTE has been added to this issue. 
====================================================================== 
http://www.dbmail.org/mantis/view.php?id=220 
====================================================================== 
Reported By:                mavetju
Assigned To:                aaron
====================================================================== 
Project:                    DBMail
Issue ID:                   220
Category:                   IMAP daemon
Reproducibility:            always
Severity:                   crash
Priority:                   high
Status:                     acknowledged
====================================================================== 
Date Submitted:             20-Jun-05 15:11 CEST
Last Modified:              30-Apr-06 10:22 CEST
====================================================================== 
Summary:                    dbmail-imap crashes in pq library on a double free()
Description: 
Jun 20 23:00:47 kermit kernel: pid 97577 (dbmail-imapd), uid 0: exited on
signal 6 (core dumped)

It happens in the PQclear():
(gdb) where
http://www.dbmail.org/mantis/view.php?id=0  0x2811e1d7 in kill () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=1  0x2811327e in raise () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=2  0x28185627 in abort () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=3  0x28129389 in ldexp () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=4  0x281293cd in ldexp () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=5  0x2812a2c1 in ldexp () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=6  0x2812a513 in ldexp () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=7  0x2812a644 in free () from
/lib/libc.so.5
http://www.dbmail.org/mantis/view.php?id=8  0x280c1169 in PQclear () from
/usr/local/lib/libpq.so.4
http://www.dbmail.org/mantis/view.php?id=9  0x280ae023 in db_free_result () at
dbpgsql.c:136
http://www.dbmail.org/mantis/view.php?id=10 0x2809ad50 in db_get_msginfo_range
(msg_idnr_low=6361653, 
    msg_idnr_high=6410363, mailbox_idnr=1005, get_flags=1,
get_internaldate=1, 
    get_rfcsize=1, get_msg_idnr=1, result=0xbfbe4ba8,
resultsetlen=0xbfbe4bac)
    at db.c:3837
http://www.dbmail.org/mantis/view.php?id=11 0x08053bed in _ic_fetch
(tag=0xbfbe4dd0 "00000020", args=0x8064a40, 
    ci=0x280acb00) at imapcommands.c:2547
http://www.dbmail.org/mantis/view.php?id=12 0x0804acca in IMAPClientHandler
(ci=0x280acb00) at imap4.c:386
http://www.dbmail.org/mantis/view.php?id=13 0x2809ed28 in PerformChildTask
(info=0x280acae0) at serverchild.c:377
http://www.dbmail.org/mantis/view.php?id=14 0x2809ee68 in CreateChild
(info=0x280acae0) at serverchild.c:251
http://www.dbmail.org/mantis/view.php?id=15 0x2809fa8e in manage_start_children
() at pool.c:357
http://www.dbmail.org/mantis/view.php?id=16 0x2809e30d in StartServer
(conf=0xbfbfe344) at server.c:117
http://www.dbmail.org/mantis/view.php?id=17 0x080598f7 in main
(argc=-1077944540, argv=0x1) at imapd.c:198

The variable res in db_free_result looks normal. I have checked and
checked and checked again but I can't find a reason why this goes wrong.
I'll build libpq.so tomorrow with debugging enabled so I can see more
hopefully. I have saved a copy of the email, maybe it will give hints
later on.

It only happens with one user, always on the same message, nobody and
nothing else. Very annoying.

====================================================================== 

---------------------------------------------------------------------- 
 mavetju - 27-Jun-05 12:35  
---------------------------------------------------------------------- 
I'm trying to run it under Electric Fence, but that just gives this and no
abort:
<tt>ElectricFence Aborting: free(28597e00): address not from
malloc().</tt>

28597e00 is '(Y~\000', which doesn't look like a text string. 

---------------------------------------------------------------------- 
 aaron - 27-Jun-05 17:02  
---------------------------------------------------------------------- 
Have you ruled out database problems?

For completeness, I'd like to know what your PG version is, if it's hosted
on the same FreeBSD machine, what the database charset is (the now-known
unicode issue might be spilling over), and whatever other interesting
tidbits you have.

Also, have you run the various maintenance routines, such as vacuuming,
analyzing, and checking for corruption? 

---------------------------------------------------------------------- 
 aaron - 23-Jul-05 07:00  
---------------------------------------------------------------------- 
I'm taking this off the active bugs list.
Reopen if there's something more to report! 

---------------------------------------------------------------------- 
 mavetju - 30-Jul-05 16:34  
---------------------------------------------------------------------- 
I have a simple dbmail database now, with one user and three messages in it
which causes the imapd to segfault. The database size is 700 Kb compressed.
I will anonymize[sp] the data and make it available tomorrow. 

---------------------------------------------------------------------- 
 mavetju - 01-Aug-05 10:27  
---------------------------------------------------------------------- 
The file uploaded explodes into a file 1.2Mb big:

   $ bzcat imap-crash.dump.5.4.bz2 | wc
       1179    5000 1234377

To create the database from it, use: 
   $ psql -U pgsql mail < imap-crash.dump.5.4

To see the crash, use the attached script:
   $ nc localhost 8143 < imap-crash
   Aug  1 18:26:51 k7 kernel: pid 96559 (dbmail-imapd), uid 65534: exited
on signal 6

If you need more information, please let me know. 

---------------------------------------------------------------------- 
 mavetju - 10-Aug-05 03:00  
---------------------------------------------------------------------- 
Is more information required for this problem? If so please let me know. 

---------------------------------------------------------------------- 
 mavetju - 20-Aug-05 01:47  
---------------------------------------------------------------------- 
Is more information required for this problem? If so please let me know. 

---------------------------------------------------------------------- 
 aaron - 04-Jan-06 21:06  
---------------------------------------------------------------------- 
Is this still broken in 2.0.7? 

---------------------------------------------------------------------- 
 mavetju - 05-Jan-06 06:40  
---------------------------------------------------------------------- 
Still happening with 2.0.7. See the earlier submitted files which contain
the database dump and the IMAP commands. 

---------------------------------------------------------------------- 
 aaron - 08-Feb-06 19:04  
---------------------------------------------------------------------- 
Finally found a moment to put together your database. Here's my run:

localhost codingprojects # nc localhost 143 < imap-crash
* OK dbmail imap (protocol version 4r1) server 2.0.9 ready to run
* CAPABILITY IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE SORT CHILDREN QUOTA
00000000 OK CAPABILITY completed
+ dXNlcm5hbWUNCg==
+ cGFzc3dvcmQNCg==
00000001 OK AUTHENTICATE completed
* CAPABILITY IMAP4 IMAP4rev1 AUTH=LOGIN ACL NAMESPACE SORT CHILDREN QUOTA
00000002 OK CAPABILITY completed
* 3 EXISTS
* 3 RECENT
* FLAGS (\Seen \Answered \Deleted \Flagged \Draft \Recent)
* OK [PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft \Recent)]
* OK [UIDNEXT 6401661] Predicted next UID
* OK [UIDVALIDITY 1005] UIDs valid
* OK [UNSEEN 2] first unseen message
00000003 OK [READ-WRITE] SELECT completed
00000004 BAD syntax error in sort keys
* SEARCH 6361653 6401660
00000007 OK SEARCH completed
* SEARCH 2 3
00000008 OK SEARCH completed
* 2 FETCH (UID 6361653 ENVELOPE ("Thu, 16 Jun 2005 15:40:39 +1000" {39}
xxxxx
        and i'll send you the materials (("xxx" NIL "xxx"
"xxxx.anu.edu.au")) (("xxx" NIL "xxx" "xxxx.anu.edu.au")) (("xxx" NIL
"xxx" "xxxx.anu.edu.au")) ((NIL NIL "harriet.xxx" "xxxx.xxx.xx")) NIL NIL
NIL "<[EMAIL PROTECTED]>") BODY[HEADER.FIELDS (Newsgroups
Content-MD5 Content-Disposition Content-Language Content-Location
Followup-To References)] {2}

 INTERNALDATE "Thu, 16 Jun 2005 16:41:20 -0700" RFC822.SIZE 1643 FLAGS
(\Answered \Recent))
* 3 FETCH (UID 6401660 ENVELOPE ("Mon, 20 Jun 2005 10:48:36 +1000" "xxxxx"
(("xxx" NIL "xxx" "xxxx.asn.au")) ((NIL NIL "private.barcouncil-xxx"
"xxxx.nswbar.asn.au")) ((NIL NIL "xxx" "xxxx.asn.au")) (("Bar Council
Private" NIL "private.xxx" "xxxx.nswbar.asn.au")) (("allmanagers DL" NIL
"xxx" "xxxx.asn.au")("Kim Kemp" NIL "xxx" "xxxx.asn.au")) NIL NIL
"<[EMAIL PROTECTED]>") BODY[HEADER.FIELDS (Newsgroups Content-MD5
Content-Disposition Content-Language Content-Location Followup-To
References)] {2}

 INTERNALDATE "Mon, 20 Jun 2005 11:49:19 -0700" RFC822.SIZE 621739 FLAGS
(\Recent))
00000009 OK FETCH completed
0000000a OK NOOP completed
* 3 EXISTS
* 3 RECENT
* FLAGS (\Seen \Answered \Deleted \Flagged \Draft \Recent )
* OK [PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft \Recent )]
* OK [UIDVALIDITY 1005] UID value
0000000b OK [READ-ONLY] EXAMINE completed
* 1 FETCH (*** glibc detected *** double free or corruption (!prev):
0x08098490 ***
ENVELOPE ("Thu, 16 Jun 2005 12:54:37 +1000" "xxxxx" (("xxx" NIL "xxx"
"xxxx.asn.au")) ((NIL NIL "private.barcouncil-xxx" "xxxx.nswbar.asn.au"))
((NIL NIL "xxx" "xxxx.asn.au")) (("Bar Council Private" NIL "private.xxx"
"xxxx.nswbar.asn.au")) NIL NIL NIL "<[EMAIL PROTECTED]>")
BODY[HEADER.FIELDS (Newsgroups Content-MD5 Content-Disposition
Content-Language Content-Location Followup-To References)] {2}

 INTERNALDATE "Thu, 16 Jun 2005 13:55:30 -0700" RFC822.SIZE 609791 FLAGS
(\Seen \Recent)) 

---------------------------------------------------------------------- 
 paul - 30-Apr-06 10:22  
---------------------------------------------------------------------- 
I fixed a double-free in the envelope code yesterday that may very well
have fixed this issue 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
20-Jun-05 15:11 mavetju        New Issue                                    
27-Jun-05 12:35 mavetju        Note Added: 0000757                          
27-Jun-05 17:02 aaron          Note Added: 0000758                          
23-Jul-05 07:00 aaron          Status                   new => resolved     
23-Jul-05 07:00 aaron          Resolution               open => suspended   
23-Jul-05 07:00 aaron          Assigned To               => aaron           
23-Jul-05 07:00 aaron          Note Added: 0000784                          
30-Jul-05 16:34 mavetju        Status                   resolved => feedback
30-Jul-05 16:34 mavetju        Resolution               suspended => reopened
30-Jul-05 16:34 mavetju        Note Added: 0000787                          
01-Aug-05 10:24 mavetju        File Added: imap-crash.dump.5.4.bz2              
     
01-Aug-05 10:27 mavetju        Note Added: 0000789                          
01-Aug-05 10:27 mavetju        File Added: imap-crash                       
10-Aug-05 03:00 mavetju        Note Added: 0000816                          
20-Aug-05 01:47 mavetju        Note Added: 0000847                          
01-Oct-05 11:20 paul           Priority                 normal => high      
01-Oct-05 11:20 paul           Status                   feedback => acknowledged
04-Jan-06 21:06 aaron          Note Added: 0000970                          
05-Jan-06 06:40 mavetju        Note Added: 0000977                          
08-Feb-06 19:04 aaron          Note Added: 0000996                          
08-Feb-06 19:12 aaron          File Added: imap-crash.loglevel5                 
  
30-Apr-06 10:22 paul           Note Added: 0001138                          
======================================================================

Reply via email to