Skip to content

[memory_tools] Verbosity level quiet is not working properly #80

Open
@knorth55

Description

@knorth55

It seems verbosity level quiet is not working properly.

I add printf in dispatch_callback.cpp and check the callback_prt and service.

I don't know why but callback_ptr changed and service.ignored is rewrite to 0, which causes this issue.
I tried to solve this issue, but I could not find the cause...

before callback: callback_ptr: 0x55f00f880850
before callback: service: 0x7f97db7fd070
before callback: service.ignored: 1
before callback: callback_ptr: 0x55f00f880880
before callback: service: 0x7f97db7fd070
before callback: service.ignored: 0
after callback: service: 0x7f97db7fd070
after callback: service.ignored: 0
after callback: service: 0x7f97db7fd070
after callback: service.ignored: 0

How to check this issue

Please use this PR for printing
#81

Then, I changed as below to show the print output.

--- a/osrf_testing_tools_cpp/src/memory_tools/dispatch_callback.hpp
+++ b/osrf_testing_tools_cpp/src/memory_tools/dispatch_callback.hpp
@@ -38,9 +38,14 @@ dispatch_callback(
     return;
   }
   auto callback_ptr = std::get_if<MemoryToolsCallback>(callback);
+  printf("before callback: callback_ptr: %p\n", callback_ptr);
+  printf("before callback: service: %p\n", &service);
+  printf("before callback: service.ignored: %d\n", service.get_ignored());
   if (callback_ptr) {
     (*callback_ptr)(service);
   }
+  printf("after callback: service: %p\n", &service);
+  printf("after callback: service.ignored: %d\n", service.get_ignored());
   auto simple_callback_ptr = std::get_if<MemoryToolsSimpleCallback>(callback);
   if (simple_callback_ptr) {
     (*simple_callback_ptr)();

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