Skip to content

Instantly share code, notes, and snippets.

@nuta
Created November 23, 2014 14:35
Show Gist options
  • Save nuta/9240103c40ad91be798d to your computer and use it in GitHub Desktop.
Save nuta/9240103c40ad91be798d to your computer and use it in GitHub Desktop.
Resea: bugs in synchronized recv()
GEN include/version.h
CC hal/intel64/start.o (from .S)
CC hal/intel64/c.o (from .S)
CC hal/intel64/handler.o (from .S)
CC hal/intel64/init.o
CC hal/intel64/print.o
CC hal/intel64/cpu.o
CC hal/intel64/gdt.o
CC hal/intel64/idt.o
CC hal/intel64/tss.o
CC hal/intel64/localapic.o
CC hal/intel64/ioapic.o
CC hal/intel64/vm.o
CC hal/intel64/interrupt.o
CC hal/intel64/exception.o
CC hal/intel64/thread.o
CC hal/intel64/smp.o
CC hal/intel64/pic.o
CC hal/intel64/io.o
CC base/char.o
CC base/global.o
CC base/init.o
CC base/interrupt.o
CC base/list.o
CC base/math.o
CC base/memory.o
CC base/post.o
CC base/print.o
CC base/start.o
CC base/string.o
CC base/syscall.o
CC base/thread.o
CC base/vprintf.o
CC libresea/cstr.o
CC libresea/hal/intel64.o
CC libresea/init.o
CC libresea/list.o
CC libresea/memory.o
CC libresea/msg.o
CC libresea/post.o
CC libresea/service.o
CC libresea/syscall.o
CC libresea/thread.o
CC libresea/hal/intel64_asm.o (from .S)
CC servers/base/main.o
CC servers/base/interrupt.o
CC servers/base/test.o
CC servers/vtimer/main.o
CC servers/vtimer/test.o
CC servers/device/timer/localapic/main.o
CC servers/device/timer/localapic/test.o
CC servers/io/main.o
CC servers/io/test.o
CC servers/device/bus/pci/main.o
CC servers/device/bus/pci/lookup.o
CC servers/device/bus/pci/test.o
KERNEL_LD hal/intel64/kernel-intel64.kernel
MKISO hal/intel64/resea.iso
GEN 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