Elecard
May 26, 2013, 12:06:18 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: event handle leak in em2vd.ax ver 1.0.172.51213  (Read 13520 times)
JohnO
Newbie
*
Posts: 20


View Profile
« on: February 07, 2006, 03:59:05 pm »

I have been evaluating the MPEG2 directshow codecs that are within the newly released Elecard MPEG player v4.0.2.  I mentioned one bug already, but I came across another.  There is an event handle leak.  The act of rendering a graph for an MPEG2 file, playing that graph, stopping the graph, and releasing the graph loses two windows event handles.  If you played a lot of movies over time, this will eventually cause a crash.

Using these Microsoft debugging tools:

Microsoft Application Verifier v3.0
http://www.microsoft.com/downloads/details.aspx?FamilyID=BD02C19C-1250-433C-8C1B-2619BD93B3A2&displaylang=en

Debugging Tools for Windows Current Release version 6.6.3.5 - January 24, 2006
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

Oh.exe: Open Handles
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/oh-o.asp

I was able to track the leak down using !htrace in windbg.  Both leaked events were created within em2vd, the Elecard MPEG2 video decoder filter.  Here are details on the em2vd.ax I was using (note the first number, 04770000, is the address where em2vd was loaded):

04770000 0482e000   em2vd      (deferred)            
    Image path: D:\Program Files\Common Files\Elecard\em2vd.ax
    Image name: em2vd.ax
    Timestamp:        Tue Dec 13 04:06:23 2005 (439E8F0F)
    CheckSum:         000CD139
    ImageSize:        000BE000
    File version:     1.0.172.51213
    Product version:  1.0.172.51213
    File flags:       28 (Mask 3F) Private Special
    [...snipped...]


Here are the two handles !htrace said leaked:

--------------------------------------
Handle = 0x000001c0 - OPEN
Thread ID = 0x00000ffc, Process ID = 0x0000089c

0x7c80a6da: kernel32!CreateEventW+0x00000067
0x7c81e4df: kernel32!CreateEventA+0x00000068
0x00399a6e: vfbasics!AVrfpCreateEventA+0x0000007e
0x0478482a: em2vd!DllMain+0x0001034a
--------------------------------------
Handle = 0x000002a0 - OPEN
Thread ID = 0x00000ffc, Process ID = 0x0000089c

0x7c80a6da: kernel32!CreateEventW+0x00000067
0x7c81e4df: kernel32!CreateEventA+0x00000068
0x00399a6e: vfbasics!AVrfpCreateEventA+0x0000007e
0x0478481d: em2vd!DllMain+0x0001033d

Making all this happen in graphedit was a bit of a pain, so I have written a very crude sample program that renders a filter graph, plays it, stops it, and releases it, over and over.  You are welcome to have this if you like.

It appears something in lc.dll was calling wcslen on unmapped address space, so it would crash about the same time lc.dll loaded.  For the time being, I just renamed that dll which made the problem go away.

Note that if I uninstalled the Elecard player (and codecs), I was not able to produce this problem with other media types (I've tried MPEG1 files and Indeo5 AVI files), so it does not appear to be a bug in DirectShow, graphedit, or the example program I was using.

--Johno
Logged
Lena
Newbie
*
Posts: 67


View Profile
« Reply #1 on: February 10, 2006, 12:41:26 am »

Dear John,

Thank you for your detailed problem report, we wish all reports were as informative as yours.  It is a know issue, the solution is implemented already and will be provided in the next release of the player and mpeg2 decoder&streaming pack shortly. We will let you know.
Logged
JohnO
Newbie
*
Posts: 20


View Profile
« Reply #2 on: February 10, 2006, 12:18:24 pm »

Lena,

Thanks for the reply.  I'll stop my testing for now and wait for the new version.  If there's something you would like me to try out, feel free to contact me for help.

--Johno
Logged
steveh
Newbie
*
Posts: 2


View Profile
« Reply #3 on: March 17, 2006, 03:03:18 pm »

Using build - Elecard MPEG Player 4.0.2.60202.exe - downloaded from elecard.com today. (uninstalled and verified all elecard filters were deregistered before installing this).

I've been tracking this and observing leaks using a variety of different tools and playback methods (graphedit, Elecard MPG player shipped with above, my proprietary software).  This report will focus on the Elecard MPG player itself to keep things simple.

The scenario is:
For system details here is the DXDIAG report as of now.  
http://www.sunflower.com/~shagenlo/DxDiag.txt

I'm running the Elecard MPG player with 2 800x600 24 second MPG files encoded on a Macintosh using Popwire.

Here's an XML (XGR) of the filtergraph that graphedit constructs to render one of these files:
http://www.sunflower.com/~shagenlo/cuttergraph.xgr

Using Process Explorer (sysinternals.org) I'm watching the Handles grow on each successive playback of an mpg file.  I'm seeing anywhere from 4 to 8 handles accumulating during each succcessive playback.

Lena mentioned this as a known issue as of Feb 10, 2006.  Is this still an open issue as of today?  If not, please consider this a bug report and let me know if you need any other information.

Regards,
Steve
Logged
JohnO
Newbie
*
Posts: 20


View Profile
« Reply #4 on: March 17, 2006, 04:18:24 pm »

As far as I know Elecard has not updated the MPEG player installer on their web site since I started this thread, so the version you are using still has the bug in it.  

About a month ago Elecard tech support asked me to try out a beta of em2vd.ax which fixed the MPEG2 related handle leaks (there is a different leak related to non-MPEG file playback that has not been addressed).  The beta version they sent me was not ready for release, it had other new problem that I presume were because of new work in progress.
Logged
Lena
Newbie
*
Posts: 67


View Profile
« Reply #5 on: March 20, 2006, 02:18:08 am »

hey guys,

The given product has not been updated yet. This week there is going to be a release of SDK, right after that we will update end-uder products. Please check back for updates.
Logged
steveh
Newbie
*
Posts: 2


View Profile
« Reply #6 on: March 31, 2006, 12:10:02 am »

How are we doing on the update, and do you wish any of us to run the update through its paces before you call it 'official' and release it?
-Steve
Logged
Lena
Newbie
*
Posts: 67


View Profile
« Reply #7 on: March 31, 2006, 04:35:00 am »

Dear Steve and John,

Elecard MPEG Player 4.0.3 and AVC plugin v 1.2 for MPEG Player have just been uploaded to the site. Feel free to test them.  

Those who are interested in beta testing of any Elecard products are welcome to write to the head of our QA dept  Alexander Malinovsky:  malex at elecard.net.ru  with some basic personal info and the following details:

Hardware configuration of the PC(s) you have
What products you’d like to test: decoder products, decoder+encoder, compatibility of the output streams with various devices (Sony PSP, iPod,smart phones, Creative Zen, etc), or you can work with network components.

have a nice weekend
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!