Giter VIP home page Giter VIP logo

Comments (12)

amccaskey avatar amccaskey commented on July 26, 2024

I observed a failure in TAProlParserTester. It was missing exatn::initialize(). Can you post the other errors you saw, ctest --output-on-failure

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

Test project /home/dima/src/exatn/build
Start 1: ServiceRegistryTester
1/5 Test #1: ServiceRegistryTester ............ Passed 0.00 sec
Start 2: NumericsTester
2/5 Test #2: NumericsTester ...................***Exception: SegFault 0.11 sec
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from NumericsTester
[ RUN ] NumericsTester.checkSimple
2 1 13 0
{1:5,0:13}
2 61 32
{61,32}
{1:4}
[ OK ] NumericsTester.checkSimple (0 ms)
[ RUN ] NumericsTester.checkNumServer
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name eager-dag-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find eager-dag-executor in Service Registry.
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name talsh-node-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find talsh-node-executor in Service Registry.

Start 3: TAProLInterpreterTester

3/5 Test #3: TAProLInterpreterTester ..........***Exception: SegFault 0.10 sec
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TAProLInterpreterTester
[ RUN ] TAProLInterpreterTester.checkSimple
Exatn not initialized before use. Please execute exatn::Initialize() before using API.

Start 4: DirectedBoostGraphTester

4/5 Test #4: DirectedBoostGraphTester ......... Passed 0.00 sec
Start 5: TensorRuntimeTester
5/5 Test #5: TensorRuntimeTester ..............***Exception: SegFault 0.10 sec
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name eager-dag-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find eager-dag-executor in Service Registry.
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name talsh-node-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find talsh-node-executor in Service Registry.

40% tests passed, 3 tests failed out of 5

Total Test time (real) = 0.32 sec

The following tests FAILED:
2 - NumericsTester (SEGFAULT)
3 - TAProLInterpreterTester (SEGFAULT)
5 - TensorRuntimeTester (SEGFAULT)
Errors while running CTest

from exatn.

amccaskey avatar amccaskey commented on July 26, 2024

Oh cool, these are easy to fix. You just need to update the failing testers main() functions to first run exatn::initialize().

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

I actually did that in NumericsTester but it still fails for some reason ...

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

Oh, you meant I should put exatn::initialize() into main() instead of test itself?

from exatn.

amccaskey avatar amccaskey commented on July 26, 2024

Well either would do if there is only one TEST(). Did you run make install?

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

NumericsTester has two tests and I put exatn::initialize() and exatn::finalize() in the second one since it was failing. So, I guess I should just move this to main() instead. Will try.

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

Do you think getService not being able to find registered exatn::runtime services was because of this as well?

from exatn.

amccaskey avatar amccaskey commented on July 26, 2024

yes, if you don't call initialize() then the ServiceRegistry is not instantiated and initialized. ServiceRegistry::initialize() searches the ~/.exatn/plugins directory for shared libraries, loads them, and calls *Activator::start() on each one. Without doing this, there are no services available to get.

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

Nope, it does not help either, same thing:
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name eager-dag-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find eager-dag-executor in Service Registry.
Exatn not initialized before use. Please execute exatn::Initialize() before using API.
Could not find service with name talsh-node-executor. Perhaps the service is not Identifiable.
Invalid exatn Service. Could not find talsh-node-executor in Service Registry.

from exatn.

DmitryLyakh avatar DmitryLyakh commented on July 26, 2024

Also note that it only complains about exatn runtime services: EagerGraphExecutor and TalshNodeExecutor.

from exatn.

amccaskey avatar amccaskey commented on July 26, 2024

This is interesting. I was able to reproduce this. It is happening because TensorRuntime::TensorRuntime(..) constructor is getting reference to the executor services before the exatn::initialize() call is finished. So exatn::initalize() gets called, which loads the bundles, which loads the MPIRPCActivator.start(), which constructs MPIServer, which calls DriverServer super constructor, which instantiates a TAProlInterpreter, which creates the NumServer, which creates the TensorRuntime, which calls getService()... all before initialize() finishes. Phew....

Simple fix is to move the Taprol parser construction from DriverServer constructor initializer list, to the MPIServer.start() method.

from exatn.

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.