Walkingmind / embox

Automatically exported from code.google.com/p/embox
2 stars 0 forks source link

!sched_in_interrupt() / !critical_inside(CRITICAL_IRQ_LOCK) assertion failed #673

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.r12379,ppc/debug
2.patch conf/mods.config as follow:
$ diff conf/mods.config templates/ppc/debug/mods.config 
24d23
<   include embox.driver.tty.tty
32c31,32
< 

---
>   @Runlevel(3) include embox.init.start_script
>   //include embox.cmd.sh.tish
34,35d33
<   @Runlevel(3) include embox.cmd.sh.tish(prompt="$ ", rich_prompt_support=1, 
builtin_commands="cd export mount")
<   @Runlevel(3) include embox.init.start_script(shell_name="tish", 
tty_dev="ttyS0", input_buffer=80, shell_start=1)
3.run embox

What is the expected output? What do you see instead?
runlevel: init level is 2
    unit: initializing embox.init.start_script: 
Started shell [tish] on device [ttyS0]
loading start script:

  ______
 |  ____|                                            __          __
 | |___  _ __ ___            ____  ____  ____  _____/ /   _____ / /
 |  ___|| '_ ` _ \          / __ \/ __ \/ __ \/ ___/ /   |_____| |
 | |____| | | | | |_ _ _   / /_/ / /_/ / /_/ (__  )_/    |_____| |
 |______|_| |_| |_(_|_|_)  \____/\____/ .___/____(_)           | |
                                     /_/                        \_\
 ASSERTION FAILED on CPU 0
    at src/kernel/sched/sched.c:384
    in function __schedule

!sched_in_interrupt()

--------------------------------------------------------
or so:

runlevel: init level is 2
    unit: initializing embox.init.start_script: 
Started shell [tish] on device [ttyS0]
loading start script:

  ______
 |  ____|                                            __          __
 | |___  _ __ ___            ____  ____  ____  _____/ /   _____ / /
 |  ___|| '_ ` _ \          / __ \/ __ \/ __ \/ ___/ /   |_____| |
 | |____| | | | | |_ _ _   / /_/ / /_/ / /_/ (__  )_/    |_____| |
 |______|_| |_| |_(_|_|_)  \____/\____/ .___/____(_)           | |
                                     /_/                        \_\
 ASSERTION FAILED on CPU 0
    at src/arch/ppc/kernel/irq_handler.c:14
    in function irq_handler

!critical_inside(CRITICAL_IRQ_LOCK)

Backtrace:
(gdb) bt
#0  arch_shutdown (mode=ARCH_SHUTDOWN_MODE_ABORT)
    at src/arch/ppc/kernel/arch.c:17
#1  0x000435cc in __assertion_handle_failure (
    point=0x60190 <__assertion_point.1601>)
    at src/lib/libc/assert/assert.c:63
#2  0x000037c0 in irq_handler (irq=10)
    at src/arch/ppc/kernel/irq_handler.c:14
#3  0x00003570 in irq_stub () at src/arch/ppc/kernel/irq_entry.S:17
Backtrace stopped: frame did not save the PC

Please use labels and text to provide additional information.
i think this bugs have the same cause
qemu 1.7.50, gcc 4.8.2

Original issue reported on code.google.com by ki.stfu on 15 Jan 2014 at 7:13

GoogleCodeExporter commented 9 years ago
seems that it not reproduced after r12393 (but it isn't a fix!)

Original comment by ki.stfu on 15 Jan 2014 at 11:46

GoogleCodeExporter commented 9 years ago
Issue 676 has been merged into this issue.

Original comment by ki.stfu on 24 Jan 2014 at 2:23

GoogleCodeExporter commented 9 years ago
fixed by r12511

Original comment by ki.stfu on 24 Jan 2014 at 2:24