Opened 8 years ago

Last modified 22 months ago

#7502 assigned bug

[kernel] implement user Local Descriptor Table

Reported by: diver Owned by: nobody
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: kernel crash matroska LDT wine Cc: diger
Blocked By: Blocking: #7585
Has a Patch: no Platform: All

Description

This is hrev41440, gcc4hybrid.

Kernel crashes a second later after running mplayer Dom.u.ozera.2006.VC-1.HDDVDRemux.1080p.mkv (11,6 GB)
After that Haiku stops responding to ping requests.
mplayer with all needed libs.

Attachments (1)

IMG_0729.JPG (753.1 KB) - added by diver 8 years ago.

Download all attachments as: .zip

Change History (16)

Changed 8 years ago by diver

Attachment: IMG_0729.JPG added

comment:1 Changed 8 years ago by bonefish

The stack trace looks curious (like a regular userland page fault). This is reproducible? Is it a recent regression? If so, can you tell when it still worked?

comment:2 Changed 8 years ago by diver

It is reproducible since at least 2010/08/17. I don't know weather it worked before.

Last edited 8 years ago by diver (previous) (diff)

comment:3 Changed 8 years ago by diver

Also interesting is that if I force another codec haiku doesn't crash
mplayer -vc ffvc1 Dom.u.ozera.2006.VC-1.HDDVDRemux.1080p.mkv

comment:4 Changed 8 years ago by diver

[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_AC3) "AC3 5.1 384 kbps Dubl", -aid 0, -alang rus
[mkv] Track ID 3: audio (A_AC3) "AC3 at 448 kbps DVO", -aid 1, -alang rus
[mkv] Track ID 4: audio (A_DTS) "DTS at 768 kbps MVO", -aid 2, -alang rus
[mkv] Track ID 5: audio (A_AC3) "AC3 5.1 640 kbps", -aid 3, -alang eng
[mkv] Track ID 6: audio (A_AC3) "AC3 2.0 192 kbps", -aid 4, -alang eng
[mkv] Track ID 7: subtitles (S_TEXT/UTF8), -sid 0, -slang rus
[mkv] Track ID 8: subtitles (S_TEXT/UTF8), -sid 1, -slang eng
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [WVC1]  1920x1080  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: Permission denied.
[VO_3DFX] Unable to open /dev/3dfx.
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [dmo] DMO video codecs
Win32 LoadLibrary failed to load: /usr/lib/codecs/wvc1dmod.dll
IMediaObject ERROR: 0x83fd101  could not open DMO DLL (0x0 : 0)
Failed to create DMO filter
ERROR: Could not open required DirectShow codec wvc1dmod.dll.
You need to upgrade/install the binary codecs package.
Go to http://www.mplayerhq.hu/dload.html
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffvc1] vfm: ffmpeg (FFmpeg WVC1)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================

comment:5 Changed 8 years ago by bonefish

Blocking: 7585 added

(In #7585) Closing as a duplicate of #7502.

comment:6 Changed 8 years ago by bonefish

Very curious. It looks like a crash in mplayer that is wrongly categorized as a kernel crash. I significantly changed the thread and team locking in hrev42116. Please retest with that or a newer revision.

comment:7 Changed 8 years ago by diver

Still KDLs with the exact same back trace in hrev42120.

comment:8 Changed 7 years ago by diver

Summary: [kernel] panics upon opening 11Gb matroska file in mplayer[kernel] panics upon opening matroska file in mplayer

I've split that video using this command in linux:

mkvmerge Dom.u.ozera.2006.VC-1.HDDVDRemux.1080p.mkv -o output.mkv --split timecodes:00:00:00,00:1:00 --split-max-files 3

One of the resulting file is 100mb in size still causes the same KDL in hrev42870.
So most likely it is not related to file size.

comment:9 Changed 7 years ago by diver

I think that what happens is that for this particular file format mplayer tries to use win32 codec wvc1dmod.dll and tries to load it from some directory which doesn't exist. Whereas when using -vc ffvc1 argument mplayer uses built-in codec and this crash doesn't happen.
#7585 describes the same thing when invoking mplayer with some invalid path crashes kernel the same way.

comment:10 Changed 7 years ago by mmlr

Since it crashes in Setup_LDT_Keeper() where it tries to set up a user LDT, it is quite possible that it messes with something we neither disallow nor support. Changing the decoder will likely cause it not to use that particular setup. In any case we either need to disable support for setting user LDTs if they cause such problems or, better, support them properly.

comment:11 Changed 7 years ago by diver

Just For Reference: libmpcodecs uses Setup_LDT_Keeper() from ldt_keeper.c.

comment:12 Changed 7 years ago by diver

Cc: diger added

comment:13 Changed 7 years ago by diver

Keywords: LDT added
Summary: [kernel] panics upon opening matroska file in mplayer[kernel] implement user Local Descriptor Table

comment:14 Changed 6 years ago by AndreH

Keywords: wine added

I have tricked Wine to run far enough to tell me it misses LDT support on Haiku. Code is at libs/wine/ldt.c internal_set_entry Seems to be the same bug.

comment:15 Changed 22 months ago by axeld

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.