Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: X10 1.7.3
-
Component/s: Native X10: Compiler Codegen, XRX Runtime
-
Labels:None
-
Number of attachments :
Description
Test runs successfully with the Java backend, fails with what I think is a ClockUseException with the C++ backend.
It's entirely possible that the test program is buggy, or that it should fail on the Java backend but doesn't. Marking this as critical mainly because I can't make much progress on enabling GC until I can concoct a test program that runs on the C++ backend that actually does a few things with remote references that are locally dead so I can see if my registration code (not checked in yet) is actually working.
When compiled with C++ backend for linux/x86 and run with manager/launcher, I get the following:
[dgrove@linchen junk]$ /home/dgrove/x10-17/pgas/common/work/bin/launcher -t 2 ./a.out
true
at x10::lang::Throwable::fillInStackTrace()
at x10aux::throwException(x10aux::ref<x10::lang::Throwable>)
at x10::runtime::Clock_c::register_c()
at x10_runtime_Runtime_closure_1::apply(int)
at x10::lang::ValRail<int>::make(int, x10aux::ref<x10::lang::Fun_0_1<int, int> >)
at x10::runtime::Runtime::runAsync(x10aux::ref<x10::lang::Place>, x10aux::ref<x10::lang::ValRail<x10aux::ref<x10::lang::Clock> > >, x10aux::ref<x10::lang::VoidFun_0_0>, x10aux::ref<x10::lang::String>)
at RemoteRef::spawnRemoteTask(x10aux::ref<x10::lang::Clock>, int, x10aux::ref<RemoteRef__ResultHolder>)
at RemoteRef::run()
at harness::x10Test::execute()
at RemoteRef::main(x10aux::ref<x10::lang::Rail<x10aux::ref<x10::lang::String> > >)
at x10aux::BootStrapClosure::apply()
at x10::runtime::Activity::run()
at x10::runtime::Runtime::start(x10aux::ref<x10::lang::VoidFun_0_0>)
at int x10aux::main<x10::runtime::Runtime, RemoteRef>(int, char**)
at main
at __libc_start_main
at __gxx_personality_v0
++++++ Test failed.
interrupt (job signalled)
job terminated by signal 2 (Interrupt)
Issue Links
- depends upon
-
XTENLANG-322
v.equals(v) returns false for x10 values
-
- is depended upon by
-
XTENLANG-226
Track remote references to enable local GC
-
And it could just be a bug with the implementation of Clocks & multi-process X10 that we haven't noticed yet since we haven't gotten test suite results with the C++ backend yet...