all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
To: Michael Albinus <michael.albinus@tieto.com>
Cc: 7113@debbugs.gnu.org, Ari Roponen <ari.roponen@gmail.com>
Subject: bug#7113: 23.2; Crash on invalid path argument to dbus-introspect-xml
Date: Mon, 27 Sep 2010 02:51:59 -0700	[thread overview]
Message-ID: <m3bp7jcy4g.fsf@fitzsim.org> (raw)
In-Reply-To: <8762xrk113.fsf@gmx.de> (Michael Albinus's message of "Mon, 27 Sep 2010 11:07:20 +0200")

Michael Albinus <michael.albinus@tieto.com> writes:

> Thomas Fitzsimmons <fitzsim@fitzsim.org> writes:
>
>>> The crash happens because DBUS uses fatal warnings. Setting the
>>> environment variable DBUS_FATAL_WARNINGS to 0 helps:
>>>
>>>   DBUS_FATAL_WARNINGS=0 emacs -Q --eval "(require 'dbus)" --eval
>>>   '(dbus-introspect-xml :session "org.freedesktop.DBus" "")'
>>>
>>> This way the warning message is still printed but Emacs doesn't crash.
>>
>> OK, that does improve the situation for me but it doesn't solve the
>> problem in general.  By default an unsuspecting user developing D-Bus
>> Lisp code (e.g. in ielm) can easily crash their Emacs session.  Is there
>> a way for the Emacs D-Bus bindings to disable fatal warnings and/or to
>> intercept their causes and report the errors?
>
> I've committed a patch to the emacs-23 branch, unsetting
> $DBUS_FATAL_WARNINGS during initialization:
>
> *** /home/albinus/src/emacs-23/src/dbusbind.c.~100061~	2010-09-27 10:41:33.251159798 +0200
> --- /home/albinus/src/emacs-23/src/dbusbind.c	2010-09-27 10:41:33.315137500 +0200
> ***************
> *** 2132,2137 ****
> --- 2132,2139 ----
>     Vdbus_debug = Qt;
>   #else
>     Vdbus_debug = Qnil;
> +   /* We do not want to abort.  */
> +   unsetenv ("DBUS_FATAL_WARNINGS");
>   #endif
>
>     Fprovide (intern_c_string ("dbusbind"), Qnil);
>
>> Thomas
>
> Best regards, Michael.

Hmm, DBUS_FATAL_WARNINGS is unset when I replicate the crash.

Looking at dbus-internals.c from D-Bus 1.2.24, don't you want to set
DBUS_FATAL_WARNINGS explicitly to 0 so that
fatal_warnings_on_check_failed is FALSE?

Thomas





  reply	other threads:[~2010-09-27  9:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-27  3:08 bug#7113: 23.2; Crash on invalid path argument to dbus-introspect-xml Thomas Fitzsimmons
2010-09-27  7:01 ` Ari Roponen
2010-09-27  7:34   ` Thomas Fitzsimmons
2010-09-27  9:07     ` Michael Albinus
2010-09-27  9:51       ` Thomas Fitzsimmons [this message]
2010-09-27 12:50         ` Michael Albinus
2010-09-27 13:24           ` Ari Roponen
2010-09-27 13:30             ` Michael Albinus
2010-09-27 14:45               ` Andreas Schwab
2010-09-28 13:46                 ` Michael Albinus
2010-10-03  4:58       ` Thomas Fitzsimmons
2010-10-03 13:22         ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3bp7jcy4g.fsf@fitzsim.org \
    --to=fitzsim@fitzsim.org \
    --cc=7113@debbugs.gnu.org \
    --cc=ari.roponen@gmail.com \
    --cc=michael.albinus@tieto.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.