Hi
I'm using the TcpSocket ::write to send packets back to a python program. Once the program received the packet, I see that my controller CPU is at a high load (increased from ~3% to 95+%). Any clue why this is happening? The only piece of code I ran was:
   const Msg_event& me = assert_cast<const Msg_event&>(e);
   Nonowning_buffer buf = ((uint8_t*)rspec_str, strlen(rspec_str));
   printf("Writing buffer of size %d\n", strlen(rspec_str));
   count_written = me.sock->write(*buf, 0);
   printf("Bytes written: %d\n", count_written);
   free(rspec_str);
   printf("Done freeing\n");

I added a few ugly printf messages in the threads/impl.cc. I see that my quiet system explodes after the write operation and repeats one set of code block in an infinite loop.

Log:
----

Writing buffer of size 56
--> co_might_yield_if 0
Bytes written: 56
Done freeing
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0

----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0

----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0

----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0

----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0



_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to