GithubHelp home page GithubHelp logo

Weird failure about zef HOT 4 CLOSED

ugexe avatar ugexe commented on June 14, 2024
Weird failure

from zef.

Comments (4)

zoffixznet avatar zoffixznet commented on June 14, 2024 1

Can't reproduce any longer. Thanks!

from zef.

ugexe avatar ugexe commented on June 14, 2024

I suspect if you run with --ll-exception the trace will lead to CompUnit::Repository::Installation.install. NQP errors that happen during the install phase are also indicative of CompUnit::Repository::Installation.install. An additional clue is that the module is actually installed, and fails when precompiling.

This leads to the question: is this a zef or rakudo bug? On one hand zef could reinstall all reverse dependencies. On the other hand if precompilation was disabled this problem would not occur, and because all precomp happens automatically it puts the onus to a correct solution on CompUnit::Repository::Installation.

Personally I don't consider reinstalling all reverse dependencies to be anything more than a hacky workaround; The correct solution is to re-precompile the reverse dependencies, but the only way for a package manager to do that is to do a complete reinstall or to nuke entire precomp directories. CUR should really be handling that automatically.

tl;dr: rakudo is failing to invalidate precomp files in situations that it actually should

from zef.

ugexe avatar ugexe commented on June 14, 2024

This may be a good reason to finally design the hook system for the various phases. This will allow a workaround (as well as the current Build.pm cruft) to act as compatibility adapters alongside similar before/after style phase modifiers. It will also make it easier to drop (or at least bury) the technical debt of future "temporary" solutions. The current plugin system can probably be adapted to take on this role, essentially allow hooks to wrap each phase plugin (each hook is guaranteed to be called whereas plugins act similar to a lazy iterator where the last plugin in the chain may never need to be called)

In such a system I think the solution is then a pre-install hook script that will delete precomp files for reverse dependencies if the rakudo version is less than $whenever-its-fixed

from zef.

FROGGS avatar FROGGS commented on June 14, 2024

Please test again with latest rakudo. This patch might improve the situation: rakudo/rakudo@d0a00164e9

(if so, we can close https://rt.perl.org/Ticket/Display.html?id=128088)

from zef.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.