Hi,

I am having a close look at htdig 3.2.0b at the Moment using 
external_protocols and external_parsers
Just when htdig finishes with the last URL (which is in fact for 
my testing also the first one) I get a SIGSEGV.

The last part of int main() is:

...
    // Shows End Time
    if (debug>0)
    {
        EndTime.SettoNow();
        cout << "ht://dig End Time: " << EndTime.GetAscTime() << endl;
    }   
}

The EndTime is printed properly and then the SIGSEGV happens.
This means that at the end of the program something is cleaning up too
much.
This is what 'gdb> where' gives me to think about:
#0  chunk_free (ar_ptr=0x401e71a0, p=0x8112acc) at malloc.c:2897
#1  0x4018d241 in __libc_free (mem=0x8112ad4) at malloc.c:2872
#2  0x4011e052 in __builtin_delete (ptr=0x8112ad4)
#3  0x4001284f in Connection::~Connection (this=0x8112ad4, __in_chrg=3)
    at ../htlib/Object.h:31
#4  0x400babe2 in List::Destroy (this=0x4001cb0c) at List.cc:78
#5  0x400bab26 in List::~List (this=0x4001cb0c, __in_chrg=2) at
List.cc:44
#6  0x4001358e in global destructors keyed to Connection::Connection ()
    at Connection.cc:724
#7  0x400125ad in __do_global_dtors_aux ()
#8  0x40018c85 in _fini ()
#9  0x4000695a in _dl_fini () at dl-fini.c:32
#10 0x4016a105 in exit (status=0) at exit.c:55
Current language:  auto; currently c

It seems as if the destructor ~Connection tries to free memory it does
not really own. This is interessting, because using external_protocols
I do not open any Connections, do I?

Now my questions:
1) Is this a known bug?
2) Has someone an idea where to look?
3) If I understand the source code right, the external_protocol is only
applied to one url and then it is looked how we have to treat the next
one. I would like to get the external_protocol-script to jump from Url
to Url and to return the results to htdig. Is there a short way to this? 
If not, I will try to patch htdig, e.g. by providing dummy-urls on the
stack as long as the external_protocol returns any results. Do you think
this could work?

Thanks for all your help, 

mentos

P.S.: Geoff: I got the external_protocol & external_parser up and
running. It was my fault, that it didn't work in the first case.

--
Mentos Hoffmann, Roonstr.17, D-76137 Karlsruhe, Germany
email: [EMAIL PROTECTED]

------------------------------------
To unsubscribe from the htdig3-dev mailing list, send a message to
[EMAIL PROTECTED] 
You will receive a message to confirm this. 

Reply via email to