Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#80 closed bug (fixed)

Terminal hangs on large console output

Reported by: a.mottola@… Owned by: axeld
Priority: high Milestone: R1
Component: Applications Version:
Keywords: Cc: diver
Blocked By: Blocking:
Platform: All

Description

If a commandline app that outputs a lot of text is launched from the Terminal, the Terminal itself hangs, hogging most of the CPU. Killing the Terminal doesn't seem to work, the system is just slow as hell due to the CPU hog. You can reproduce the problem by launching listsem or listarea for example. The problem doesn't exist if these apps are launched from the fake_app_server/consoled combo.

Change History (28)

comment:1 by jackburton, 18 years ago

I can't reproduce this anymore, maybe it's been fixed ?

comment:2 by diver, 18 years ago

The bug is still there in rev16300. Testcase: listsem.

comment:3 by bpmagic@…, 18 years ago

It works for me as of hrev16344. I built the thing under R5 and both listsem and listarea work OK. I even did a cat output of a 1.8MB text file and while it did hit the CPU pretty good, it didn't max it out and everything seemed to work fine. Anyone else reporting issues?

comment:4 by sikosis, 18 years ago

If no one else reports this bug, I'll close it, due to mixed responses.

comment:5 by sikosis, 18 years ago

severity: normalminor

comment:6 by sikosis, 18 years ago

Status: newassigned

comment:7 by axeld, 18 years ago

Cc: axeld@… added

comment:8 by axeld, 18 years ago

Owner: changed from sikosis to axeld

comment:9 by axeld, 18 years ago

Status: assignednew

comment:10 by agildehaus@…, 18 years ago

I can no longer reproduce this with testcase "listarea" (it completes fine, whereas in some earlier build than 16823 it did not), but I can reproduce 100% CPU usage if I press a key during listarea's execution. Can anyone confirm? If so, I'll write out a seperate report for this.

comment:11 by diver, 18 years ago

