_dbus_get_oom_wait magic
Havoc Pennington
hp at redhat.com
Wed Jul 27 23:49:33 EST 2005
On Wed, 2005-07-27 at 08:51 +0200, Timo Hoenig wrote:
> On Tue, 2005-07-26 at 13:56 -0400, Havoc Pennington wrote:
>
> > Sounds likely; NEED_MEMORY should only happen if there's no memory... I
> > don't know of a bug like this though. The way to debug is to look at the
> > verbose log.
>
> That is what I did to track down the problem (log attached). Running a
> few dbus-send instances is enough to reproduce the problem:
>
> for i in `seq 0 10`; do
> time dbus-send --system --type=signal \
> --dest='foo.bar' /foo/bar foo.bar.sig
> done
>
The next thing I'd do is start adding verbose debug spew everywhere that
NEED_MEMORY gets returned from connection_dispatch()
That should let you know the next stack frame (where in
connection_dispatch() it failed) and then you can add verbose printouts
everywhere that OOM happens in the next function down, and so forth
until you get to what actually happens.
I thought I had verbose spew in most places that return OOM but
obviously not.
Havoc
More information about the dbus
mailing list