I had the gtk-gnutella in background and i wasn't even interacting with it. Suddenly the gtkg window pops up without connections, no downloads... only searches (but not search results).
gtk-gnutella is now crashing.
I checked the crash logs and apparently it crashed several times during the night.
Attaching the logs.
After the GTKG crashed once more i tried to start it in the command line:
You have me puzzled. You are hitting an assertion failure that looks impossible. Reading the code where the assertion fails, and proofreading again the condition that would need to be present for that assertion to fail, I see no way this can happen. But it does...
May I suggest two courses of action here:
- install the
binutils-dev
package so that you get the BFD library and we can have stacktraces which include source code location.- go to the top of gtk-gnutella's sources and run:
I've seen strange ("impossible") bugs disappear after a clean recompilation from scratch.
Let me know what happens and, please, should it crashes again, include one crash log. I'm curious about the actual stack trace you will get because the one listed in the crash logs you included is not making sense: the
hdestroy()
routine cannot be called like that, and certainly not in sequence!My distro (arch linux) doesn't have this package binutils-dev :-(
https://www.archlinux.org/packages/?q=binutils
I will recompile it again. Let's see if it improves.
On Arch linux, it should be the binutils package. Try it to see if the BFD library is found by Configure (launched from build.sh).
I build it again, checked the output:
Checking whether the BFD library is available... yes.
And enabled the core dumps. I have the gtkg running now.
I believe this incident can be downgraded as i don't have a repro case. I'll update it here next time it crashes.
Waiting to see whether it happens again after a clean recompile.
Just crashed now.
Logs attached:
Coredump attached
Unfortunately, your stack in the crash log is not correct, hence it is difficult for me to understand what is exactly going on. Did you strip your binary?
Can you do a:
to make sure it has debug_info and is not stripped. Also can you do a:
to make sure it is indeed linked against the BFD library?
Without a proper stack trace, I cannot investigate easily why this is happening.
I am not seeing
libbfd
in that list... which means -lbfd was probably not passed to the linker and BFD suport probably not compiled in.Because you installed BFD after running Configure (through build.sh), you need to go back to the root source directory and run:
again. Once the build is done, make sure BFD is indeed compiled in by running:
If you see
libbfd
in there, there you can thenand wait for the crash, hoping we will get a properly decorated stack trace at crash time!
crashed again. Not sure if it's related as i ran out of space in the partition where i was saving the files.
Attaching the logs
It crashed again today.
The good news is that these are all crashing at the same place with the same assertion failure, and I have enough information now to know that the logic there is flawed: not the assertion, the logic! That's what we could call a bug :-)
So now I simply need to get enough time to dive into the code and fix it. I will keep you posted when I have committed a fix on the "devel" branch.
I have pushed commit a699adddb298cb67405bfce987ebb94ef92dbd82 on the "devel" branch and it should fix these particular crashes you are having in
fi_pick_rarest_chunk()
. Please let me know how it behaves for you.Note that these crashes have nothing to do with the ones you had when you opened this bug report: the assertion failure you originally had was in another piece of code, totally unrelated. Let's continue to track progress here anyway, as the original source of your crashes is still unknown.
Thanks for the explanation.
Already updated. Let me run it for a while. Let's see if the issue happens again :-)
I can crash the latest version of gtk-gnutella:
1- click "What's new?" button
2- Change the default filter (i set it to video)
3- Click again on the "What's new?" button.
gtkg crashes
Now It crashed for no reason... Attaching log.
Crashed again with the latest master
Crashed again with the latest master
Another crash. By diff the files it looks like this is in a different place from the previous.
Crashed again. Assertion failed at src/lib/ripening.c:730
EDIT: Just looked through the crash log files (compiled from master), and in 4 crashes 3 where in this exact place with the same reason.
Last edit: David 2021-04-05