Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting non-binary handles no longer works (run(:out, "ls").out.split: 0.chr) #5679

Closed
p6rt opened this issue Sep 18, 2016 · 9 comments
Closed

Comments

@p6rt
Copy link

p6rt commented Sep 18, 2016

Migrated from rt.perl.org#129296 (status was 'resolved')

Searchable as RT129296$

@p6rt
Copy link
Author

p6rt commented Sep 18, 2016

From @AlexDaniel

06​:05​:08 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.encoding.say
06​:05​:09 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting points (good=2015.12 bad=b771f1e), bisecting by using the output
06​:05​:16 <bisectable6oops> AlexDaniel, bisect log​: https://gist.github.com/9f081f1cb9018d60e4002dc13609c661
06​:05​:17 <bisectable6oops> AlexDaniel, (2016-08-26) rakudo/rakudo@87887da
06​:05​:26 <AlexDaniel> lizmat​: ↑
06​:06​:48 <AlexDaniel> lizmat​: “concatenate requires a concrete string, but got null” is probably worse than the previous error
06​:08​:06 <AlexDaniel> lizmat​: I am actually seeing a regression in this case​: run(​:out, "ls").out.split(0.chr, :skip-empty)
06​:09​:56 <AlexDaniel> lizmat​: but the regression itself seems to be associated more with rakudo/rakudo@1a03efe
06​:10​:47 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.binary.say
06​:10​:48 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting points (good=2015.12 bad=b771f1e), bisecting by using the output
06​:10​:55 <bisectable6oops> AlexDaniel, bisect log​: https://gist.github.com/3be864fc5825f769c6aaebb8a6760eca
06​:10​:56 <bisectable6oops> AlexDaniel, (2016-08-26) rakudo/rakudo@1a03efe
06​:11​:38 <AlexDaniel> lizmat​: yeah, so 1a03efe added a check using .binary (which is broken), which made the whole thing blow up
06​:12​:50 <AlexDaniel> lizmat​: one possible way to fix it is to revert 1a03efe so that it works with non-binary handles

<MasterDuke> this seems to work as a work-around​: my $r = run(​:out, "ls").out; $r.encoding("utf8"); $r.split(0.chr, :skip-empty)

@p6rt
Copy link
Author

p6rt commented Sep 18, 2016

From @MasterDuke17

On Sat Sep 17 20​:19​:43 2016, alex.jakimenko@​gmail.com wrote​:

06​:05​:08 <AlexDaniel> bisectable6oops​: run(​:out,
"ls").out.encoding.say
06​:05​:09 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting
points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:05​:16 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/9f081f1cb9018d60e4002dc13609c661
06​:05​:17 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@87887da
06​:05​:26 <AlexDaniel> lizmat​: ↑
06​:06​:48 <AlexDaniel> lizmat​: “concatenate requires a concrete string,
but got
null” is probably worse than the previous error
06​:08​:06 <AlexDaniel> lizmat​: I am actually seeing a regression in
this case​:
run(​:out, "ls").out.split(0.chr, :skip-empty)
06​:09​:56 <AlexDaniel> lizmat​: but the regression itself seems to be
associated
more with rakudo/rakudo@1a03efe
06​:10​:47 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.binary.say
06​:10​:48 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting
points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:10​:55 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/3be864fc5825f769c6aaebb8a6760eca
06​:10​:56 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@1a03efe
06​:11​:38 <AlexDaniel> lizmat​: yeah, so 1a03efe added a check using
.binary
(which is broken), which made the whole thing blow up
06​:12​:50 <AlexDaniel> lizmat​: one possible way to fix it is to revert
1a03efe
so that it works with non-binary handles

<MasterDuke> this seems to work as a work-around​: my $r = run(​:out,
"ls").out;
$r.encoding("utf8"); $r.split(0.chr, :skip-empty)

I think it's because an IO​::Pipe is being created, which is an IO​::Handle, but the encoding for IO​::Handle only gets set when you call open(), not new().

@p6rt
Copy link
Author

p6rt commented Sep 18, 2016

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Sep 18, 2016

From @lizmat

Fixed by reverting 1a03efe4e3b61a07b7df5 in 363a3a899f2cb342d1ca5 .

On 18 Sep 2016, at 05​:19, Aleks-Daniel Jakimenko-Aleksejev (via RT) <perl6-bugs-followup@​perl.org> wrote​:

# New Ticket Created by Aleks-Daniel Jakimenko-Aleksejev
# Please include the string​: [perl #​129296]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl6/Ticket/Display.html?id=129296 >

06​:05​:08 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.encoding.say
06​:05​:09 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:05​:16 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/9f081f1cb9018d60e4002dc13609c661
06​:05​:17 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@87887da
06​:05​:26 <AlexDaniel> lizmat​: ↑
06​:06​:48 <AlexDaniel> lizmat​: “concatenate requires a concrete string, but got
null” is probably worse than the previous error
06​:08​:06 <AlexDaniel> lizmat​: I am actually seeing a regression in this case​:
run(​:out, "ls").out.split(0.chr, :skip-empty)
06​:09​:56 <AlexDaniel> lizmat​: but the regression itself seems to be associated
more with rakudo/rakudo@1a03efe
06​:10​:47 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.binary.say
06​:10​:48 <bisectable6oops> AlexDaniel, Exit code is 1 on both starting points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:10​:55 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/3be864fc5825f769c6aaebb8a6760eca
06​:10​:56 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@1a03efe
06​:11​:38 <AlexDaniel> lizmat​: yeah, so 1a03efe added a check using .binary
(which is broken), which made the whole thing blow up
06​:12​:50 <AlexDaniel> lizmat​: one possible way to fix it is to revert 1a03efe
so that it works with non-binary handles

<MasterDuke> this seems to work as a work-around​: my $r = run(​:out, "ls").out;
$r.encoding("utf8"); $r.split(0.chr, :skip-empty)

@p6rt
Copy link
Author

p6rt commented Sep 18, 2016

From @MasterDuke17

On Sun Sep 18 03​:14​:30 2016, elizabeth wrote​:

Fixed by reverting 1a03efe4e3b61a07b7df5 in 363a3a899f2cb342d1ca5 .

On 18 Sep 2016, at 05​:19, Aleks-Daniel Jakimenko-Aleksejev (via RT)
<perl6-bugs-followup@​perl.org> wrote​:

# New Ticket Created by Aleks-Daniel Jakimenko-Aleksejev
# Please include the string​: [perl #​129296]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl6/Ticket/Display.html?id=129296 >

06​:05​:08 <AlexDaniel> bisectable6oops​: run(​:out,
"ls").out.encoding.say
06​:05​:09 <bisectable6oops> AlexDaniel, Exit code is 1 on both
starting points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:05​:16 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/9f081f1cb9018d60e4002dc13609c661
06​:05​:17 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@87887da
06​:05​:26 <AlexDaniel> lizmat​: ↑
06​:06​:48 <AlexDaniel> lizmat​: “concatenate requires a concrete
string, but got
null” is probably worse than the previous error
06​:08​:06 <AlexDaniel> lizmat​: I am actually seeing a regression in
this case​:
run(​:out, "ls").out.split(0.chr, :skip-empty)
06​:09​:56 <AlexDaniel> lizmat​: but the regression itself seems to be
associated
more with rakudo/rakudo@1a03efe
06​:10​:47 <AlexDaniel> bisectable6oops​: run(​:out, "ls").out.binary.say
06​:10​:48 <bisectable6oops> AlexDaniel, Exit code is 1 on both
starting points
(good=2015.12 bad=b771f1e), bisecting by using the output
06​:10​:55 <bisectable6oops> AlexDaniel, bisect log​:
https://gist.github.com/3be864fc5825f769c6aaebb8a6760eca
06​:10​:56 <bisectable6oops> AlexDaniel, (2016-08-26)
rakudo/rakudo@1a03efe
06​:11​:38 <AlexDaniel> lizmat​: yeah, so 1a03efe added a check using
.binary
(which is broken), which made the whole thing blow up
06​:12​:50 <AlexDaniel> lizmat​: one possible way to fix it is to revert
1a03efe
so that it works with non-binary handles

<MasterDuke> this seems to work as a work-around​: my $r = run(​:out,
"ls").out;
$r.encoding("utf8"); $r.split(0.chr, :skip-empty)

Alternate fix here​: rakudo/rakudo#882

@p6rt
Copy link
Author

p6rt commented Nov 18, 2016

From @coke

On Sun, 18 Sep 2016 03​:14​:30 -0700, elizabeth wrote​:

Fixed by reverting 1a03efe4e3b61a07b7df5 in 363a3a899f2cb342d1ca5 .

Can we close the case?

--
Will "Coke" Coleda

@p6rt
Copy link
Author

p6rt commented Nov 18, 2016

From @AlexDaniel

On 2016-11-18 10​:38​:48, coke wrote​:

On Sun, 18 Sep 2016 03​:14​:30 -0700, elizabeth wrote​:

Fixed by reverting 1a03efe4e3b61a07b7df5 in 363a3a899f2cb342d1ca5 .

Can we close the case?

By the way, are there any tests now?

@p6rt
Copy link
Author

p6rt commented Feb 3, 2018

From @AlexDaniel

🍕 Tests in Raku/roast@3ca3155

On 2016-11-18 10​:51​:38, alex.jakimenko@​gmail.com wrote​:

On 2016-11-18 10​:38​:48, coke wrote​:

On Sun, 18 Sep 2016 03​:14​:30 -0700, elizabeth wrote​:

Fixed by reverting 1a03efe4e3b61a07b7df5 in 363a3a899f2cb342d1ca5 .

Can we close the case?

By the way, are there any tests now?

@p6rt
Copy link
Author

p6rt commented Feb 3, 2018

@AlexDaniel - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Feb 3, 2018
@p6rt p6rt added the testneeded label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant