00:35
diehlpk_mobile has quit [Read error: Connection reset by peer]
00:36
diehlpk_mobile has joined #ste||ar
00:36
diehlpk_mobile has quit [Remote host closed the connection]
00:52
diehlpk has joined #ste||ar
01:22
<
nikunj >
hkaiser: I have added Mac implementation over hpx_wrap.cpp (after reviews and changes) and tested it. It is working well. If you could merge the pr, I'll create another pr.
01:28
<
hkaiser >
nikunj: done
01:28
<
github >
[hpx] hkaiser closed pull request #3357: Static/dynamic executable implementation (master...static_hpx_main_impl)
https://git.io/f47x6
01:28
<
nikunj >
hkaiser: thanks, I'll add a pr for Mac then.
01:28
<
hkaiser >
thank you! let's see how this goes
01:29
<
nikunj >
I hope it works as well.
01:29
nikunj has quit [Remote host closed the connection]
01:30
nikunj has joined #ste||ar
01:43
<
hkaiser >
nikunj: I just realized that including hpx_main.hpp in more thanone TU will cause linker errors now
01:43
<
hkaiser >
hpx_start::include_libhpx_wrap will havemultiple definitions
01:44
<
nikunj >
hkaiser: oh I didn't realize it as well
01:45
<
nikunj >
I'll make it inline, that should work
01:45
<
nikunj >
what do you say?
01:45
<
hkaiser >
making a variable inline?
01:46
<
hkaiser >
is that legal?
01:46
<
nikunj >
c++14 supports it
01:46
<
nikunj >
oh no c++17 supports it
01:46
<
K-ballo >
inline variables are 17
01:46
<
K-ballo >
there's C++11 compatible emulation
01:47
<
K-ballo >
template <typename Dummy = void> struct Holder { static T var; }
01:47
<
K-ballo >
template <typename Dummy> T Holder<Dummy>::var = T(...);
01:47
<
K-ballo >
T& x = Holder<>::var;
01:47
<
K-ballo >
oops, that T& x should have been guarded in an unnamed namespace
01:51
<
nikunj >
hkaiser: what do you I should do?
01:51
<
hkaiser >
try what K-ballo suggested
01:51
<
nikunj >
ok, I'll add it to code and check
01:52
<
hkaiser >
K-ballo: putting it into an unnamed namespace prevents us from shadowing the weak symbol
01:52
<
K-ballo >
what? I must have missed some stuff
01:52
<
hkaiser >
no, I take that back
01:52
<
hkaiser >
the holder<>::var is the weak symbol, not the T&x;
01:53
<
K-ballo >
hkaiser: I'm now thinking the T& x part is probably unneded, if the point is just to run stuff during include_libhpx_wrap construction
01:53
<
K-ballo >
why is there a weak symbol at all?
01:53
* K-ballo
checks the code
01:53
<
hkaiser >
this is meant to shadow a weak symnbol if hpx_main is included
01:53
<
hkaiser >
it's merged already
01:53
<
K-ballo >
the symbol is extern
01:54
<
K-ballo >
extern bool include_libhpx_wrap; is just a declaration, not a definition
01:55
<
K-ballo >
uuuuh.. linker tricks
01:56
<
K-ballo >
inline won't do, nor the emulation
01:56
<
hkaiser >
nikunj: let's add it to the docs, then
01:57
<
hkaiser >
hpx_main.hpp msut be included once only
01:57
<
nikunj >
nikunj: understood
01:58
<
hkaiser >
might be a good idea to add a sentence or two anyways, explaining things
01:58
<
nikunj >
hkaiser: nod
01:59
<
nikunj >
hkaiser: I'll update the docs too
01:59
<
hkaiser >
ok, no harm done - there is no point in using hpx_main.hpp anywhere than in the main TU anyways
01:59
<
hkaiser >
K-ballo: why can't we do the same with the emulation?
02:00
<
hkaiser >
couldn't static variables be weak as well?
02:00
<
nikunj >
iirc static variables can also be weak
02:00
<
hkaiser >
it's ODR in any case :/
02:00
<
hkaiser >
nikunj: well, worth a try ...
02:01
<
hkaiser >
ODR violation, even
02:01
<
nikunj >
on it already
02:01
<
K-ballo >
I guess... I don't know
02:02
<
hkaiser >
ok, good luck - g'night
02:02
hkaiser has quit [Quit: bye]
02:05
<
nikunj >
K-ballo: in your example you use typename Dummy and then use T to determine type. Do you want me to replace T with bool (taking T as an example anyway) or is there any typo in there?
02:05
<
K-ballo >
Dummy exists solely to make the thing a template, so that the linker has to collapse the definitions
02:06
<
nikunj >
ok so if I copy paste the entire thing it should work, right?
02:06
<
K-ballo >
some assembly required
02:16
quaz0r has quit [Ping timeout: 240 seconds]
02:25
quaz0r has joined #ste||ar
02:36
quaz0r has quit [Ping timeout: 264 seconds]
02:44
<
github >
[hpx] NK-Nikunj opened pull request #3367: Adds Mac OS implementation to hpx_main.hpp (master...Mac_OS_impl)
https://git.io/fNvUy
02:52
diehlpk has quit [Ping timeout: 264 seconds]
02:55
<
nikunj >
K-ballo: you were right, things aren't working as expected making things inline.
02:56
<
nikunj >
Do you have a way to prevent the error?
02:59
<
nikunj >
Hi! Do you have hpx setup on mac?
02:59
<
nikunj >
I wanted to check if the implementation is working on other pcs
03:00
quaz0r has joined #ste||ar
03:03
<
nikunj >
could you please check if you have a container running mac?
03:05
K-ballo has quit [Quit: K-ballo]
03:10
<
nikunj >
is that a 2013 mac book pro i see?
03:11
<
zao >
Late-2011 I think.
03:11
<
zao >
It's my work laptop, long out of service.
03:21
<
zao >
I don't have Boost or hwloc or anything installed, but might be able to build something. Eventually.
03:21
<
nikunj >
zao: take your time, no worries
03:22
<
zao >
nikunj: Good news, miserable failure!
03:22
<
nikunj >
oh, what happened?
03:23
<
nikunj >
it seemed run fine on my copy of mac osx (sierra)
03:24
<
zao >
hpx_wrap.cpp can't find namespace hpx or something.
03:25
<
zao >
Trying to exfiltrate logs :)
03:26
<
nikunj >
oh my bad, I'll correct the code
03:26
<
zao >
cmake ../hpx -DCMAKE_BUILD_TYPE=Debug -DHPX_WITH_CXX14=ON -DBOOST_ROOT=/usr/local/Cellar/boost/1.67.0_1 -DHWLOC_ROOT=${HOME}/opt/hwloc-1.11.10 -DCMAKE_INSTALL_PREFIX=$HOME/stellar/inst-hpx-debug -G Ninja -DHPX_WITH_EXAMPLES=ON -DHPX_WITH_TESTS=ON && ninja components examples tests 2>&1
03:27
<
nikunj >
zao: fixed, fetch and run again.
03:31
nanashi55 has quit [Ping timeout: 245 seconds]
03:34
nanashi55 has joined #ste||ar
03:36
<
zao >
Slowly building, something.
03:37
<
zao >
nikunj: Did you see that Godbolt will have a presentation at cppcon of what happens before main in an average C++ program? :)
03:37
<
zao >
Gonna be fun.
03:37
<
nikunj >
Oh no I did not
03:38
<
nikunj >
It will surely be fun!
03:39
<
nikunj >
I have now gone through the glibc startup code so it will be even more fun now as I will be able relate to what he says
03:42
nikunj97 has joined #ste||ar
03:48
mark___ has joined #ste||ar
03:48
mark___ has quit [Client Quit]
03:57
<
zao >
550/1722 targets built... this machine isn't fast :)
03:58
<
nikunj >
No problems, you can't expect much from a 2011 mac book ;)
04:32
anushi has quit [Read error: Connection reset by peer]
04:33
anushi has joined #ste||ar
04:43
<
nikunj >
zao: did it build?
04:44
nikunj97 has quit [Quit: Leaving]
04:47
<
zao >
A lot of tests and examples out there.
04:47
<
zao >
I have no idea if the wrapper built, but probably.
04:47
<
nikunj >
seems like it, no worries I'll wait
05:10
<
zao >
nikunj: built
05:10
nikunj has quit [Remote host closed the connection]
05:10
nikunj has joined #ste||ar
06:02
<
nikunj >
zao: any progress?
06:05
<
nikunj >
did you run the tests?
06:06
<
zao >
wait_all_hang_1946 times out at 1500 seconds, currently stuck on static_chunker_2282
06:06
<
zao >
At test 95/573
06:06
<
nikunj >
can it be a ram issue?
06:06
<
nikunj >
if it times out
06:06
<
zao >
Highly unlikely.
06:07
<
nikunj >
I see, what can be the reason for it to time out :/
06:07
<
zao >
Apart from HPX being a buggy pile of <beeeeep>? :)
06:09
<
nikunj >
how many tests should fail before my implementation is treated as inadequate?
06:12
<
zao >
Depends on if it's your fault or just ambient HPX failure.
06:25
<
zao >
migrate_component_test also craps out, as is customary.
06:25
<
zao >
Quite surprised that the timeout is 1500 seconds for some reason.
06:26
<
zao >
Could've sworn it was humane at some point in time.
06:37
<
zao >
Ooh, an actual failure.
06:37
<
nikunj >
which one?
06:38
<
zao >
distributed.tcp.partitioned.vector_fill
06:38
<
zao >
I don't trust any of the distributed ones :)
06:38
<
nikunj >
do they fail frequently?
06:38
<
nikunj >
or is it just my build>
06:39
<
zao >
If my CI setup worked, I'd know more about how it behaves on Linux.
06:39
<
zao >
But that's stalled since forever.
06:41
<
nikunj >
btw how many tests have completed as of now
06:42
<
zao >
448 - tests.unit.parallel.segmented_algorithms.distributed.tcp.partitioned_vector_fill (Failed)
06:42
<
zao >
80 - tests.regressions.lcos_dir.wait_all_hang_1946 (Timeout)
06:42
<
zao >
96 - tests.regressions.parallel.static_chunker_2282 (Failed)
06:42
<
zao >
167 - tests.unit.components.distributed.tcp.migrate_component (Failed)
06:42
<
zao >
96 and 167 also timed out, I just killed them early.
06:43
<
zao >
Thanks to HPX being HPX, you can't really trust a single test run, as some of them are flaky, or HPX is flaky.
06:44
<
nikunj >
so in total 6 tests failed. that's a 100% jump from my pc
06:44
<
nikunj >
in which 3 tests failed 2 of which timed out
06:44
<
zao >
I had four test failures, this is the complete summary.
06:45
<
nikunj >
ok, what do you think can be the underlined issue?
06:45
<
zao >
Absolutely no idea. Particularly not on a platform that's not regularly tested.
06:46
<
zao >
See if regular HPX master fails in similar ways.
06:46
<
nikunj >
ok, I'll wait for hkaiser to review it
06:50
<
nikunj >
I've built hpx multiple times
06:50
<
nikunj >
didn't get any errors there
06:51
<
zao >
Try the tests then, see what they do, see if it's debuggable or reproducable.
07:10
jaafar has quit [Ping timeout: 240 seconds]
08:11
anushi has quit [Ping timeout: 260 seconds]
09:06
<
github >
hpx/gh-pages 199e005 StellarBot: Updating docs
09:35
anushi has joined #ste||ar
10:34
anushi has quit [Read error: Connection reset by peer]
10:41
anushi has joined #ste||ar
10:55
nikunj97 has joined #ste||ar
10:56
nikunj has quit [Ping timeout: 256 seconds]
11:09
anushi has quit [Ping timeout: 260 seconds]
11:36
anushi has joined #ste||ar
11:41
quaz0r has quit [Ping timeout: 260 seconds]
11:55
quaz0r has joined #ste||ar
11:55
K-ballo has joined #ste||ar
12:38
hkaiser has joined #ste||ar
12:54
quaz0r has quit [Ping timeout: 256 seconds]
12:55
quaz0r has joined #ste||ar
13:43
anushi has quit [Ping timeout: 240 seconds]
13:52
jakub_golinowski has joined #ste||ar
14:22
nikunj97 has quit [Quit: Leaving]
14:24
nikunj has joined #ste||ar
14:46
diehlpk has joined #ste||ar
14:55
diehlpk has quit [Ping timeout: 240 seconds]
15:03
anushi has joined #ste||ar
15:13
jakub_golinowski has quit [Ping timeout: 240 seconds]
15:26
jakub_golinowski has joined #ste||ar
15:29
anushi has quit [Ping timeout: 265 seconds]
15:31
anushi has joined #ste||ar
16:24
jaafar has joined #ste||ar
16:31
anushi has quit [Ping timeout: 265 seconds]
16:36
anushi has joined #ste||ar
17:05
anushi has quit [Ping timeout: 276 seconds]
17:05
anushi has joined #ste||ar
17:27
anushi has quit [Remote host closed the connection]
17:32
anushi has joined #ste||ar
19:27
jaafar has quit [Ping timeout: 276 seconds]
19:32
diehlpk has joined #ste||ar
19:50
jakub_golinowski has quit [Ping timeout: 240 seconds]
20:01
jaafar has joined #ste||ar
20:19
jaafar has quit [Ping timeout: 256 seconds]
20:40
jaafar has joined #ste||ar
20:46
jaafar has quit [Ping timeout: 248 seconds]
21:07
jaafar has joined #ste||ar
21:44
jaafar has quit [Ping timeout: 264 seconds]
23:59
<
nikunj >
diehlpk: did you receive my mail?