Skip to content

Issue with eval_ckpt_opt_level=2 Causing Compilation Error #14

@Minamoto25

Description

@Minamoto25

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions