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

[WIP] Blin 2020.03, round 2 #3538

Closed
6 tasks done
Altai-man opened this issue Mar 9, 2020 · 18 comments
Closed
6 tasks done

[WIP] Blin 2020.03, round 2 #3538

Altai-man opened this issue Mar 9, 2020 · 18 comments
Assignees
Labels
blin Result of a regular ecosystem check with modules regressed, which must be fixed before release BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously

Comments

@Altai-man
Copy link
Member

Altai-man commented Mar 9, 2020

Ping @vrurg @lizmat

@Altai-man Altai-man added regression Issue did not exist previously BLOCKER Preventing the next release of rakudo, or just needing attention before the release labels Mar 9, 2020
@lizmat
Copy link
Contributor

lizmat commented Mar 9, 2020

This fixes P5caller:

-    $down += 3;  # offset heuristic
+    $down += 2;  # offset heuristic

so we're looking at an off-by-one error somewhere...

@jonathanstowe
Copy link
Contributor

The RPi::Device::PiGlow shouldn't even run it's test at all if it's not actually an Raspberry Pi. I'll check when I get indoors.

@jonathanstowe
Copy link
Contributor

With Lumberjack yep I can see how that change might break it. I'll take a look.

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

There is something wrong happened with Concurrent::Queue. It tests fine.

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

Carp PR: alabamenhu/Carp#3

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

Jupyter::Kernel tests ok.

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

P5Caller fixed with PR lizmat/P5caller#1

BTW, thanks for the direct links to module sources! It's really convenient!

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

@jonathanstowe BTW, look at the submitted PRs for Carp and P5caller. This is the recommended way to maintain the backward compatibility.

@lizmat
Copy link
Contributor

lizmat commented Mar 9, 2020

I'm not sure I like the recommendation: we've effectively broken the contract with this change in Backtrace. Changing all of the modules out there (especially the ones we do not know about) is not a solution :-(

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

@lizmat Here is a quote from the docs: Its default stringification excludes backtrace frames that are deemed unnecessary or confusing. Yes, it mentions stringification, but since there is no other notion of the default behavior this line can be taken as the desired behavior.

Another confusion comes from t/spec/S32-exceptions/misc.t. At line 460 the test checks for 4 frames, the message talks about 2. Wheres, as a matter of fact, it must be 3 as fail has to be excluded too, but that's off topic.

So, I consider the current behavior of Backtrace correct. Especially considering that previously it was dependent on optimization implementation.

@jonathanstowe
Copy link
Contributor

The RPi::Device::PiGlow shouldn't even run it's test at all if it's not actually an Raspberry Pi. I'll check when I get indoors.

I'm bemused by this failing frankly, the test basically just checks that it compiles as it's impossible to otherwise test without observing the behaviour of the actual lights on the device, so I test by hand before releasing.

@Altai-man
Copy link
Member Author

For the record, blin logs for RPi::Device::PiGlow:

blin@brezeleisen:~$ cat /var/tmp/Blin-volume/Blin/installed/RPi\:\:Device\:\:PiGlow_0.0.3/log-old
The following candidates are already installed: RPi::Device::PiGlow
===> Searching for: RPi::Device::PiGlow
===> Found: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0> [via Zef::Repository::LocalCache]
===> Testing: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>
[RPi::Device::PiGlow] t/001-meta.t .. ok
[RPi::Device::PiGlow] t/010-use.t ... ok
[RPi::Device::PiGlow] All tests successful.
[RPi::Device::PiGlow] Files=2, Tests=2,  2 wallclock secs ( 0.03 usr  0.00 sys +  2.47 cusr  0.22 csys =  2.72 CPU)
[RPi::Device::PiGlow] Result: PASS
===> Testing [OK] for RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>
blin@brezeleisen:~$ cat /var/tmp/Blin-volume/Blin/installed/RPi\:\:Device\:\:PiGlow_0.0.3/log-new
The following candidates are already installed: RPi::Device::PiGlow
===SORRY!=== Error while compiling /mnt/Blin/installed/RPi::Device::PiGlow_0.0.3/sources/358E929317127004D9B9E2083E9F12DF703DF61E (RPi::Device::PiGlow)
Can never assign default value Str ("/dev/i2c-1") to attribute '$!i2c-bus-device-path', it expects: RPi::Device::SMBus::DevicePath
at /mnt/Blin/installed/RPi::Device::PiGlow_0.0.3/sources/358E929317127004D9B9E2083E9F12DF703DF61E (RPi::Device::PiGlow):187

===> Searching for: RPi::Device::PiGlow
===> Found: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0> [via Zef::Repository::LocalCache]
===> Testing: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>
[RPi::Device::PiGlow] t/001-meta.t .. ok
[RPi::Device::PiGlow] # Failed test 'Can load "RPi::Device::PiGlow" ok'
[RPi::Device::PiGlow] # at t/010-use.t line 7
[RPi::Device::PiGlow] # ===SORRY!=== Error while compiling /mnt/Blin/data/zef-data/store/RPi-Device-PiGlow-0.0.3.tar.gz/RPi-Device-PiGlow-0.0.3/lib/RPi/Device/PiGlow.pm (RPi::Device::PiGlow)
[RPi::Device::PiGlow] # Can never assign default value Str ("/dev/i2c-1") to attribute '$!i2c-bus-device-path', it expects: RPi::Device::SMBus::DevicePath
[RPi::Device::PiGlow] # at /mnt/Blin/data/zef-data/store/RPi-Device-PiGlow-0.0.3.tar.gz/RPi-Device-PiGlow-0.0.3/lib/RPi/Device/PiGlow.pm (RPi::Device::PiGlow):187
[RPi::Device::PiGlow] # 
[RPi::Device::PiGlow] # You failed 1 test of 1
[RPi::Device::PiGlow] t/010-use.t ... 
[RPi::Device::PiGlow] Dubious, test returned 1 (wstat 256, 0x100)
[RPi::Device::PiGlow] Failed 1/1 subtests 
[RPi::Device::PiGlow] Test Summary Report
[RPi::Device::PiGlow] -------------------
[RPi::Device::PiGlow] t/010-use.t (Wstat: 256 Tests: 1 Failed: 1)
[RPi::Device::PiGlow]   Failed test:  1
[RPi::Device::PiGlow]   Non-zero exit status: 1
[RPi::Device::PiGlow] Files=2, Tests=2,  3 wallclock secs ( 0.05 usr  0.00 sys +  5.29 cusr  0.30 csys =  5.64 CPU)
[RPi::Device::PiGlow] Result: FAIL
===> Testing [FAIL]: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>
[RPi::Device::PiGlow] Failed to get passing tests, but continuing with --force-test
===> Installing: RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>
===> Install [FAIL] for RPi::Device::PiGlow:ver<0.0.3>:auth<github:jonathanstowe>:api<1.0>: ===SORRY!=== Error while compiling /mnt/Blin/installed/RPi::Device::PiGlow_0.0.3/sources/358E929317127004D9B9E2083E9F12DF703DF61E (RPi::Device::PiGlow)
Can never assign default value Str ("/dev/i2c-1") to attribute '$!i2c-bus-device-path', it expects: RPi::Device::SMBus::DevicePath
at /mnt/Blin/installed/RPi::Device::PiGlow_0.0.3/sources/358E929317127004D9B9E2083E9F12DF703DF61E (RPi::Device::PiGlow):187

blin@brezeleisen:~$ 

@Altai-man
Copy link
Member Author

@lizmat I think the rule of the thumb is: 1)If that's a fix of buggy behavior others has relied upon, better to fix that, even with consequences; 2)If it is not a technical bug fix, but a change for a change, do smarter things to save modules from anything.
@vrurg is it 1 or 2?

