Opened 6 years ago

Closed 6 years ago

#14339 closed bug (not reproducible)

clone_area: KDL to investigate

Reported by: korli Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

kenmays reported a KDL on hrev52194 gcc2 (and refused to report here), see: https://github.com/haikuports/haikuports/issues/2858#issuecomment-411488064

The clone_area call() is https://github.com/haiku/haiku/blob/master/src/kits/media/Buffer.cpp#L239

I doubt this was already resolved.

Attachments (1)

Change History (10)

comment:1 by waddlesplash, 6 years ago

It seems that buffers only make their way into the BufferManager via SERVER_REGISTER_BUFFER, and this is the only place which uses that command, so something must be adding a kernel buffer to BBuffer.

Since video plays just fine in WebPositive, it must be something MediaPlayer-specific. And indeed, it looks like MediaPlayer registers a buffer based on a BBitmap area: http://xref.plausible.coop/source/xref/haiku/src/apps/mediaplayer/media_node_framework/video/VideoConsumer.cpp#212

So that seems to imply BBitmaps are getting created in kernel space? That seems strange.

comment:2 by waddlesplash, 6 years ago

Oh, I see; it's probably due to B_BITMAP_WILL_OVERLAY.

comment:3 by waddlesplash, 6 years ago

It looks like the intel_extreme GART allocator, which is what allocate_overlay uses to get memory, does not set any protections at all: http://xref.plausible.coop/source/xref/haiku/src/add-ons/kernel/bus_managers/agp_gart/agp_gart.cpp#523

That usually means it gets B_READ_AREA | B_WRITE_AREA. So I suppose we need to set_area_protection(area_for(...)...) at the end of that function.

comment:4 by korli, 6 years ago

Strange, from the screenshot, "Audio Mixer control" would be the audio mixer thread http://xref.plausible.coop/source/xref/haiku/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp#105

comment:5 by waddlesplash, 6 years ago

I see that, but I don't know what else to say. I tested playing audio in MediaPlayer and video in WebPositive and both worked just fine (on VESA driver, no overlay.)

comment:6 by waddlesplash, 6 years ago

Hmm, it might be the HDA driver. I'll take a look.

comment:7 by waddlesplash, 6 years ago

Nope, the HDA driver works just fine here and doesn't trigger any panics. So I'll go try hardware overlays, then.

comment:8 by waddlesplash, 6 years ago

I can't find a way to reproduce this. If anyone else can, a syslog of the system before MediaPlayer was opened would be very helpful.

comment:9 by korli, 6 years ago

Resolution: not reproducible
Status: newclosed

thanks for the look.

Note: See TracTickets for help on using tickets.