On 5/16/21 3:21 AM, Slavko wrote:
I didn't see it, pidgin.log attached, but tcpdump shows them. Then i
tried it with -f option to strace:
Good thinking. So it's happening in a child process.
A good next step is to use gdb, but the fork will complicate things. I
think you can do "set detach-on-fork off", but I'm not sure.
If that doesn't work, then you probably need to figure out how many
child processes it forks off before the child that we are interested in.
From the strace, it looks like it's the second child that we care
about. So try this:
gdb pidgin
set args -c pidgin-test
set pagination off
set logging file pidgin-gdb.txt
set logging on
watch fork
run
# When it forks the first time:
continue
# When it forks the second time, set it to follow the child:
set follow-fork-mode child
break socket
commands
bt
continue
end
break sendto
commands
bt
continue
end
continue
The goal here is to get a backtrace of it opening the socket() and/or
sendto() on the socket.
Since you're on sid, you should be able to use debuginfod (though I
have never used it personally):
I am on testing, are the instructions still relevant?
I think debuginfod will work. If not you can follow the instructions to
install dbgsym packages for pidgin & libpurple0.
--
Richard