Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
On Aug 5, 2008, at 11:44 AM, Dean Brooks wrote: Is there a way to implement a --without-bzlib style option so people can disable compilation of some of these plugins? Added: http://hg.dovecot.org/dovecot-1.1/rev/0dd6386cbc93 PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
Chris Wakelin wrote: Oh, unless there are some bugs in your zlib version, such as related to seeking.. Could be, I imagine it's as prehistoric as the bzlib :) Right, I've tried dovecot-1.1.2 using my own zlib-1.2.3 (and bzlib-1.0.5) build on Solaris 8: ldd lib20_zlib_plugin.so gives libz.so = /opt/RDGzlib/lib/libz.so libbz2.so = /opt/RDGbzlib/lib/libbz2.so ... and get the same problems. I've been testing zlib again in Dovecot 1.1.1 (plus assert-crash fix) and 1.1.2 and I'm beginning to think it may be some sort of race condition (the Solaris 8 box is significantly slower than the SuSE one!). If I leave a few seconds pause between the FETCH uid BODY[] commands, it seems not to crash, even with the same sequence. Mind you, I wouldn't have expected to be able to type quickly enough to cause problems! Is that plausible? Best Wishes, Chris -- --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- Christopher Wakelin, [EMAIL PROTECTED] IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439 Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
On Jul 24, 2008, at 1:11 PM, Dean Brooks wrote: I cannot get Dovecot 1.1.2 to compile at all on Solaris8 with gcc 3.3.4 and newly recompiled versions of bzip2 and zlib libraries. This is the first time I've ever had a problem getting Dovecot to compile under Solaris 8. .. unknown 0x3ab8 /usr/local/lib/ libbz2.a(decompress.o) I think the problem is you're trying to link libbz2.a instead of libbz2.so (you didn't build the .so at all?). PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
On Mon, Aug 04, 2008 at 02:26:50PM -0400, Timo Sirainen wrote: On Jul 24, 2008, at 1:11 PM, Dean Brooks wrote: I cannot get Dovecot 1.1.2 to compile at all on Solaris8 with gcc 3.3.4 and newly recompiled versions of bzip2 and zlib libraries. This is the first time I've ever had a problem getting Dovecot to compile under Solaris 8. .. unknown 0x3ab8 /usr/local/lib/ libbz2.a(decompress.o) I think the problem is you're trying to link libbz2.a instead of libbz2.so (you didn't build the .so at all?). When building the bz2 library from source, the .so shared library is not built by default. It also appears that when forcing the shared library of libbz2 to be built, the compile process fails under Solaris8 without some sort of modifications. Ugh. Does dovecot require a shared version of the libbz2 library to compile correctly? Is there no way to statically link this? Or, alternatively, is there a way to shut off this libbz2 plugin completely in the configure script? -- Dean Brooks [EMAIL PROTECTED]
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
On Aug 4, 2008, at 2:38 PM, Dean Brooks wrote: Does dovecot require a shared version of the libbz2 library to compile correctly? Is there no way to statically link this? You could link the libbz2.a into the imap binary (and hope that linker doesn't optimize it away), but you can't link .a libraries to shared libraries (plugins). Or, alternatively, is there a way to shut off this libbz2 plugin completely in the configure script? You could afterwards remove HAVE_BZLIB from config.h and remove it from Makefile. Wonder if there's a way in autoconf to detect if a library is shared.. PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
Chris Wakelin wrote: I can try this in Solaris 10, but I don't really see why the OS/architecture should matter. Oh, unless there are some bugs in your zlib version, such as related to seeking.. Could be, I imagine it's as prehistoric as the bzlib :) Right, I've tried dovecot-1.1.2 using my own zlib-1.2.3 (and bzlib-1.0.5) build on Solaris 8: ldd lib20_zlib_plugin.so gives libz.so = /opt/RDGzlib/lib/libz.so libbz2.so = /opt/RDGbzlib/lib/libbz2.so ... and get the same problems. I've tried building on Solaris 10 (using Sun's zlib and bzlib2) and get a similar problem ldd lib20_zlib_plugin.so libz.so.1 = /usr/lib/libz.so.1 libbz2.so.1 = /usr/lib/libbz2.so.1 ... After FETCH 1:167 FULL, FETCH 167 BODY[], FETCH 123 BODY[], FETCH 39 BODY[], FETCH 23 BODY[] :- dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Cached message offset 45576 is invalid for mbox file (read-only mbox stream) dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Cached message offset 45576 is invalid for mbox file (read-only mbox stream) dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Losing sync for mail uid=23 in mbox file (read-only mbox stream) dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Unexpectedly lost From-line at 45576 dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Unexpectedly lost From-line at 45576 dovecot: Jul 24 16:02:51 Error: IMAP 28535 xxx.xxx.xxx.xxx : Couldn't get mbox size dovecot: Jul 24 16:02:51 Info: IMAP 28535 xxx.xxx.xxx.xxx : Disconnected: Internal error occurred. Refer to server log for more information. [2008-07-24 16:02:51] bytes=114/90517 On the SuSE box, it's fine. However, on all three boxes when I use bzip2 instead (i.e. same folder, bzipped) I get a segfault crash after just FETCH 1:167 FULL :- dovecot: Jul 24 16:17:29 Error: child 28544 (imap) killed with signal 11 backtrace on the Solaris 8 version: #0 0xff2505a0 in memmove () from /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1 #1 0xa6d60 in i_stream_compress (stream=0xfc930) at istream.c:301 #2 0xff1414e4 in i_stream_zlib_seek (stream=0xfc930, v_offset=0, mark=true) at istream-zlib.c:173 #3 0xa6920 in i_stream_seek_mark (stream=0xfc958, v_offset=4443332646273026) at istream.c:139 #4 0x4f654 in istream_raw_mbox_seek (stream=0x1142f0, offset=0) at istream-raw-mbox.c:625 #5 0x45cd8 in mbox_file_seek (mbox=0x10e6b8, view=0x4868b0, seq=1, deleted_r=0xffbeee37) at mbox-file.c:171 #6 0x4739c in mbox_mail_seek (mail=0x10edd8) at mbox-mail.c:70 #7 0x474f4 in mbox_mail_get_received_date (_mail=0x, date_r=0xffbeef8c) at mbox-mail.c:103 #8 0x6acf4 in mail_get_received_date (mail=0x, date_r=0xffbeef8c) at mail.c:79 #9 0x2aeb0 in fetch_internaldate (ctx=0x10edd8, mail=0x10edd8, context=0x0) at imap-fetch.c:552 #10 0x2a4fc in imap_fetch_more (ctx=0xf6180) at imap-fetch.c:309 #11 0x2a744 in imap_fetch (ctx=0xf6180) at imap-fetch.c:361 #12 0x23628 in cmd_fetch (cmd=0xf60f0) at cmd-fetch.c:152 #13 0x28784 in client_command_input (cmd=0xf60f0) at client.c:580 #14 0x28628 in client_command_input (cmd=0xf60f0) at client.c:629 #15 0x2880c in client_handle_next_command (client=0xf5e90, remove_io_r=0xffbef2bf) at client.c:670 #16 0x288f4 in client_handle_input (client=0xf5e90) at client.c:680 #17 0x28a40 in client_input (client=0xf5e90) at client.c:725 #18 0xaa1a4 in io_loop_handler_run (ioloop=0xf29e8) at ioloop-poll.c:200 #19 0xa99d4 in io_loop_run (ioloop=0xf29e8) at ioloop.c:308 #20 0x31cf4 in main (argc=0, argv=0xffbef504, envp=0xffbef514) at main.c:293 I could send you the dovecot index files at each stage of the zlib test if that would help? Chris -- --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- Christopher Wakelin, [EMAIL PROTECTED] IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439 Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094
Re: [Dovecot] Dovecot 1.1.1 + zlib plugin + mbox crash
On Wed, 2008-07-23 at 15:58 +0100, Chris Wakelin wrote: I've tried this on both Solaris 8 and SuSE Enterprise 9 (64-bit). I get a assert-crash when using a gzipped mbox folder .. istream-raw-mbox.c: line 363 (i_stream_create_raw_mbox): assertion failed: (input-v_offset == 0) Fixed: http://hg.dovecot.org/dovecot-1.1/rev/0c67730b9002 signature.asc Description: This is a digitally signed message part