Bug #96
Ctrl-C while cat'ing a large file results in breakpoint
| Status: | Closed | Start: | 11/14/2009 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assigned to: | % Done: | 0% |
||
| Category: | - | Spent time: | - | |
| Target version: | - |
Description
Doesn't happen every time, appears to happen if its sleeping on the ATA request queue. Log reads:
(NN) [37] execve("/applications/cat")
(NN) [37] {cat i686-pedigree-g++ }
(NN) MemoryMappedFile: 0x350000 -> 0x366000 (pid 0x25)
(NN) Elf::createNeededOnly: buffer at 0x350000, len 0x15234
(NN) MemoryMappedFile: 0x367000 -> 0x485000 (pid 0x25)
(NN) Elf::createNeededOnly: buffer at 0x367000, len 0x11d464
(NN) MemoryMappedFile: 0x101000 -> 0x117000 (pid 0x25)
(NN) Elf::create: buffer at 0x101000, len 0x15234
(NN) MemoryMappedFile: 0x118000 -> 0x236000 (pid 0x25)
(NN) Elf::create: buffer at 0x118000, len 0x11d464
(NN) [37] init_pthreads
(NN) [37] sysconf(8)
(NN) [37] exit(2)
(NN) Sending unexpected exit event to thread
(NN) Kill: 0x25 (parent: 0x4)
(FF) Should never get here
(FF) Should never get here << Flushing log content >>
(WW) Dwarf backtracing not available.
Backtrace is FileDisk::read -> File::read -> Iso9660File::readBlock -> AtaDisk::read -> RequestQueue::addRequest -> Semaphore::acquire -> PerProcessorScheduler::checkEventState -> posix_exit -> PosixSubsystem::exit -> Process::kill
History
Updated by Matthew Iselin over 2 years ago
- Status changed from New to Assigned
- Assigned to set to Matthew Iselin
I'll have a look and see what I can do.
Updated by Matthew Iselin over 2 years ago
This is an extremely hard to reproduce situation where the event is executed literally just as the RequestQueue is being modified. I've done a little bit of work to get towards a fix, but as it's hard to reproduce, it is very difficult to be certain that this is actually fixed.
Updated by Matthew Iselin about 1 year ago
- Status changed from Assigned to Closed
ZombieQueue seems to have solved much of this problem. Closed, any repeat of this problem should be put into a new issue.