@vrurg
Copy link
Member

vrurg commented Mar 9, 2020

@Altai-man It's 1 since it passes the existing spectests. Especially considering that Backtrace is now deterministic and the test itself doesn't depend on its location in the file anymore.

@jonathanstowe
Copy link
Contributor

[RPi::Device::PiGlow] # Can never assign default value Str ("/dev/i2c-1") to attribute '$!i2c-bus-device-path', it expects: RPi::Device::SMBus::DevicePath
[RPi::Device::PiGlow] # at /mnt/Blin/data/zef-data/store/RPi-Device-PiGlow-0.0.3.tar.gz/RPi-Device-PiGlow-0.0.3/lib/RPi/Device/PiGlow.pm (RPi::Device::PiGlow):187
[RPi::Device::PiGlow] #

Ah yes, it's a subset that checks that the device exists, which it won't on anything but an actualy RPi, I'd just ignore it for the time being while I make some adjustments so the default is done a bit more sanely.

jonathanstowe added a commit to jonathanstowe/Lumberjack that referenced this issue Mar 10, 2020
@jonathanstowe
Copy link
Contributor

Fixed the Lumberjack with the jonathanstowe/Lumberjack@0173711 will release later.

@jonathanstowe
Copy link
Contributor

Fixed the Lumberjack with the jonathanstowe/Lumberjack@0173711 will release later.

Made release of v0.0.10 and tested on both old and new rakudo.

@Altai-man
Copy link
Member Author

Marking the Backtrace thing as a serious change to note in changelog.
Thanks to everyone! Another round next weekend.

@AlexDaniel AlexDaniel added the blin Result of a regular ecosystem check with modules regressed, which must be fixed before release label Jun 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blin Result of a regular ecosystem check with modules regressed, which must be fixed before release BLOCKER Preventing the next release of rakudo, or just needing attention before the release regression Issue did not exist previously
Projects
None yet
Development

No branches or pull requests

5 participants