(In reply to comment #4)

If no one else reports this bug, I'll close it, due to mixed responses.

I still can reproduce it by typing in terminal: cd \ find after 3-4 second Terminal will hang. listarea will also hang Terminal if you scroll while listarea writes to stdout. Tested with rev16877 under vmware.

comment:12 by marcusoverhagen, 18 years ago

Terminal easily hangs when trying to cat a large textfile, for example /var/log/syslog after a couple of system starts.

Window content isn't redrawn anymore, and CPU usage is very high.

at revision 16886 now.

comment:13 by marcusoverhagen, 18 years ago

severity: minornormal

comment:14 by marcusoverhagen, 18 years ago

Cc: marcus@… added

comment:15 by marcusoverhagen, 18 years ago

op_sys: AllHaiku

comment:16 by marcusoverhagen, 18 years ago

rep_platform: AllX86

comment:17 by diver, 18 years ago

Cc: diver added

comment:18 by korli, 18 years ago

bug_group: developers

comment:19 by marcusoverhagen, 18 years ago

blocked: 477

comment:20 by marcusoverhagen, 18 years ago

This bug is still standing in rev. 17447

It also makes debugging applications in haiku very hard.

For example, MediaPlayer when launched from Terminal, will print very much debug output in case an ogm file is loaded.

After a brief moment, MediaPlayer will freeze, as will all other Terminals that are open. Immediatelly, the whole system gets very unresponsive. Using "unreal" in KDL helps a little, at least Deskbar can be used again to shutdown the system.

Entering KLD shows that MediaPlayer is stuck in tty_write_to_tty:

Running on CPU 0 kdebug> sc stack trace for thread 0x107 "audio playback"

kernel stack: 0x9048a000 to 0x9048d000

user stack: 0x70082000 to 0x700c2000

frame caller <image>:function + offset 9048c978 (+ 48) 80077521 <kernel>:kernel_debugger_loop + 0x0109 9048c9a8 (+ 32) 80077eee <kernel>:kernel_debugger + 0x009a 9048c9c8 (+ 176) 80077e4a <kernel>:panic + 0x0036 9048ca78 (+ 48) 80384fab </boot/beos/system/add-ons/kernel/bus_managers/ps2>:ps2_interrupt + 0x00cb 9048caa8 (+ 64) 800276c2 <kernel>:int_io_interrupt_handler + 0x00b6 9048cae8 (+ 160) 8007d1b6 <kernel>:i386_handle_trap + 0x02e6 iframe at 0x9048cb90 (end = 0x9048cbe4)

eax 0x29 ebx 0x80178c94 ecx 0x80178fc8 edx 0x700ba77c esi 0x30 edi 0x1 ebp 0x9048cc84 esp 0x9048cbc0 eip 0x80176564 eflags 0x297 vector: 0x21, error code: 0x0

9048cb88 (+ 252) 80176564 </boot/beos/system/add-ons/kernel/drivers/dev/tty>:tty_write_to_ttyFP10tty_cookiePCvPUlb + 0x02fc 9048cc84 (+ 48) 8017751a </boot/beos/system/add-ons/kernel/drivers/dev/tty>:slave_writeFPvxPCvPUl + 0x002a 9048ccb4 (+ 112) 800388f4 <kernel>:devfs_writeFPvN20xPCvPUl + 0x0124 9048cd24 (+ 64) 80041b25 <kernel>:file_writeFP15file_descriptorxPCvPUl + 0x0045 9048cd64 (+ 64) 8003cd1e <kernel>:_user_write + 0x0092 9048cda4 (+ 352) 8002fb8b <kernel>:syscall_dispatcher + 0x0b3f 9048cf04 (+ 160) 8007d111 <kernel>:i386_handle_trap + 0x0241 iframe at 0x9048cfac (end = 0x9048d000)

eax 0x65 ebx 0x716ec0 ecx 0x1 edx 0x700ba754 esi 0x29 edi 0x700ba754 ebp 0x700ba5d4 esp 0x9048cfdc eip 0x6a2417 eflags 0x213 vector: 0x63, error code: 0x0

9048cfa4 (+ 0) 006a2417 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x22417 700ba5d4 (+ 48) 006bd53e </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x3d53e 700ba604 (+ 48) 006bcb6f </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x3cb6f 700ba634 (+ 64) 006bd6a5 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x3d6a5 700ba674 (+8416) 006d3bc8 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x53bc8 700bc754 (+1520) 006cef74 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x4ef74 700bcd44 (+ 48) 006cb168 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x4b168 700bcd74 (+ 208) 007a8aee </boot/beos/system/add-ons/media/plugins/ogg@0x0079d000>:unknown + 0xbaee 700bce44 (+ 592) 007ae298 </boot/beos/system/add-ons/media/plugins/ogg@0x0079d000>:unknown + 0x11298 700bd094 (+ 64) 007a5315 </boot/beos/system/add-ons/media/plugins/ogg@0x0079d000>:unknown + 0x8315 700bd0d4 (+ 304) 0046c569 </boot/beos/system/lib/libmedia.so@0x00403000>:unknown + 0x69569 700bd204 (+ 48) 00450196 </boot/beos/system/lib/libmedia.so@0x00403000>:unknown + 0x4d196 700bd234 (+ 48) 00210638 </boot/beos/apps/MediaPlayer@0x00200000>:unknown + 0x10638 700bd264 (+19736) 00210adc </boot/beos/apps/MediaPlayer@0x00200000>:unknown + 0x10adc 700c1f7c (+ 48) 00210943 </boot/beos/apps/MediaPlayer@0x00200000>:unknown + 0x10943 700c1fac (+ 48) 006a1a00 </boot/beos/system/lib/libroot.so@0x00680000>:unknown + 0x21a00 700c1fdc (+ 0) 700c1fec

comment:21 by marcusoverhagen, 18 years ago

severity: normalmajor

comment:22 by marcusoverhagen, 18 years ago

To test with media player, try this file:

http://marcus.overhagen.de/temp/test.ogm

comment:23 by marcusoverhagen, 18 years ago

PANIC: keyboard requested halt.

Welcome to Kernel Debugging Land... Running on CPU 0 kdebug> bt stack trace for thread 0xc6 "DVB audio decode"

kernel stack: 0x904a2000 to 0x904a5000

user stack: 0x7034d000 to 0x7038d000

frame caller <image>:function + offset 904a4978 (+ 48) 80077521 <kernel>:kernel_debugger_loop + 0x0109 904a49a8 (+ 32) 80077eee <kernel>:kernel_debugger + 0x009a 904a49c8 (+ 176) 80077e4a <kernel>:panic + 0x0036 904a4a78 (+ 48) 80215fab </boot/beos/system/add-ons/kernel/bus_managers/ps2>:ps2_interrupt + 0x00cb 904a4aa8 (+ 64) 800276c2 <kernel>:int_io_interrupt_handler + 0x00b6 904a4ae8 (+ 160) 8007d1b6 <kernel>:i386_handle_trap + 0x02e6 iframe at 0x904a4b90 (end = 0x904a4be4)

eax 0x31 ebx 0x80178c94 ecx 0x80178fc8 edx 0x7038a6dc esi 0x64 edi 0x1 ebp 0x904a4c84 esp 0x904a4bc0 eip 0x80176564 eflags 0x297 vector: 0x21, error code: 0x0

904a4b88 (+ 252) 80176564 </boot/beos/system/add-ons/kernel/drivers/dev/tty>:tty_write_to_ttyFP10tty_cookiePCvPUlb + 0x02fc 904a4c84 (+ 48) 8017751a </boot/beos/system/add-ons/kernel/drivers/dev/tty>:slave_writeFPvxPCvPUl + 0x002a 904a4cb4 (+ 112) 800388f4 <kernel>:devfs_writeFPvN20xPCvPUl + 0x0124 904a4d24 (+ 64) 80041b25 <kernel>:file_writeFP15file_descriptorxPCvPUl + 0x0045 904a4d64 (+ 64) 8003cd1e <kernel>:_user_write + 0x0092 904a4da4 (+ 352) 8002fb8b <kernel>:syscall_dispatcher + 0x0b3f 904a4f04 (+ 160) 8007d111 <kernel>:i386_handle_trap + 0x0241 iframe at 0x904a4fac (end = 0x904a5000)

eax 0x65 ebx 0x508ec0 ecx 0x1 edx 0x7038a6ac esi 0x31 edi 0x7038a6ac ebp 0x7038a52c esp 0x904a4fdc eip 0x494417 eflags 0x203 vector: 0x63, error code: 0x0

904a4fa4 (+ 0) 00494417 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x22417 7038a52c (+ 48) 004af53e </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x3d53e 7038a55c (+ 48) 004aeb6f </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x3cb6f 7038a58c (+ 64) 004af6a5 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x3d6a5 7038a5cc (+8416) 004c5bc8 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x53bc8 7038c6ac (+1520) 004c0f74 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x4ef74 7038cc9c (+ 48) 004bd168 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x4b168 7038cccc (+ 688) 00585796 </boot/beos/system/add-ons/media/dvb.media_addon@0x00578000>:unknown + 0xd796 7038cf7c (+ 48) 00584caf </boot/beos/system/add-ons/media/dvb.media_addon@0x00578000>:unknown + 0xccaf 7038cfac (+ 48) 00493a00 </boot/beos/system/lib/libroot.so@0x00472000>:unknown + 0x21a00 7038cfdc (+ 0) 7038cfec kdebug>

comment:24 by korli, 18 years ago

Cc: korli@… added

comment:25 by axeld, 18 years ago

Fixed in hrev17479.

comment:26 by axeld, 18 years ago

Resolution: fixed

comment:27 by axeld, 18 years ago

Status: newclosed

comment:28 by marcusoverhagen, 18 years ago

Works here, too.

Note: See TracTickets for help on using tickets.