[haiku-bugs] Re: [Haiku] #9528: stop_watching() KDLs on page fault, monitoring a CDDA

  • From: "ttcoder" <trac@xxxxxxxxxxxx>
  • Date: Mon, 19 May 2014 14:57:54 -0000

#9528: stop_watching() KDLs on page fault, monitoring a CDDA
   Reporter:  ttcoder        |      Owner:  axeld
       Type:  bug            |     Status:  new
   Priority:  normal         |  Milestone:  R1
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All

Comment (by ttcoder):

 Turns out it's not that easy to find the root cause...

 If I hardcode the file descriptor attrFD to -1 (so as to disable attribute
 reading) in `Volume::DetermineName()` here...

 I have a rock-solid cdda driver (to note, the other change is that I've
 commented out all the cd-text stuff too; but contrarily to initial
 impressions I think the cd-text code is ''not activated at all'',
 apparently it only serves for rare occurences of audio CDs that have
 textual strings embedded inside the audio, something which I have never
 seen and do not have in any of my audio CDs here I don't think).

 If however I do ''not'' comment out the attrFD and `open_attributes()`
 stuff, then Haiku crashes easily... somewhere in code ''unrelated'' to the
 cdda driver (see grab). So my working theories are:

 1. there is some kind of corruption created somewhere in the (big)
 remainder of the code that I didn't not comment out, e.g. class Attribute,
 class Volume ..etc.
 2. there is some kind of corruption from the cd-text code (again, that's
 an impossible theory AFAIU since the cd-text code is NOT exercised even if
 I do not comment it out).
 3. there is some kind of interaction/bug with something else than the cdda
 driver, be it the VM subsystem or whatnot (an unlikely theory it seems).

 Neither of which leads to a speedy resolution.. Anyway I guess I should be
 happy since I can ''at least'' use the driver somewhat reliably now, if I
 comment out the DetermineName() code :-]

Ticket URL: <https://dev.haiku-os.org/ticket/9528#comment:8>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: