Open evan-charmworks opened 5 years ago
Original date: 2018-10-26 21:49:55
The proposed solution is to provide an interface through which users register any function pointers they will use in Callbacks, and the runtime registers them in tables. The index to that table becomes the global ID through which the function pointer is looked up.
A shorter term goal would be to detect these errors at runtime and output a message about disabling ASLR if possible.
Related to #159
Is this now fixed by #2731? @evan-charmworks
call1Fn
and callCFn
callback types entirely and the build failed in ck-core/
. Those cases are either not used in a way that causes the issue, or require special steps to cause the issue that have not been reported. Further work could still be done, for example to add warnings if a case that causes the problem is detected.Unscheduling because ASLR workarounds and proper documentation are both in place.
Original issue: https://charm.cs.illinois.edu/redmine/issues/2018
For example, running
examples/charm++/wave2d
across two or more hosts on AArch64 results in:(This callback originates from the liveViz implementation.)
If this error check is disabled, a segfault results, because messages containing callbacks of type
call1Fn
orcallCFn
include raw function pointers which are not guaranteed to be the same across hosts.