[haiku-bugs] Re: [Haiku] #9858: Ripping CDs -> page fault panic

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Wed, 12 Nov 2014 17:14:35 -0000

#9858: Ripping CDs -> page fault panic
---------------------------------+----------------------------
   Reporter:  ttcoder            |      Owner:  nobody
       Type:  bug                |     Status:  assigned
   Priority:  high               |  Milestone:  R1/beta1
  Component:  File Systems/cdda  |    Version:  R1/Development
 Resolution:                     |   Keywords:  slab
 Blocked By:                     |   Blocking:
Has a Patch:  0                  |   Platform:  All
---------------------------------+----------------------------

Comment (by pulkomandy):

 In hrev48285 I fixed a buffer overrun in the cdda code. I still get panics
 after this change but they seem slightly harder to trigger. I'm continuing
 to test to see if I can find some useful information.

 During my testing I noticed some things that are worth noting:
 * The panics occur at random places (I don't think I saw twice the same),
 which points to some kind of memory corruption that is only detected when
 it corrupts something else. That's not easy to debug, but the buffer
 overrun in the cdda code was just that kind of bug (it overwrites memory
 outside the allocateed buffer).
 * In the various related tickets there seem to be some confusion between
 cdtext and cddb. So to make things clear, cdtext is stored on the CD,
 while cddb data is downloaded from the internet after computing an ID for
 the CD. To test cdtext, you need a CD that has some cdtext data, and to be
 sure, you probably want to disable cddb (either kill the cddb_daemon, or
 just work on a machine with no internet access).
 * I got one panic with the cddb daemon trying to write the Album:Title
 attribute to one of the tracks on the CD, apparently in the final strdup
 in the cddb_create_attr function which hit a corrupted heap. But I didn't
 find any obvious bugs in that function.
 * I tried enabling the guarded heap, but it's not possible to use it with
 the package manager, the system runs out of memory before it's done
 booting. Maybe a more minimal system (with less packages) would still
 work.
 * I tried enabling the debug heap too, and I didn't hit a panic with that
 enabled yet. But I'm continuing to test...

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

Other related posts: