Opened 10 years ago

Closed 10 years ago

#3961 closed bug (fixed)

vm_page_fault on less -f /dev/acpi/namespace exit

Reported by: michael.weirauch Owned by: tqh
Priority: normal Milestone: R1
Component: System Version: R1/pre-alpha1
Keywords: Cc: fredrik.holmqvist@…
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

Just hit 'q' and it gets us to KDL.

Attachments (2)

less-acpi-namespace-exit (183.2 KB ) - added by michael.weirauch 10 years ago.
haiku-r33295-less-acpi-namespace-exit.jpg (277.2 KB ) - added by michael.weirauch 10 years ago.

Download all attachments as: .zip

Change History (11)

by michael.weirauch, 10 years ago

Attachment: less-acpi-namespace-exit added

comment:1 by michael.weirauch, 10 years ago

forgot: hrev30851; gcc4; ata-bm; acpi

comment:2 by tqh, 10 years ago

This might be fixed by recent ACPI changes. Retry and let us know.

comment:3 by tqh, 10 years ago

Cc: fredrik.holmqvist@… added

comment:4 by michael.weirauch, 10 years ago

hrev33299-trunk-gcc4

Still persistent when exiting less prematurely with 'q'. It does not happen when "iterating" till EOF. See attachment.

Btw, how can I change my own tickets subject and description? I've seen many people do so, can't seem to find a way doing it on my own, though...

by michael.weirauch, 10 years ago

comment:5 by tqh, 10 years ago

This is a driver issue. The code currently 'kill_thread' and then destroy the common ring_buffer. The thread used the Monthy Python phrase "I'm not dead yet" and tried to lock the ring_buffer anyway. (Btw, kill_thread is just supposed to signal the thread right, otherwise it's a bug in kill_thread)

Switched it around to

  • delete the ring_buffers semaphore to signal it's time to end
  • graceful exit in the thread upon deletion of the sem
  • waiting for thread to die before cleanup

comment:6 by tqh, 10 years ago

Forgot that ordinary linebreaks don't do anything.
Switched it around to

  • delete the ring_buffers semaphore to signal it's time to end
  • graceful exit in the thread upon deletion of the sem
  • waiting for thread to die before cleanup

comment:7 by axeld, 10 years ago

You might want to add a space before the asterisk, as that will trigger Trac's list mode.

Besides that, kill_thread() should be non-functional for kernel threads, other than waking them up when they are sleeping/suspended.

comment:8 by tqh, 10 years ago

Owner: changed from axeld to tqh
Status: newassigned

comment:9 by tqh, 10 years ago

Resolution: fixed
Status: assignedclosed

Should be fixed in hrev33795. Reopen if not.

Note: See TracTickets for help on using tickets.