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

Reply via email to