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

Calls to truncate are hanging. #19

Closed
calewis opened this issue Feb 4, 2015 · 3 comments
Closed

Calls to truncate are hanging. #19

calewis opened this issue Feb 4, 2015 · 3 comments

Comments

@calewis
Copy link
Member

calewis commented Feb 4, 2015

On Hyades calls to truncate appear to hang until timeout. Adding c.truncate() to line 170 of ta_sparse hangs with backtrace
#0 0x0000003fcfcaccd0 in __nanosleep_nocancel () from /lib64/libc.so.6

1 0x0000003fcfce1e44 in usleep () from /lib64/libc.so.6
#2 0x00000000005f4175 in madness::myusleep (us=10000) at /hyades/home/valeev/calewis/software/upstream_tiledarray/external/src/madness/src/madness/world/worldtime.h:176
#3 0x00000000005f4417 in madness::MutexWaiter::yield (this=0x7fffffffbcc0, us=10000)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/external/src/madness/src/madness/world/worldmutex.h:79

#4 0x00000000005f41e0 in madness::MutexWaiter::wait (this=0x7fffffffbcc0)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/external/src/madness/src/madness/world/worldmutex.cc:63

#5 0x000000000056b2c9 in madness::ThreadPool::awaitTiledArray::detail::CounterProbe (probe=..., dowork=true)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/external/src/madness/src/madness/world/worldthread.h:1084

#6 0x0000000000565243 in madness::World::awaitTiledArray::detail::CounterProbe (probe=..., dowork=true)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/external/src/madness/src/madness/world/worldfwd.h:686

#7 0x000000000055b839 in TiledArray::SparsePolicy::truncate<TiledArray::Array<double, 2u, TiledArray::Tensor, TiledArray::SparsePolicy> > (array=...)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/src/TiledArray/policies/sparse_policy.h:89

#8 0x00000000005570ba in TiledArray::Array<double, 2u, TiledArray::Tensor<double, Eigen::aligned_allocator >, TiledArray::SparsePolicy>::truncate (this=0x7fffffffc1c0)

at /hyades/home/valeev/calewis/software/upstream_tiledarray/src/TiledArray/array.h:487

#9 0x0000000000549362 in main (argc=4, argv=0x7fffffffc648) at /hyades/home/valeev/calewis/software/upstream_tiledarray/examples/dgemm/ta_sparse.cpp:170

Frame 6 is
683 /// Probe should be an object that when called returns the status.
684 template
685 static void inline await(const Probe& probe, bool dowork = true) {
686 ThreadPool::await(probe, dowork);
687 }

probe is
(const TiledArray::detail::CounterProbe &) @0x7fffffffbd80: {counter_ = @0x7fffffffbdc0, n_ = 8}

probe.counter_ is
(const madness::AtomicInt &) @0x7fffffffbdc0: {value = -16920}

After looking at madness::AtomicInt, and SparsePolicy::truncate, it seems possible that AtomicInt counter should have been set to 0 at some point?

@justusc
Copy link
Member

justusc commented Feb 4, 2015

For future reference please, please, PLEASE!, do not post back traces as you just did. This issue now references issues 1 to 9. If you must/need to post a back trace, at lease edit the frame numbers to omit the "#".

@calewis
Copy link
Member Author

calewis commented Feb 4, 2015

Can I just edit them out?

@justusc
Copy link
Member

justusc commented Feb 4, 2015

You can edit the text, but the reference will still be there. Unfortunately the damage is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants