stellar-group / hpxc Goto Github PK
View Code? Open in Web Editor NEWHPX C Interface
License: Boost Software License 1.0
HPX C Interface
License: Boost Software License 1.0
In existing code ( the OpenUH compiler) comparisons and other integer operations are done on instances of pthread_t. Is it possible to have hpxc_thread_t be an unsigned integer?
Upon further investigation it might be better to use something like pthread_equal.
It just moves the bin directory, with the sample programs in it.
The function is there written, just not in the header file for translating to pthread.h.
I accidentally omitted this function call from my earlier list of needed pthreads calls, and it's used by the OpenUH runtime.
Thanks,
Jeremy
The main entry points for HPXC applications are provided by the hpxc shared library, thus no linking of the C applications with the hpx_init library is necessary
[13:30:24]:sbrandt@deneb:/home/sbrandt/hpxc-build:134:$ ./bin/create_thread
[what]: Boost.Plugin: Could not open shared library '/home/sbrandt/hpxc-build/bin/create_thread' (dlerror: /home/sbrandt/hpxc-build/bin/create_thread: cannot dynamically load executable): HPX(unhandled_exception)
[version]: V1.0.0-trunk (AGAS: V2.1), Git: unknown
[date]: Oct 2 2012 10:13:22
[compiler]: GNU C++ version 4.6.2
[stdlib]: GNU libstdc++ version 20120120
Aborted
Top of trunk, gcc4.6.2 debug mode gives me this error:
[03:31:00]:wash@lyra00:/home/wash/development/hpxc/gcc-4.6.2-debug:0:$ bin/create_thread
hello world
[stack-trace]: 28 frames:
0x7f4dd588d93c : boost::backtrace::backtrace(unsigned long) + 0x80 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd588daa0 : boost::trace() + 0x1e in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd588988b : hpx::detail::backtrace() + 0x18 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd588e1ca : boost::exception_ptr hpx::detail::get_exception<hpx::exception>(hpx::exception const&, std::string const&, std::string const&, long) + 0x46 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd588e787 : void hpx::detail::throw_exception<hpx::exception>(hpx::exception const&, std::string const&, std::string const&, long) + 0x38 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5889b00 : hpx::detail::assertion_failed_msg(char const*, char const*, char const*, char const*, long) + 0x238 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd58898c8 : hpx::detail::assertion_failed_msg(char const*, char const*, char const*, char const*, long) + 0x0 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd728b5ca : itt_sync_create(void*, char const*, char const*) + 0x0 in /home/wash/development/hpxc/gcc-4.6.2-debug/lib/hpx/libhpxcd.so.0
0x7f4dd5a55601 : hpx::threads::thread_data::free_thread_exit_callbacks() + 0x5b in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5820a84 : hpx::threads::thread_data::~thread_data() + 0x24 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd58476e7 : void boost::checked_delete<hpx::threads::thread_data const>(hpx::threads::thread_data const*) + 0x1e in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd58441b1 : void boost::delete_clone<hpx::threads::thread_data>(hpx::threads::thread_data const*) + 0x18 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5840a78 : void boost::heap_clone_allocator::deallocate_clone<hpx::threads::thread_data>(hpx::threads::thread_data const*) + 0x18 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd583ca0a : boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::map_config<hpx::threads::thread_data, std::map<void*, void*, std::less<void*>, std::allocator<std::pair<void* const, void*> > >, true>, boost::heap_clone_allocator>::null_clone_allocator<false>::deallocate_clone(hpx::threads::thread_data const*) + 0x18 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd58372c4 : boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::map_config<hpx::threads::thread_data, std::map<void*, void*, std::less<void*>, std::allocator<std::pair<void* const, void*> > >, true>, boost::heap_clone_allocator>::null_policy_deallocate_clone(hpx::threads::thread_data const*) + 0x18 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5832578 : void boost::ptr_container_detail::reversible_ptr_container<boost::ptr_container_detail::map_config<hpx::threads::thread_data, std::map<void*, void*, std::less<void*>, std::allocator<std::pair<void* const, void*> > >, true>, boost::heap_clone_allocator>::remove<boost::ptr_map_iterator<std::_Rb_tree_iterator<std::pair<void* const, void*> >, void*, hpx::threads::thread_data* const> >(boost::ptr_map_iterator<std::_Rb_tree_iterator<std::pair<void* const, void*> >, void*, hpx::threads::thread_data* const>) + 0x24 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a7440b : boost::ptr_container_detail::associative_ptr_container<boost::ptr_container_detail::map_config<hpx::threads::thread_data, std::map<void*, void*, std::less<void*>, std::allocator<std::pair<void* const, void*> > >, true>, boost::heap_clone_allocator>::erase(void* const&) + 0x83 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a67310 : hpx::threads::policies::thread_queue<false>::cleanup_terminated_locked(bool) + 0xd2 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a64f1a : hpx::threads::policies::thread_queue<false>::wait_or_add_new(unsigned long, bool, long&, unsigned long&, hpx::threads::policies::thread_queue<false>*) + 0xc8 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a65e6e : hpx::threads::policies::local_priority_queue_scheduler::wait_or_add_new(unsigned long, bool, long&) + 0xce in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a6f771 : hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>::tfunc_impl(unsigned long) + 0x909 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a6e6d1 : hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>::tfunc(unsigned long) + 0x195 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a8bc9d : boost::_mfi::mf1<void, hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, unsigned long>::operator()(hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*, unsigned long) const + 0x63 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a8bb7f : void boost::_bi::list2<boost::_bi::value<hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<unsigned long> >::operator()<boost::_mfi::mf1<void, hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, unsigned long>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void, hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, unsigned long>&, boost::_bi::list0&, int) + 0x69 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a8b909 : boost::_bi::bind_t<void, boost::_mfi::mf1<void, hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, unsigned long>, boost::_bi::list2<boost::_bi::value<hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<unsigned long> > >::operator()() + 0x39 in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd5a8b1ee : boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf1<void, hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>, unsigned long>, boost::_bi::list2<boost::_bi::value<hpx::threads::threadmanager_impl<hpx::threads::policies::local_priority_queue_scheduler, hpx::threads::policies::callback_notifier>*>, boost::_bi::value<unsigned long> > > >::run() + 0x1e in /home/wash/hpx/gcc-4.6.2-debug/install/lib/hpx/libhpxd.so.1
0x7f4dd108541e : ??? + 0x7f4dd108541e in /opt/boost/1.48.0-debug/stage/lib/libboost_thread.so.1.48.0
0x7f4dd3799b50 : ??? + 0x7f4dd3799b50 in /lib/x86_64-linux-gnu/libpthread.so.0
[env]: 19 entries:
EDITOR=vim
GLIBCPP_FORCE_NEW=1
GLIBCXX_FORCE_NEW=1
HOME=/home/wash
LANG=en_US.UTF-8
LOGNAME=wash
LS_COLORS=rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
MAIL=/var/mail/wash
OLDPWD=/home/wash/development/hpxc
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/home/wash/development/hpxc/gcc-4.6.2-debug
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=10.1.1.1 42312 22
SSH_CONNECTION=10.1.1.1 42312 10.1.1.213 22
SSH_TTY=/dev/pts/3
TERM=xterm
USER=wash
_=bin/create_thread
[what]: assertion '!exit_funcs_ || ran_exit_funcs_' failed: HPX(assertion_failure)
[locality-id]: 0
[hostname]: 127.0.0.1:7910
[process-id]: 32135
[function]: void hpx::threads::thread_data::free_thread_exit_callbacks()
[file]: /home/wash/hpx/src/runtime/threads/thread_data.cpp
[line]: 84
[version]: V1.0.0-trunk (AGAS: V2.1), Git: 2b105eea9ba2217035b2400d977e726d5c7a306c
[boost]: V1.48.0
[build-type]: debug
[date]: Sep 24 2012 02:54:14
[platform]: linux
[compiler]: GNU C++ version 4.6.2
[stdlib]: GNU libstdc++ version 20120120
Aborted
I am guessing that hpxc_thread_exit is to blame.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.