kayws426 / embox

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

simple typing #637

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.r10595, x86/nonvga_debug
2.run embox and try typing anything
3.

What is the expected output? What do you see instead?
root@embox:/#werwersdff
ASSERTION FAILED at ./src/include/util/ring.h : 153,
    in function ring_just_read:

read_size <= ring_can_read(r, r_size, read_size)
kernel debug panic

Backtrace:

     sp        pc         func + offset
     --------  --------  --------------------------
 30  01140a28  0019b019  <__assertion_handle_failure+0x73>
 29  01140a68  0014472e  <ring_just_read+0x42>
 28  01140a88  001448be  <dev_uart_write+0x78>
 27  01140ab8  00149ae8  <kwrite+0xaf>
 26  01140ae8  0015928e  <this_write+0x4b>
 25  01140b08  0019ddae  <write+0xe4>
 24  01140b38  0015f7be  <linenoiseEditInsert+0xb5>
 23  01140b68  0015ffb4  <linenoiseEdit+0x38c>
 22  01140bc8  00160135  <linenoiseRaw+0xd6>
 21  01140c08  0016022c  <linenoise+0xd8>
 20  01141c38  0015e7d9  <readline+0x1e>
 19  01141c58  00120ca6  <tish_run+0x60>
 18  01141ca8  00120d84  <shell_run+0x2c>
 17  01141cb8  00120f6f  <run_script+0xda>
 16  01141ce8  00140a13  <unit_mod_enable+0x53>
 15  01141d18  00140f38  <invoke_mod_enable+0x3d>
 14  01141d48  0014103a  <do_enable+0x53>
 13  01141d78  00140e43  <mod_traverse_rec_safe+0x131>
 12  01141dc8  00140b39  <mod_enable_rec_safe+0x34>
 11  01141df8  00140b54  <mod_enable+0x19>
 10  01141e18  001407db  <rl_mod_enable+0x43>
  9  01141e58  00140f38  <invoke_mod_enable+0x3d>
  8  01141e88  0014103a  <do_enable+0x53>
  7  01141eb8  00140e43  <mod_traverse_rec_safe+0x131>
  6  01141f08  00140b39  <mod_enable_rec_safe+0x34>
  5  01141f38  00140b54  <mod_enable+0x19>
  4  01141f58  0014094e  <runlevel_enter+0x35>
  3  01141f88  001408de  <runlevel_set+0x24>
  2  01141fb8  001000ff  <init+0x24>
  1  01141fe8  001000bd  <kernel_start+0x10>

QEMU: Terminated

Please use labels and text to provide additional information.

Original issue reported on code.google.com by ki.stfu on 20 Aug 2013 at 4:00

GoogleCodeExporter commented 9 years ago
Reason in tty output buffer. Getting tty output from tty isn't guarded from 
concurrent access. dev_uart_write uses tty->o_ring from process, tty->o_ring 
used by worker (softirq). 

Behaviour fixed in r10599 via tty_out_getc. 
Before: buffer checked for symbol, if any, uart_putc called (long), buffer 
adjusted. Repeat.
Now: buffer checked and symbol got, if any. uart_putc called. Repeat.

Original comment by drakon.m...@gmail.com on 20 Aug 2013 at 5:38

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago

Original comment by sikmir on 29 Nov 2014 at 10:04