pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pan-users] Pan bug 712539 and 757672


From: Rhialto
Subject: Re: [Pan-users] Pan bug 712539 and 757672
Date: Mon, 7 Mar 2016 22:37:08 +0100
User-agent: Mutt/1.5.24 (2015-08-30)

On Mon 07 Mar 2016 at 18:48:55 +0100, Detlef Graef wrote:

> I've downloaded it and build it on Linux with gcc5. Pan does not start,
> it crashes immediately.

Yep, same for me actually with gcc 4.something.

> Am 06.03.2016 um 23:08 schrieb Rhialto:
> > - filterinfo contains untested changes for the errors as reported in
> >   this thread, regarding FilterInfo. These won't fix all problems, since
> >   the same "object containing itself" problem also exists for
> >   rules-info.h.
> 
> I've build this version on Linux with gcc5 too. Pan starts, but it
> crashes when it is closed. It also crashes/hangs after using it a little
> bit.

Great! Thank you for testing.

> Probably I'm wrong, but at line 43 in the file filter-info.cc:
> 
> void
> FilterInfo :: clear ()
> {
>   _type = FilterInfo::TYPE_ERR;
>   _ge = 0;
>   _header.clear ();
>   _text.clear ();
>   foreach (aggregatesp_t, _aggregates, it)
>     delete *it;
>   _aggregates.clear ();
>   _negate = false;
>   _needs_body = false;
> }
> 
> Is the following call ok? Should it be removed?
> 
>  _aggregates.clear ();

I think it is ok and should stay. The foreach deletes all objects that
are pointed to, but all the pointers themselves remain. Then
_aggregates.clear () makes _aggregates empty and gets rid of the
pointers themselves.

> What do you think on which branch should be put effort on to fix it? The
> NetBSD branch has fixes for rules-info.h too.

I'm putting fixes on the filterinfo branch for now. I've found a few
little things already that weren't right, and right now I'm putting in
"proper" memory management via a "copy and swap idiom". That is because
I don't quite trust the fact that the changed code so far only copies
the pointers, but not the objects they point to. That's rather fragile,
even if it sort-of works. The longer I thought about it, the less I
trusted it. I suspect that the problems you had show that :-)

I know that the pkgsrc patches has some more fixes, but they should
follow the same pattern as these ones. My current strategy is to perfect
these first, and then apply the same ideas to the other issue. That way,
if something doesn't work, there is less stuff to look at.

> Because my skills are limited don't expect fast progress with patches
> and valuable feedback. :-)

Well, you manage to compile and run it, in a different environment than
my own, and probably with different usage patterns. That's already quite
helpful!

Cheers,
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl    -- 'this bath is too hot.'

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]