GithubHelp home page GithubHelp logo

Comments (2)

jyn514 avatar jyn514 commented on June 2, 2024

It looks like this only happens if you touch it after ekam has finished building all pending tasks - if you touch it while it's still compiling, it will correctly rebuild the whole source tree instead.

✔ test: kj/string-tree-test
↺ compile: kj/compat/http-test.c++
  compile: kj/filesystem-disk-test.c++
↺ compile: kj/compat/http-test.c++
↺ compile: kj/compat/http-test.c++
↺ learn: ekam/rules/compile.ekam-rule
  learn: ekam/rules/compile.ekam-rule
↺ compile: ekam/rules/intercept.c
↺ compile: capnp/reconnect.c++
↺ compile: capnp/afl-testcase.c++
↺ compile: capnp/test-util.c++
↺ compile: capnp/capability.c++
↺ compile: capnp/blob-test.c++
↺ compile: capnp/message-test.c++
↺ compile: capnp/serialize-packed-test.c++

from ekam.

jyn514 avatar jyn514 commented on June 2, 2024

Here's a backtrace:

ekam: /ekam-provider/canonical/ekam/Driver.cpp:404: void ekam::Driver::ActionDriver::reset(): Assertion `!currentlyExecutingReturned' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7a77859 in __GI_abort () at abort.c:79
#2  0x00007ffff7a77729 in __assert_fail_base (
    fmt=0x7ffff7c0d588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=0x4bd9b8 "!currentlyExecutingReturned", 
    file=0x4bd9d4 "/ekam-provider/canonical/ekam/Driver.cpp", line=404, 
    function=<optimized out>) at assert.c:92
#3  0x00007ffff7a88f36 in __GI___assert_fail (
    assertion=0x4bd9b8 "!currentlyExecutingReturned", 
    file=0x4bd9d4 "/ekam-provider/canonical/ekam/Driver.cpp", line=404, 
    function=0x4bdb96 "void ekam::Driver::ActionDriver::reset()") at assert.c:101
#4  0x0000000000478df3 in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:404
#5  0x0000000000479034 in ekam::Driver::resetDependentActions (this=<optimized out>, 
    this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:750
#6  0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#7  0x0000000000479034 in ekam::Driver::resetDependentActions (this=<optimized out>, 
    this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:750
#8  0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#9  0x0000000000478f1f in ekam::Driver::resetDependentActions (
    this=this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:730
#10 0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#11 0x0000000000479034 in ekam::Driver::resetDependentActions (this=<optimized out>, 
    this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:750
#12 0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#13 0x0000000000478f1f in ekam::Driver::resetDependentActions (
    this=this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:730
#14 0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#15 0x0000000000478c98 in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:460
#16 0x0000000000479034 in ekam::Driver::resetDependentActions (this=<optimized out>, 
    this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:750
#17 0x0000000000478b8d in ekam::Driver::ActionDriver::reset (this=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:445
#18 0x0000000000479034 in ekam::Driver::resetDependentActions (this=<optimized out>, 
--Type <RET> for more, q to quit, c to continue without paging--
    this@entry=0x7fffffffdc88, provision=<optimized out>)
    at /ekam-provider/canonical/ekam/Driver.cpp:750
#19 0x0000000000479430 in ekam::Driver::addSourceFile (this=0x7fffffffdc88, 
    file=<optimized out>) at /ekam-provider/canonical/ekam/Driver.cpp:572
#20 0x000000000042444d in ekam::FileWatcher::modified (this=<optimized out>)
    at /ekam-provider/canonical/ekam/ekam.cpp:200
#21 0x00000000004231a6 in ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}::operator()(ekam::EventManager::FileChangeType) const (
    this=this@entry=0x7fffffffd9f0, changeType=(unknown: -13488))
    at /ekam-provider/canonical/ekam/ekam.cpp:157
#22 0x0000000000423130 in ekam::promiseInternal::CallAndFulfillFunctor<void>::operator()<ekam::PromiseFulfiller<void>::Callback, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::EventManager::FileChangeType>(ekam::WeakLink*, ekam::PromiseFulfiller<void>::Callback*, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}&, ekam::EventManager::FileChangeType&&) const (this=this@entry=0x7fffffffd938, 
    linkToFulfiller=linkToFulfiller@entry=0x7fffffffd9e0, callback=callback@entry=0x5c9138, 
    func=..., params=<optimized out>) at /ekam-provider/c++header/base/Promise.h:610
#23 0x00000000004230fe in ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::DoReadyFunctor::operator()<ekam::Promise>(ekam::WeakLink*, ekam::PromiseFulfiller<void>::Callback*, {lambda(ekam::EventManager::FileChangeType)#1}&, ekam::Promise&&) const (
    this=this@entry=0x7fffffffd9d0, linkToFulfiller=0x7fffffffcb50, 
    linkToFulfiller@entry=0x7fffffffd9e0, callback=0x0, callback@entry=0x5c9138, func=..., 
    params=...) at /ekam-provider/c++header/base/Promise.h:703
#24 0x0000000000423094 in ekam::ValuePack<>::applyMoving<ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::DoReadyFunctor, ekam::WeakLink*, ekam::PromiseFulfiller<void>::Callback*&, {lambda(ekam::EventManager::FileChangeType)#1}&, ekam::Promise> (
    this=this@entry=0x7fffffffd9d8, func=..., params=..., params=..., params=..., 
    params=...) at /ekam-provider/c++header/base/Promise.h:89
#25 0x0000000000423035 in ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> >::applyMoving<ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::DoReadyFunctor, ekam::WeakLink*, ekam::PromiseFulfiller<void>::Callback*&, {lambda(ekam::EventManager::FileChangeType)#1}&> (this=this@entry=0x7fffffffd9d8, func=..., params=..., params=..., 
    params=...) at /ekam-provider/c++header/base/Promise.h:68
#26 0x0000000000422bd5 in ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::ready() (this=this@entry=0x5c9140) at /ekam-provider/c++header/base/Promise.h:714
#27 0x0000000000422a7e in ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::--Type <RET> for more, q to quit, c to continue without paging--c
readyLater()::{lambda()#1}::operator()() const (this=<optimized out>) at /ekam-provider/c++header/base/Promise.h:754
#28 0x0000000000422a4a in ekam::LambdaRunnable<ekam::promiseInternal::DependentPromiseFulfiller<void, ekam::Watcher::waitForEvent()::{lambda(ekam::EventManager::FileChangeType)#1}, ekam::promiseInternal::ForceErrorFunctor<void>, ekam::ValuePack<ekam::Promise<ekam::EventManager::FileChangeType> > >::readyLater()::{lambda()#1}>::run() (this=<optimized out>) at /ekam-provider/c++header/base/Promise.h:170
#29 0x000000000040be27 in ekam::EpollEventManager::AsyncCallbackHandler::run (this=this@entry=0x12ef990) at /ekam-provider/canonical/os/EpollEventManager.cpp:294
#30 0x000000000040b023 in ekam::EpollEventManager::handleEvent (this=this@entry=0x545fe0) at /ekam-provider/canonical/os/EpollEventManager.cpp:848
#31 0x000000000040afd8 in ekam::EpollEventManager::loop (this=0x545fe0) at /ekam-provider/canonical/os/EpollEventManager.cpp:839
#32 0x000000000041ed65 in ekam::main (argc=<optimized out>, argv=<optimized out>) at /ekam-provider/canonical/ekam/ekam.cpp:573
#33 0x000000000041f266 in main (argc=2, argv=0x7fffffffcb50) at /ekam-provider/canonical/ekam/ekam.cpp:605

For some reason this only happens when capnp is in the sources somewhere, if it's only kj then it works fine.

from ekam.

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.