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
>

Reply via email to