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
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
