[okl4-developer] second wombat

Ashish Bijlani ashish.bijlani at gmail.com
Mon Oct 6 17:54:33 EST 2008


I get Error Code = 2 for L_syscall and L2_syscall



> showtcbext
tcb/tid/name [current]: L1
No thread named: L1
> showtcbext
tcb/tid/name [current]: L_syscall
=== L_syscall == TCB: f00309a0 == ID: 00020001 = e0501e00/e0501e00 ==
APRIO/EPRIO: 0x63/0x63 ===
UIP: 810b9a2c   queues: rB      space: f01049f8/5   pager: roottask
USP: 811cc5cc   tstate: WAIT_FOREVER  ready: NIL_THRD:NIL_THRD   pdir : f0105900
sndhd : NIL_THRD  blocked : L_syscal:L_syscal   waiting_for : L_timer
ts length  :       0x2710 us, curr ts: 0x2710 us
resources:    00000000 [ek], ARM [PID: 0, vspace: 1, domain: 10,
dom_mask 55510001]
continuation: f0002428   preemption_cont: 00000000
scheduler: L_syscal    exception_handler: roottask
  partner: L_timer        saved partner: NIL_THRD      saved state: ABORTED
  tcb_idx: 7
references: T f010184c->f0031380(I)->f0031420(I)->f0031358(I)->f00310c0(I)->f0031160(I)->f0031098(I)->f0030f60(I)->f0031000(I)->f0030f38(I)->f0030ca0(I)->f0030d40(I)->f0030c78(I)->f010844c(I)->f0030a80(I)

user handle:          00000000  cop flags:           00
preempt flags: 00 [~]
incoming notify bits: 00000000  notify mask:         00000000
last preempted_ip:    810040c4  preempt_callback_ip: 810041f8

mr( 0): 00000000 811cc648 811cc604 811cc608 811c4640 811cc648 01e97d44 000000c0
mr( 8): 00002654 00988e78 01e97d44 0002cef4 ef900066 40000010 00000000 00000000
mr(16): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr(24): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Message Tag: 0 untyped, label = 0, flags = -

Acceptor: 00000000 (a)  Error code: 2






> showtcbext
tcb/tid/name [current]: L2_syscall
=== L2_syscall == TCB: f0030b00 == ID: 00024001 = e0601e00/e0601e00 ==
APRIO/EPRIO: 0x63/0x63 ===
UIP: 81eb99c8   queues: rb      space: f0104910/6   pager: roottask
USP: 8282ff60   tstate: WAIT_FOREVER  ready: NIL_THRD:NIL_THRD   pdir : f0105800
sndhd : NIL_THRD  blocked : NIL_THRD:NIL_THRD   waiting_for : NIL_THRD
ts length  :       0x2710 us, curr ts: 0x2710 us
resources:    00000000 [ek], ARM [PID: 0, vspace: 1, domain: 5, dom_mask 401]
continuation: f0002428   preemption_cont: 00000000
scheduler: L2_sysca    exception_handler: roottask
  partner: ANY_THRD        saved partner: NIL_THRD      saved state: ABORTED
  tcb_idx: 8
references: T f0101854->f0030e00(I)->f0030ea0(I)->f0030dd8(I)->f0030be0(I)

user handle:          00000000  cop flags:           00
preempt flags: 00 [~]
incoming notify bits: 00000000  notify mask:         00000000
last preempted_ip:    81e07844  preempt_callback_ip: 81e042ec

mr( 0): 00000000 00000001 8282c000 00000000 8282c05c 81fbb4ec 8002c380 00000000
mr( 8): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr(16): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr(24): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Message Tag: 0 untyped, label = 0, flags = -

Acceptor: 00000000 (a)  Error code: 2


Upon debugging more I found out the Error Code 2 comes because of this :

"
Mount-cache hash table entries: 512
current = L2_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L2_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L2_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

Mount-cache hash table entries: 512
current = L_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0

current = L_syscall
SYS_EXCHANGE_REGISTERS: dest=NIL_THRD, control=0x80 [~~~~~~~~~~],
usp=00000000, uip=00000000, uflags=00000000, uhandle=0
"

Is this normal? How do I fix this?

Thanks,
Ashish


On Sun, Oct 5, 2008 at 8:54 PM, Ashish Bijlani <ashish.bijlani at gmail.com> wrote:
>> showtcbext
> tcb/tid/name [current]: L2_1
> === L2_1 == TCB: f0030dc0 == ID: 0002c001 = e0801f00/e0801f00 ==
> APRIO/EPRIO: 0x62/0x62 ===
> UIP: 00800bd0   queues: Rb      space: f0104740/8   pager: L2_syscall
> USP: 01c26f30   tstate: RUNNING   ready: L2_1    :L2_1       pdir : f0105600
> sndhd : NIL_THRD  blocked : NIL_THRD:NIL_THRD   waiting_for : NIL_THRD
> ts length  :       0x2710 us, curr ts: 0x2710 us
> resources:    00000000 [ek], ARM [PID: 31, vspace: 0, domain: 7, dom_mask 4001]
> continuation: ffff0cf4   preemption_cont: 00000000
> scheduler: L2_sysca    exception_handler: L2_sysca
>  partner: NIL_THRD        saved partner: NIL_THRD      saved state: ABORTED
>  tcb_idx: a
> references: T f0101864
>
> user handle:          00000000  cop flags:           00
> preempt flags: 00 [~]
> incoming notify bits: 00000000  notify mask:         00000000
> last preempted_ip:    00000000  preempt_callback_ip: 00000000
>
> mr( 0): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> mr( 8): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> mr(16): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> mr(24): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> Message Tag: 0 untyped, label = 0, flags = -
>
> Acceptor: 00000000 (a)  Error code: 0
>
>
> On Sun, Oct 5, 2008 at 8:51 PM, Ashish Bijlani <ashish.bijlani at gmail.com> wrote:
>> Hi,
>>
>> I'm running two wombats on emulated (skyeye) gumstix platform.
>> However, the wombat that boots up last doesn't prints any msgs on the
>> serial console. AFAIK, once linux starts "init" process msgs over
>> serial console appear through vserial server/client model and not
>> through L4KDB. However, the latter wombat either doesn't get serial
>> console to dump msgs or it is blocked on some event; I'm not sure
>> though. I've modified vserial server in iguana to make the latter
>> wombat's vserial client as the active_virtual client, but I don't see
>> any output. What could be the reason?
>>
>> snippet from vserial to make the last wombat as active_virtual
>>
>> "
>>    for (i = 0; i < 4; i++)
>>    {
>>        if (virtual_device_instance[i].valid_instance)
>>        {
>>            virtual_device_instance[i].serial_device = (void *)(serial_device);
>>            // XXX virtual_device_instance[i].thread = *thread;
>>            // XXX virtual_device_instance[i].mask = mask;
>>
>>            virtual_device_instance[i].si_start =
>> virtual_device_instance[i].si_end = NULL;
>>            virtual_device_instance[i].si_comp_end =
>> virtual_device_instance[i].si_comp_start = NULL;
>>
>>            if (serial_device->active_virtual == NULL)
>>            {
>>                serial_device->active_virtual    = &virtual_device_instance[i];
>>                serial_device->last_virtual      = &virtual_device_instance[i];
>>            }
>>            else
>>            {
>>                serial_device->active_virtual    = &virtual_device_instance[i];
>>                serial_device->last_virtual->next = &virtual_device_instance[i];
>>                serial_device->last_virtual       = &virtual_device_instance[i];
>>            }
>>        }
>>    }
>> "
>>
>> Output snippet
>>
>> "
>> NET: Registered protocol family 15
>> VFS: Mounted root (ext2 filesystem) readonly.
>> PXA FFUART IRQ: 33
>> vserial: init done (handle: 0, owner: 18001, mask: 2)
>>
>>  Client:  0x0
>> io scheduler noop registered
>> io scheduler anticipatory registered
>> io scheduler deadline registered
>> io scheduler cfq registered (default)
>> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
>> loop: module loaded
>> tun: Universal TUN/TAP device driver, 1.6
>> tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
>>  igms0: unknown partition table
>> Iguana ramdisk driver initialized
>> kobject_add failed for ttyS0 with -EEXIST, don't try to register
>> things with the same name in the same directory.
>> This architecture does not implement dump_stack()
>> Iguana virtual serial driver v1.0
>> TCP cubic registered
>> NET: Registered protocol family 1
>> NET: Registered protocol family 17
>> NET: Registered protocol family 15
>> VFS: Mounted root (ext2 filesystem) readonly.
>> vserial: init done (handle: 1, owner: 1c001, mask: 2)
>>
>>  Client:  0x1c001
>> start_thread current = 8282bd60  pc = 800bd0, sp = 1c26f30
>>
>>  Client:  0x1c001
>>
>>  Client:  0x1c001
>>
>>  Client:  0x1c001
>>
>>  Client:  0x1c001
>>
>> "
>>
>> It doesn't prints anything after this. For the first "vserial: init
>> done (handle: 0, owner: 18001, mask: 2)" it shows Client as NULL.
>> Second time it shows the correct client.
>>
>>
>>> showqueue
>> Key: (X) blocked, <X> on CPU, {X} halted, !X! aborted
>>
>> [255]:
>> WAIT_FOREVER
>>  (roottask)
>>
>> [240]:
>> WAIT_FOREVER
>>  (vtimer)
>> WAIT_FOREVER
>>  (vrtc)
>>
>> [200]:
>> WAIT_FOREVER
>>  (event)
>>
>> [110]:
>> RUNNING
>>  <vserial>
>>
>> [100]:
>> WAIT_FOREVER
>> (L_timer)
>> WAIT_FOREVER
>> (L2_timer)
>>
>> [ 99]:
>> WAIT_FOREVER
>> (L_syscal)
>> WAIT_FOREVER
>> (L2_sysca)
>>
>> [ 98]:
>> WAIT_FOREVER
>> (L_1)
>> RUNNING
>> L2_1
>> WAIT_FOREVER
>> (L_49)
>> idle : idle_thread
>>
>> L2_1 represents the init process in wombat 2. This always shows L2_1
>> as RUNNING. But doesn't prints it within "<" and ">".
>>
>> Thanks,
>> Ashish
>>
>



More information about the Developer mailing list