Subject: Re: bug#50632: [PATCH] graph: Add '--max-depth'.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 21 Sep 2021 15:49:14 +0200

zimoun <[email-masked]> skribis:

> On Tue, 21 Sep 2021 at 10:44, Ludovic Courtès <[email-masked]> wrote:
>
>> True, it’s a separate program, but it’s mentioned since
>> c2b2c19a7b8b75ef6dd153ca121dd8765cdcd746 because it’s more convenient
>> IMO.
>
> Ah, I should have missed this.  However, it does not work out of the
> box:
>
> $ guix environment --ad-hoc xdot
> $ guix graph coreutils | xdot -
> Traceback (most recent call last):
>   File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/bin/.xdot-real", line 11, in <module>
>     load_entry_point('xdot==1.1', 'gui_scripts', 'xdot')()
>   File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/__main__.py", line 70, in main
>     win = DotWindow(width=width, height=height)
>   File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/ui/window.py", line 546, in __init__
>     self.dotwidget = widget or DotWidget()
>   File "/gnu/store/gm49bvwdgjpx23wlcfrm8mbf8n75a77n-xdot-1.1/lib/python3.8/site-packages/xdot/ui/window.py", line 67, in __init__
>     self.connect("draw", self.on_draw)
> TypeError: <window.DotWidget object at 0x7f465dd1f400 (xdot+ui+window+DotWidget at 0x17b50f0)>: unknown signal name: draw
>
> (.xdot-real:5940): Gtk-WARNING **: 11:09:08.420: A floating object was finalized. This means that someone
> called g_object_unref() on an object that had only a floating
> reference; the initial floating reference is not owned by anyone
> and must be removed with g_object_ref_sink().
> guix graph: error: fport_write: Broken pipe
> Segmentation fault

Could you report a bug?  This works for me:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generacio 189   Aug 30 2021 12:09:27    (nuna)
  guix f91ae94
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: f91ae9425bb385b60396a544afe27933896b8fa3
$ guix graph coreutils | guix environment --pure -E ^DISPLAY -E ^XAUTH --ad-hoc xdot -- xdot -
--8<---------------cut here---------------end--------------->8---

> That’s why I suggest to keep examples in the manual as simple as
> possible.  From my point of view, this package should be mentioned but
> should not be part of the example.
>
> The core of the comment is when releasing.  Examples involving a complex
> stack are harder to fix.  And from my point of view, release broken
> examples in the manual is not acceptable*; for an instance of this, see
> <http://issues.guix.gnu.org/issue/47097>.

I sympathize with the general feeling.  I think ‘xdot’ is not that bad
though, plus the first example in that section still uses ‘dot’.

Thanks,
Ludo’.