Bill Pringlemeir wrote:
> ** ERROR **: file ../if/core/downloads.h: line 344 (download_check): 
> assertion failed: (DOWNLOAD_MAGIC == d->magic)
> aborting...
 
> I guess this is not that helpful?

Probably not but I've seen similar crashes rarely. Did you manually
try to start a download, abort etc. a download? I've noticed that
this triggers bugs sometimes. The old code that managed the download
GUI applied some restrictions. I've removed those because that's
nonsense. The core must not rely on the GUI for its logic. The only
thing the GUI has to guarantee and the core to the GUI is that
they never pass bad pointers to each other. That's why I changed
a couple of assertions into soft-assertions so that you get a
critical warning without a crash. However, in some places the core
seemingly doesn't protect its logic which can cause delayed crashes.

It's probably best to inspect what actions the GTK1 GUI prevents
and move these checks to the core side.

> I suspect that I *had* problems with some new DRAM chips I installed.
> However, I have not been experiencing problems with other applications
> that I was previously and I reconfigured the SDRAM contoller to be
> less aggresive in the BIOS [before and after memtest86 was ok with the
> configuration].

As far as I know, memtest86 cannot always identify faulty chips.
There's also cpuburn. However, I wouldn't worry about my hardware
because of a crashing gtk-gnutella.

> Too bad magic wasn't logged?  Ie, was it deleted or
> did a bit flip or something?

99% of the time missing magic doesn't imply a hardware fault but
rather access of released memory. If you compiled with -O0 -g3,
you could peek at the magic. As an alternative, you could add
printing of the address of the download structure. That way you
can peek at the memory even if no debug support is compiled in
as structures are never optimized. In general, the easiest way
to locate the source of such bugs is adding a magic check in
as much places as possible.

If that doesn't help, there might be a bug in some code causing
a corruption of lists or other structures.

> Also, GCC 4.1 seems to be removing the RCSID macro due to pruning of
> unused static functions.  I don't know if the "used" attribute is in
> versions lower than 4.1.  This seems to keep the RCSID in my generated
> binary.

Thanks I've used your patch. I'm a bit surprised that this attribute
cannot simply be applied to a variable. At least it had no effect
when I tried.

-- 
Christian

Attachment: pgpNWExms0q9H.pgp
Description: PGP signature

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Gtk-gnutella-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to