Applying the change Timo has said i get this: ==============================================================
(gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. mail_get_physical_size (mail=0x81203a0, size_r=0x0) at mail.c:100 100 return p->v.get_physical_size(mail, size_r); (gdb) bt full #0 mail_get_physical_size (mail=0x81203a0, size_r=0x0) at mail.c:100 No locals. #1 0xb7e405c5 in quota_check (t=0x81203a0, mail=0x0) at quota-storage.c:148 qt = (struct quota_transaction_context *) 0x0 ret = <value optimized out> too_large = 8 #2 0xb7e34048 in antispam_save_finish (ctx=0x8123178) at antispam-storage-1.1.c:181 asbox = (struct antispam_mailbox *) 0x811b298 ast = (struct antispam_internal_context *) 0x81203d8 dest_mail = (struct mail *) 0x8122d70 ret = 135093999 #3 0x0805a1c8 in cmd_append_continue_message (cmd=0x810d4e0) at cmd-append.c:405 client = (struct client *) 0x810bd48 ctx = (struct cmd_append_context *) 0x810d528 size = 135314760 ret = <value optimized out> #4 0x0805a59a in cmd_append_continue_parsing (cmd=0x810d4e0) at cmd-append.c:353 uid2 = <value optimized out> msg = <value optimized out> sync_flags = <value optimized out> imap_flags = <value optimized out> uid_validity = <value optimized out> uid1 = <value optimized out> client = (struct client *) 0x810bd48 ctx = (struct cmd_append_context *) 0x810d528 args = (const struct imap_arg *) 0x81204a8 flags_list = (const struct imap_arg *) 0x8120538 flags = MAIL_SEEN keywords_list = (const char * const *) 0x0 keywords = (struct mail_keywords *) 0x0 internal_date_str = 0x0 internal_date = -1 ret = 0 timezone_offset = 0 nonsync = false __PRETTY_FUNCTION__ = "cmd_append_continue_parsing" #5 0x0805a7b5 in cmd_append (cmd=0x810d4e0) at cmd-append.c:499 storage = (struct mail_storage *) 0x810b660 box = <value optimized out> client = (struct client *) 0x810bd48 ctx = (struct cmd_append_context *) 0x810d528 mailbox = 0x8110588 "Sent" #6 0x0805fa6c in client_command_input (cmd=0x810d4e0) at client.c:580 client = (struct client *) 0x810bd48 command = <value optimized out> ---Type <return> to continue, or q <return> to quit--- __PRETTY_FUNCTION__ = "client_command_input" #7 0x0805fb15 in client_command_input (cmd=0x810d4e0) at client.c:629 client = (struct client *) 0x810bd48 command = (struct command *) 0x8 __PRETTY_FUNCTION__ = "client_command_input" #8 0x08060305 in client_handle_input (client=0x810bd48) at client.c:670 _data_stack_cur_id = 3 ret = <value optimized out> remove_io = <value optimized out> handled_commands = false #9 0x0806050e in client_input (client=0x810bd48) at client.c:725 cmd = <value optimized out> output = (struct ostream *) 0x810becc bytes = 34 __PRETTY_FUNCTION__ = "client_input" #10 0x080d9100 in io_loop_handler_run (ioloop=0x8108ab8) at ioloop-epoll.c:201 ctx = <value optimized out> event = (const struct epoll_event *) 0x8108bf0 list = (struct io_list *) 0x810d118 io = (struct io_file *) 0x810bf28 tv = {tv_sec = 4, tv_usec = 999383} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #11 0x080d8098 in io_loop_run (ioloop=0x8108ab8) at ioloop.c:308 No locals. #12 0x080680db in main (argc=Cannot access memory at address 0x8 ) at main.c:293 home = 0x0 (gdb) ============================================================== Very similar to previous post (if not identical). Timo, how can i compile with the -O2 option when building from debian source packages? 2008/6/4 Johannes Berg <[EMAIL PROTECTED]>: > >> But looking at the antispam code I think there's one bug: >> >> static int antispam_save_finish(struct mail_save_context *ctx) >> struct mail *dest_mail = ast->mail; >> >> I think ast->mail can be NULL. It should maybe be instead: >> >> dest_mail = ctx->dest_mail != NULL ? ctx->dest_mail : ast->mail; > > Yeah, probably lost that when copying from the quota code. Juan, can you > try that? > > OTOH, super (i.e. the quota plugin) will never see this value and that's > where it seems to crash. > > johannes >