Hello Guix folks,
I submitted a change addressing this bug to groff Git back in
January[1]. Despite repeated requests I couldn't scare up any Windows
users to test it, and that's only environment except for Guix (until you
patched around it) that ever exhibited it.
If my understanding of the
Pierre Neidhardt writes:
> Keeping this bug open till we patch groff on core-updates.
This was done in 5466e82a1e61349e5a3f9726a03874e4f9817226.
signature.asc
Description: PGP signature
Hi Pierre,
I've applied the groff-minimal patch to master now.
pgpuxua7Q9TAF.pgp
Description: OpenPGP digital signature
Pierre Neidhardt skribis:
>> It alone does not fix the bug. Only combined with Pierre's part does it fix
>> it,
>> the part which makes man-db find groff's preconv in the first place (I don't
>> believe a patch about that was submitted yet).
>
> I can only only add my patch (well, Markus
Hello,
Pierre Neidhardt skribis:
> Danny, Efraim just reverted your commit because it rebuilds 3600+ packages :p
BTW, we must pay a great deal of attention to issues like this one:
someone who pulled right after that commit must have been wondering
what’s going on. That makes for a very bad
> It alone does not fix the bug. Only combined with Pierre's part does it fix
> it,
> the part which makes man-db find groff's preconv in the first place (I don't
> believe a patch about that was submitted yet).
I can only only add my patch (well, Markus patch, really) after yours, otherwise
> Please add the “Fixes” line in the log.
It alone does not fix the bug. Only combined with Pierre's part does it fix it,
the part which makes man-db find groff's preconv in the first place (I don't
believe a patch about that was submitted yet).
Should I still add a "Fixes" line here?
>(I like
Hello!
Danny Milosavljevic skribis:
> Apparently, man-db has groff-minimal as a regular input, so I guess we are
> lucky.
> So we could adapt groff-minimal only if we wanted to.
>
> But that would mean that even after that, the "groff" package would still
> contain a memory corruption bug in
Apparently, man-db has groff-minimal as a regular input, so I guess we are
lucky.
So we could adapt groff-minimal only if we wanted to.
But that would mean that even after that, the "groff" package would still
contain a memory corruption bug in preconv - which is arguably a security
problem.
My guess is that groff-minimal would work.
Danny?
--
Pierre Neidhardt
https://ambrevar.xyz/
signature.asc
Description: PGP signature
On Wed, Jan 16, 2019 at 06:39:19PM +0100, Pierre Neidhardt wrote:
> Danny, Efraim just reverted your commit because it rebuilds 3600+ packages :p
>
> How shall we proceed then?
>
groff-minimal only has ~20 dependents, does that work? Otherwise
groff-for-manpages is an option
--
Efraim
Danny, Efraim just reverted your commit because it rebuilds 3600+ packages :p
How shall we proceed then?
--
Pierre Neidhardt
https://ambrevar.xyz/
signature.asc
Description: PGP signature
Hi Pierre,
On Wed, 16 Jan 2019 14:02:10 +0100
Pierre Neidhardt wrote:
> OK, now it works.
>
> Who would like to merge? :)
I've pushed the disable-relocatability patch, amended by a huge comment that's
larger than the actual code, as f57693e17c7905d2f11e46d04cb558fe0b0fc39b.
Please push the
Hi Pierre,
On Wed, 16 Jan 2019 11:01:44 +0100
Pierre Neidhardt wrote:
> Nope, the patch does not work for me.
>
> I applied the patch in the Guix checkout,
> then
>
> --8<---cut here---start->8---
> $ ./pre-inst-env guix build man-db
> ...
>
Nope, the patch does not work for me.
I applied the patch in the Guix checkout,
then
--8<---cut here---start->8---
$ ./pre-inst-env guix build man-db
...
/gnu/store/1w83i51wvap67kl7gdz51ly3pbbx29dv-man-db-2.8.3
$
Danny Milosavljevic skribis:
> Correction, the file "charset.alias" is only installed for groff for glibc <
> 2.1 .
> The code that reads charset.alias is always created.
> What could possibly go wrong?
>
> Anyway, I suggest the following minimal patch:
>
> diff --git a/gnu/packages/groff.scm
I suggest your patch explain that crash involves man-db + add a link to this
discussion.
--
Pierre Neidhardt
https://ambrevar.xyz/
signature.asc
Description: PGP signature
Correction, the file "charset.alias" is only installed for groff for glibc <
2.1 .
The code that reads charset.alias is always created.
What could possibly go wrong?
Anyway, I suggest the following minimal patch:
diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index
Maybe I'm judging a bit too fast, but it seems to me that this part of the code
is rusty to the point that I wonder if getting down to understanding the hows
and the whys will ever reveal useful or enlightening at all. It's rather safe
to bet that nothing will ever depend on man-db's rendering
Hi Pierre,
Hi Ludo,
On Mon, 14 Jan 2019 21:27:35 +0100
Ludovic Courtès wrote:
> The ‘set_current_prefix’ logic is extremely fragile; it should readlink
> from /proc/self/exe on GNU/Linux.
>
> But in our case, no relocation happens, so we can just patch it to do:
>
> void set_current_prefix
Danny Milosavljevic skribis:
> On Mon, 14 Jan 2019 18:48:53 +0100
> Danny Milosavljevic wrote:
>
>> set_current_prefix() searches for the current program executable file in
>> $PATH,
>> and it can fail and return 0.
>>
>> In that case, relocatep will probably segfault at the location marked
You are right:
CHARSETALIASDIR=/does_not_exist
/gnu/store/fm7jlkf93bh7bw03m8hbha2b5qxjz0kz-man-db-2.8.3/bin/man nmcli-examples
also works.
--
Pierre Neidhardt
https://ambrevar.xyz/
signature.asc
Description: PGP signature
On Mon, 14 Jan 2019 18:48:53 +0100
Danny Milosavljevic wrote:
> set_current_prefix() searches for the current program executable file in
> $PATH,
> and it can fail and return 0.
>
> In that case, relocatep will probably segfault at the location marked below:
>
> > char *relocated_path =
set_current_prefix() searches for the current program executable file in $PATH,
and it can fail and return 0.
In that case, relocatep will probably segfault at the location marked below:
> char *relocated_path = new char[curr_prefix_len + relative_path_len + 1];
> strcpy(relocated_path,
Hi Pierre,
On Mon, 14 Jan 2019 17:57:12 +0100
Pierre Neidhardt wrote:
> > (libs/libgroff/localcharset.c's locale_charset looks overly complicated,
> > WTF?)
>
> Oh dear... relocatep.cpp is not much better, here is the offending function:
>
> --8<---cut
Hi Pierre,
locale_charset, implemented in groff, uses nl_langinfo(CODESET)--and just a few
days ago we had a bug report that CP437 doesn't work there. Maybe it's related.
(libs/libgroff/localcharset.c's locale_charset looks overly complicated, WTF?)
Maybe argv[0] is still the cause, but try
Pierre Neidhardt skribis:
>> https://sourceware.org/gdb/onlinedocs/gdb/Forks.html
>>
>> this might help here.
>
> Thanks Gábor.
> So I tried the following in gdb:
>
>> set follow-for-mode child
>> set detach-on-fork off
>> run emacs
> [inferior 2 completes]
>> inferior 1
> [inferior 3
Hello Pierre,
Pierre Neidhardt ezt írta (időpont: 2019. jan.
14., H, 11:42):
>
> Hmmm... Not sure how to trace that with GDB.
> I'm not sure how to handle child processes.
>
https://sourceware.org/gdb/onlinedocs/gdb/Forks.html
this might help here.
> The offending libpipeline call is
Hmmm... Not sure how to trace that with GDB.
I'm not sure how to handle child processes.
The offending libpipeline call is "pipeline_pump" in src/man.c:2329 in the
"display" function.
I'd need more time to investigate this, time which I don't have at the moment,
sorry :(
--
Pierre Neidhardt
Hi,
Pierre Neidhardt skribis:
>> It would have the same effect as Marius’ commit
>> 296551a2e9310d4a030ee49530e9367e73aaeecf, wouldn’t it?
>
> I tested and it works! :)
>
>> My understanding, at this point, is that we need to find out why
>> ‘preconv’ segfaults, no?
>
> I'm not completely sure
Pierre Neidhardt skribis:
> My proposed patch:
>
> (add-after 'install 'wrap-program
>(lambda* (#:key inputs outputs #:allow-other-keys)
> (let* ((out (assoc-ref outputs "out"))
>(groff (assoc-ref inputs "groff-minimal")))
>
Pierre Neidhardt skribis:
> And... from the log I just noticed that Marius had arrived to the same
> conclusion 8 months ago :(
>
> That'll teach me to look at logs before getting started...
Heheh. :-)
Another useful debugging tip is setting PIPELINE_DEBUG=1.
Anyway I hope we’ll soon squash
The 'man' program from the 'man-db' Guix package has an issue with UTF-8
man pages: the page is truncated and sometimes the truncation is
repeated a couple of times.
The bug does not occur when non-ASCII characters are removed.
I haven't tried with other non-ASCII encodings.
There must be
reopen 30785
Marius Bakke writes:
> Marius Bakke writes:
>
>> Marius Bakke writes:
>>
>>> Tobias Geerinckx-Rice writes:
>>>
Guix,
Perhaps he's just getting old, but our man has a tendency to forget
Marius Bakke writes:
> Marius Bakke writes:
>
>> Tobias Geerinckx-Rice writes:
>>
>>> Guix,
>>>
>>> Perhaps he's just getting old, but our man has a tendency to forget
>>> where he was, start over from the beginning, and repeat himself
Marius Bakke writes:
> Tobias Geerinckx-Rice writes:
>
>> Guix,
>>
>> Perhaps he's just getting old, but our man has a tendency to forget
>> where he was, start over from the beginning, and repeat himself several
>> times:
>>
>>$ guix package -i knot
On 2018-03-12, Tobias Geerinckx-Rice wrote:
> Perhaps he's just getting old, but our man has a tendency to forget
> where he was, start over from the beginning, and repeat himself several
> times:
>
>$ guix package -i knot rofi
>$ man 5 knot.conf | grep -E '^(NAME|DESCRIPTION)'
>NAME
Tobias Geerinckx-Rice writes:
> Guix,
>
> Perhaps he's just getting old, but our man has a tendency to forget
> where he was, start over from the beginning, and repeat himself several
> times:
>
>$ guix package -i knot rofi
>$ man 5 knot.conf | grep -E
Hello,
On Mon, Mar 12, 2018 at 10:24:46PM +0100, Tobias Geerinckx-Rice wrote:
> $ man 5 knot.conf | grep -E '^(NAME|DESCRIPTION)'
> NAME
> DESCRIPTION
> NAME
> DESCRIPTION
> NAME
> DESCRIPTION
> NAME
> DESCRIPTION
> NAME
> $
>
> There's also some stderr...
> :25: error:
Hi,
Tobias Geerinckx-Rice skribis:
> On 2018-03-13 22:34, l...@gnu.org wrote:
>>> However, even longer man pages such as bash(1) render without fail, so
>>> there might be something special about the two examples above that
>>> triggers this behaviour.
>>
>> I suspect something
Ludo',
On 2018-03-13 22:34, l...@gnu.org wrote:
However, even longer man pages such as bash(1) render without fail, so
there might be something special about the two examples above that
triggers this behaviour.
I suspect something wrong with ‘knot.conf.5.gz’, but I don’t have
tangible
Guix,
Perhaps he's just getting old, but our man has a tendency to forget
where he was, start over from the beginning, and repeat himself several
times:
$ guix package -i knot rofi
$ man 5 knot.conf | grep -E '^(NAME|DESCRIPTION)'
NAME
DESCRIPTION
NAME
DESCRIPTION
NAME
42 matches
Mail list logo