-
-
Save nuta/9240103c40ad91be798d to your computer and use it in GitHub Desktop.
Resea: bugs in synchronized recv()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[35mGEN[00m include/version.h | |
[35mCC[00m hal/intel64/start.o (from .S) | |
[35mCC[00m hal/intel64/c.o (from .S) | |
[35mCC[00m hal/intel64/handler.o (from .S) | |
[35mCC[00m hal/intel64/init.o | |
[35mCC[00m hal/intel64/print.o | |
[35mCC[00m hal/intel64/cpu.o | |
[35mCC[00m hal/intel64/gdt.o | |
[35mCC[00m hal/intel64/idt.o | |
[35mCC[00m hal/intel64/tss.o | |
[35mCC[00m hal/intel64/localapic.o | |
[35mCC[00m hal/intel64/ioapic.o | |
[35mCC[00m hal/intel64/vm.o | |
[35mCC[00m hal/intel64/interrupt.o | |
[35mCC[00m hal/intel64/exception.o | |
[35mCC[00m hal/intel64/thread.o | |
[35mCC[00m hal/intel64/smp.o | |
[35mCC[00m hal/intel64/pic.o | |
[35mCC[00m hal/intel64/io.o | |
[35mCC[00m base/char.o | |
[35mCC[00m base/global.o | |
[35mCC[00m base/init.o | |
[35mCC[00m base/interrupt.o | |
[35mCC[00m base/list.o | |
[35mCC[00m base/math.o | |
[35mCC[00m base/memory.o | |
[35mCC[00m base/post.o | |
[35mCC[00m base/print.o | |
[35mCC[00m base/start.o | |
[35mCC[00m base/string.o | |
[35mCC[00m base/syscall.o | |
[35mCC[00m base/thread.o | |
[35mCC[00m base/vprintf.o | |
[35mCC[00m libresea/cstr.o | |
[35mCC[00m libresea/hal/intel64.o | |
[35mCC[00m libresea/init.o | |
[35mCC[00m libresea/list.o | |
[35mCC[00m libresea/memory.o | |
[35mCC[00m libresea/msg.o | |
[35mCC[00m libresea/post.o | |
[35mCC[00m libresea/service.o | |
[35mCC[00m libresea/syscall.o | |
[35mCC[00m libresea/thread.o | |
[35mCC[00m libresea/hal/intel64_asm.o (from .S) | |
[35mCC[00m servers/base/main.o | |
[35mCC[00m servers/base/interrupt.o | |
[35mCC[00m servers/base/test.o | |
[35mCC[00m servers/vtimer/main.o | |
[35mCC[00m servers/vtimer/test.o | |
[35mCC[00m servers/device/timer/localapic/main.o | |
[35mCC[00m servers/device/timer/localapic/test.o | |
[35mCC[00m servers/io/main.o | |
[35mCC[00m servers/io/test.o | |
[35mCC[00m servers/device/bus/pci/main.o | |
[35mCC[00m servers/device/bus/pci/lookup.o | |
[35mCC[00m servers/device/bus/pci/test.o | |
[35mKERNEL_LD[00m hal/intel64/kernel-intel64.kernel | |
[35mMKISO[00m hal/intel64/resea.iso | |
[35mGEN[00m hal/intel64/kernel-intel64.sym | |
QEMU 2.1.2 monitor - type 'help' for more information | |
(qemu) [kernel/init_base] Resea revision 88b7dbc | |
[kernel/report_memory_info] physical memory area #0: | |
[kernel/report_memory_info] | base_addr: 0x2002000, size: 16MB | |
[kernel/init_base] starting... | |
[kernel/create_thread] new thread #1: /base (master: #0) | |
[kernel/sys_await] setting handler of /base [1] | |
[kernel/sys_await] setting handler of /base [2] | |
[kernel/create_thread] new thread #2: start_builtin_servers (master: #0) | |
[kernel/_switch_thread] --> #2 (start_builtin_servers) | |
[kernel/create_thread] new thread #3: /io (master: #0) | |
[kernel/create_thread] new thread #4: /device/bus/pci (master: #0) | |
[kernel/delete_thread] deleting #2 (start_builtin_servers) | |
[kernel/_switch_thread] --> #4 (/device/bus/pci) | |
[kernel/sys_await] setting handler of /device/bus/pci [2] | |
[/libresea] DEBUG: starting #4, #4 | |
[kernel/sys_await] setting handler of /device/bus/pci [3] | |
[/device/bus/pci] DEBUG: registering | |
[kernel/create_thread] new thread #5: post_handler (master: #1) | |
[kernel/sys_send] sending: /device/bus/pci -> /base | |
[kernel/_switch_thread] --> #5 (post_handler) | |
[/base] DEBUG: received a message from /device/bus/pci (5) | |
[/base] DEBUG: registering new service: 0x4020000 (@4 #4 /device/bus/pci) | |
[kernel/create_thread] new thread #6: post_handler (master: #4) | |
[kernel/sys_send] sending: /base -> /device/bus/pci | |
[/base] DEBUG: registered new service: 0x4020000 (@4, #4) | |
[kernel/handler_entry] exiting #5 | |
[kernel/delete_thread] deleting #5 (post_handler) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/sys_await] setting handler of /io [2] | |
[/libresea] DEBUG: starting #3, #3 | |
[kernel/sys_await] setting handler of /io [3] | |
[kernel/create_thread] new thread #7: post_handler (master: #1) | |
[kernel/sys_send] sending: /io -> /base | |
[kernel/_switch_thread] --> #4 (/device/bus/pci) | |
[/libresea] DEBUG: taking reader lock... | |
[/libresea] DEBUG: receiving i: 1, thread: 3 -------------------------- | |
[kernel/create_thread] new thread #8: post_handler (master: #1) | |
[kernel/sys_send] sending: /device/bus/pci -> /base | |
[kernel/_switch_thread] --> #6 (post_handler) | |
[/libresea] DEBUG: common_recv_handler: received #4 @2 | |
[/libresea] DEBUG: common_recv_handler: taking lock (i: 0, thread: 4) ======================== | |
[/libresea] DEBUG: common_recv_handler: unblockThreadByPost(#4,@2) | |
[kernel/create_thread] new thread #9: post_handler (master: #1) | |
[kernel/sys_send] sending: /device/bus/pci -> /base | |
[kernel/_switch_thread] --> #7 (post_handler) | |
[/base] DEBUG: received a message from /io (5) | |
[/base] DEBUG: registering new service: 0x7000000 (@3 #3 /io) | |
[kernel/create_thread] new thread #10: post_handler (master: #3) | |
[kernel/sys_send] sending: /base -> /io | |
[/base] DEBUG: registered new service: 0x7000000 (@3, #3) | |
[kernel/handler_entry] exiting #7 | |
[kernel/delete_thread] deleting #7 (post_handler) | |
[kernel/_switch_thread] --> #9 (post_handler) | |
[/base] DEBUG: received a message from post_handler (19) | |
[/base] DEBUG: unblocking thread by post in post_handler (/device/bus/pci) | |
[kernel/unblock_thread_by_post] ******************** UNBLOCK: #0 0x2014140 (2) | |
[kernel/handler_entry] exiting #9 | |
[kernel/delete_thread] deleting #9 (post_handler) | |
[kernel/_switch_thread] --> #3 (/io) | |
[/libresea] DEBUG: taking reader lock... | |
[kernel/_switch_thread] --> #4 (/device/bus/pci) | |
[kernel/_switch_thread] --> #6 (post_handler) | |
[kernel/handler_entry] exiting #6 | |
[kernel/delete_thread] deleting #6 (post_handler) | |
[kernel/_switch_thread] --> #10 (post_handler) | |
[/libresea] DEBUG: common_recv_handler: received #3 @2 | |
[/libresea] DEBUG: common_recv_handler: taking lock (i: 1, thread: 3) ======================== | |
[/libresea] DEBUG: common_recv_handler: unblockThreadByPost(#3,@2) | |
[kernel/create_thread] new thread #11: post_handler (master: #1) | |
[kernel/sys_send] sending: /io -> /base | |
[kernel/_switch_thread] --> #11 (post_handler) | |
[/base] DEBUG: received a message from post_handler (19) | |
[/base] DEBUG: unblocking thread by post in post_handler (/io) | |
[kernel/unblock_thread_by_post] ******************** UNBLOCK: #0 0x2014140 (2) | |
[kernel/handler_entry] exiting #11 | |
[kernel/delete_thread] deleting #11 (post_handler) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #4 (/device/bus/pci) | |
[kernel/_switch_thread] --> #8 (post_handler) | |
[/base] DEBUG: received a message from /device/bus/pci (18) | |
[/base] DEBUG: blocking sender thread: /device/bus/pci | |
[kernel/block_sender_thread] ********************** BLOCK: 4 /device/bus/pci 0x2014140 (2) | |
[/base] DEBUG: blocked | |
[kernel/handler_entry] exiting #8 | |
[kernel/delete_thread] deleting #8 (post_handler) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #10 (post_handler) | |
[kernel/handler_entry] exiting #10 | |
[kernel/delete_thread] deleting #10 (post_handler) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/io) | |
[kernel/_switch_thread] --> #3 (/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment