Opened 15 years ago

Last modified 14 years ago

#224 closed defect

Kernel crashed in clock() — at Version 2

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.4.3
Component: helenos/kernel/generic Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description (last modified by Martin Decky)

Changeset:mainline,398, default ia32 build, 5 CPUs, Qemu, crashed in clock(). See the attached screenshot for the stack trace and also the attached kernel disassembler output for address reference.

Change History (4)

by Jakub Jermář, 15 years ago

Attachment: kernelcrash.png added

Screenshot with the stack trace.

by Jakub Jermář, 15 years ago

Attachment: kernel.raw.bz2 added

comment:1 by Jakub Jermář, 15 years ago

This is the piece of clock() which was executing when the system crashed:

8012f614:       8b 43 04                mov    0x4(%ebx),%eax
8012f617:       8b 13                   mov    (%ebx),%edx
8012f619:       89 10                   mov    %edx,(%eax)           <==== crashed here
8012f61b:       8b 13                   mov    (%ebx),%edx
8012f61d:       89 42 04                mov    %eax,0x4(%edx)
8012f620:       c7 03 00 00 00 00       movl   $0x0,(%ebx)
8012f626:       c7 43 04 00 00 00 00    movl   $0x0,0x4(%ebx)
8012f62d:       8b 46 18                mov    0x18(%esi),%eax
8012f630:       89 45 e0                mov    %eax,-0x20(%ebp)
8012f633:       8b 56 1c                mov    0x1c(%esi),%edx
8012f636:       89 55 e4                mov    %edx,-0x1c(%ebp)
8012f639:       89 34 24                mov    %esi,(%esp)
8012f63c:       e8 db 02 00 00          call   8012f91c <timeout_reinitialize>

Trying to match this on the C source, it looks like the following piece of clock():

                        list_remove(l);                              <==== crashed here
                        f = h->handler;
                        arg = h->arg;
                        timeout_reinitialize(h);

comment:2 by Martin Decky, 15 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.