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

Issue with eval_ckpt_opt_level=2 Causing Compilation Error #14

Open
Minamoto25 opened this issue Dec 10, 2024 · 0 comments
Open

Issue with eval_ckpt_opt_level=2 Causing Compilation Error #14

Minamoto25 opened this issue Dec 10, 2024 · 0 comments

Comments

@Minamoto25
Copy link

I found that by default, the eval_ckpt_opt_level in build_configs.yaml is set to 1. With this setting, I can successfully compile and run the program. However, when I change the value to 2, I encounter the following error:

# build_PhOS-Core.log
In file included from ../pos/include/workspace.h:32,
                 from ../pos/src/worker.cpp:27:
../pos/include/client.h:535:93: note: format string is defined here
  535 |                 "no handle manager with specified type registered, this is a bug: type_id(%lu)", rid
      |                                                                                           ~~^
      |                                                                                             |
      |                                                                                             long unsigned int
      |                                                                                           %u
../pos/src/worker.cpp: In member function ‘void POSWorker::__checkpoint_async_thread()’:
../pos/src/worker.cpp:540:23: error: ‘POSCommand_QE_t’ {aka ‘struct POSCommand_QE’} has no member named ‘checkpoint_handles’
  540 |     for(set_iter=cmd->checkpoint_handles.begin(); set_iter!=cmd->checkpoint_handles.end(); set_iter++){
      |                       ^~~~~~~~~~~~~~~~~~
../pos/src/worker.cpp:540:66: error: ‘POSCommand_QE_t’ {aka ‘struct POSCommand_QE’} has no member named ‘checkpoint_handles’
  540 |     for(set_iter=cmd->checkpoint_handles.begin(); set_iter!=cmd->checkpoint_handles.end(); set_iter++){
      |                                                                  ^~~~~~~~~~~~~~~~~~

In file included from ../pos/src/worker.cpp:25:
../pos/src/worker.cpp: In member function ‘pos_retval_t POSWorker::__process_cmd(POSCommand_QE_t*)’:
../pos/src/worker.cpp:721:26: error: ‘POSCommand_QE_t’ {aka ‘struct POSCommand_QE’} has no member named ‘checkpoint_handles’
  721 |         if(unlikely(cmd->checkpoint_handles.size() == 0)){
      |                          ^~~~~~~~~~~~~~~~~~
../pos/include/common.h:27:49: note: in definition of macro ‘unlikely’
   27 |     #define unlikely(x)     __builtin_expect(!!(x), 0)
      |                                                 ^
../pos/src/worker.cpp:768:36: error: ‘POSCommand_QE_t’ {aka ‘struct POSCommand_QE’} has no member named ‘checkpoint_handles’
  768 |         for(handle_set_iter = cmd->checkpoint_handles.begin();
      |                                    ^~~~~~~~~~~~~~~~~~
../pos/src/worker.cpp:769:37: error: ‘POSCommand_QE_t’ {aka ‘struct POSCommand_QE’} has no member named ‘checkpoint_handles’
  769 |             handle_set_iter != cmd->checkpoint_handles.end();
      |                                     ^~~~~~~~~~~~~~~~~~

It seems that the POSCommand_QE_t structure indeed does not contain a member named checkpoint_handles.
As I understand, setting this optimization level to 2 is intended to enable more advanced optimizations (e.g., asynchronous checkpointing). Is this correct? Could you please provide guidance on how to compile and run the program with this setting?

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

1 participant