Hi,

After long debugging of my code I’ve found that calling hex::async on an 
Actions that allocates some data in the stack results in SEG_FAULT. The same is 
not true if I use simple (local) function calls.

Here is my code:

———————————

int test(){
  char filename[64*1024];

  printf("DONE\n");
  return 0;

}

HPX_PLAIN_ACTION(testio)

int hpx_main(boost::program_options::variables_map& vm)
{
  hpx::parallel::execution::default_executor fancy_executor(
            hpx::threads::thread_priority_high,
            hpx::threads::thread_stacksize_large);

  testio_action act;
  hpx::future<int> out = hpx::async(fancy_executor, act, hpx::find_here());

  out.get();
   
  return hpx::finalize();
}
———————————

This code results in a SEG_FAULT in test().

Instead if I use the same function test() as a local call with:
  hpx::future<int> out = hpx::async(fancy_executor, &testio);

Works correctly.

What is going wrong using the Action? Should I add any settings to my executor 
or to HPX to tell that my actions require a bit more stack allocation?

Thank you,
Steve




_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to