View Issue Details

IDProjectCategoryView StatusLast Update
0002553MMW v4Burning / Disc Handlingpublic2006-08-25 00:20
Reporterjiri Assigned To 
PriorityimmediateSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version2.5.3 
Fixed in Version2.5.4 
Summary0002553: Freezing of burning wizard on startup
DescriptionSome users have reported that burning wizard freezes (possibly only for some - very long - time) directly on start of it.
Additional InformationBoth Joe Keller, Marine Brat, and ichow(Ian) at bigpond.net.au observed the same problem. Debug logs from both are posted to the ftp server. Here's the full report from Paul (=Marine Brat):

They both seemed to work just fine. AudioBurner2U_static_MT_msvc60.exe - Took about 35 seconds to convert one MP3 to WAV and make a CD out of it.

DataBurnerU_static_MT_msvc60.exe - Took only about 20 seconds for the same MP3, though it didn't convert the MP3 to a WAV first like the other program did.

My PC has two internal CD/DVD burners. The older one is a Phillips DVD+RW-D28, and the newer one is a Sony DVD RW DRU-810A. I have never had problems with them before. I always use the Sony for burning disks because it's faster (40x). They both work fine with Roxio Easy CD Creator v5.3.0.76, and with Nero Burning ROM SE 6.

MediaMonkey didn't used to have this problem with me. It's only been since I updated to the latest version that this has been happening.

If you have any other questions, or would like to take a look at the PC via PCAnywherer, VNC, netmeeting, etc, let me know. I can punch a hole through my firewall and get you in. I'm anxious to help in any way I can. If you're in the US or Canada I also have free long distance phone service... (I'm a database specialist and spend much of my day remotely accessing people's machines and calling them on the phone, so it's nothing new here.)

---------- Original Message ----------

FROM: Russell Samuels
SUBJECT: RE: Debug log for MarineBrat - 20060713-1

Paul,

From the log, it seems that the problem may be related to initialization of the CD Burning engine, but it's unclear.

Can you try burning a CD with the following test apps, and let me know if it is successful or if the problem in question (or another error) occurs?
http://www.mediamonkey.com/beta/testtools/AudioBurner2U_static_MT_msvc60.exe

http://www.mediamonkey.com/beta/testtools/DataBurnerU_static_MT_msvc60.exe

These apps isolate burning functionality in MediaMonkey from other functionality, so if it works with this app, we'll have a better idea of exactly where the problem resides.

Thx so much for your patience and help.

-----Original Message-----
From: Paul Laufer
Subject: Debug log for MarineBrat - 20060713-1

Hi support@mediamonkey.:

Here's the debug log in reference to this thread.

http://www.mediamonkey.com/forum/viewtopic.php?t=11088

Note that MM froze for three minutes between 14 and 194 seconds.

Steps to reproduce...

1) I put a blank CDrom into the CD drive.
1a) I moved all scripts out of the AUTO folder except for AllMusic.vbs.
2) Disabled the File Monitor
3) Emptied play list except for one song.
4) Exited MM.
5) Started DebugView
6) Started MM
7) Right clicked on one song in now playing.
8) Send to/CD (Burn)

Result:
MM hangs for 3 minutes, as seen in the log. I continued and burned the CD wiht one song. Finished and closed MM.
TagsNo tags attached.
Fixed in build1004

Activities

jiri

2006-07-17 12:24

administrator   ~0007521

Since we don't know exactly where is the problem, I'd suggest to add enough debug messages to this part of code (i.e. directly in start of burning wizard in MM.exe and in initialization code of hpcde.dll) so that we can release it in MM 2.5.4 beta version and ask users to submit us debug logs. This will hopefully reveal what's going on.

Ludek

2006-07-18 19:17

developer   ~0007538

Added debug logs as described, revision 1344 should be merged into 2.5.4, non-unicode messages for hpCDBurn.dll are already in 2.5 branch.

jiri

2006-07-24 09:03

administrator   ~0007582

Based on a feedback from user, it seems to be pretty much clear that the problem is in hpcde (v1.98). Basic enumeration of present CD/DVD drives takes several minutes in some cases. Here is a source code that takes very long time:

  for (int i=0; i < data->nDeviceCount; i++)
  {
    IDevice *pDevice=(IDevice *)data->pEnumerator->GetItem(i);
    if (!pDevice)
      continue;

    data->pDeviceInfo[i].index = i;
    data->pDeviceInfo[i].letter = pDevice->GetDriveLetter();
    pDevice->GetDescription(data->pDeviceInfo[i].description, 256);
    pDevice->GetProductId(data->pDeviceInfo[i].productId, 256);
    pDevice->GetVendor(data->pDeviceInfo[i].vendor, 256);
    pDevice->GetVendorSpecific(data->pDeviceInfo[i].vendorSpec, 256);
    pDevice->GetRevision(data->pDeviceInfo[i].revision, 256);
    data->pDeviceInfo[i].buffer = pDevice->GetInternalCacheCapacity();
    

    data->pDeviceInfo[i].canWriteCD = pDevice->GetWritePossible();
    data->pDeviceInfo[i].canReWriteCD = pDevice->GetReWritePossible();
    data->pDeviceInfo[i].canWriteCDText = pDevice->GetCDTextSupport();
    
    pDevice->Release();

    if (data->debug)
    {
      OutputDebugString( "hpCDEBurn: Device initialized:");
      OutputDebugString( data->pDeviceInfo[i].description );
    }
  }


And here is a part of debug log showing that the first device is obtained immediatelly, but the second one takes 3 minutes:

00000450 15.25351810 [2176] hpCDEBurn: Device enumerator obtained...
00000451 15.35432720 [2176] hpCDEBurn: Device initialized:
00000452 15.35436535 [2176] SONY , DVD RW DRU-810A v1.0a (0:0:0)
00000453 194.46968079 [2176] hpCDEBurn: Device initialized:
00000454 194.46972656 [2176] PHILIPS , DVD+RW-D28 v1.29 (0:1:0)

We should report this to hpcde.

rusty

2006-07-26 13:48

administrator   ~0007609

New debug log from Marinebrat based on the test hpcdeburn.dll is posted to the ftp server.

jiri

2006-07-26 14:14

administrator   ~0007610

Ok, so my previous comment is still fully valid, we just know better which line causes the problem, it's:

IDevice *pDevice=(IDevice *)data->pEnumerator->GetItem(i);

As for why the sample application doesn't cause the problem, I'm not sure. One possibility is that they always initialize to use ASPI:

  m_pEngine->Initialize(TRUE);

while we use ASPI only on non-NT systems:

  data->pEngine->Initialize( vi.dwPlatformId != VER_PLATFORM_WIN32_NT );

rusty

2006-07-28 16:45

administrator   ~0007633

Provided new ASPI-based HPCDeburn.dll to marinebrat and:
I performed the identical test, and it gets past the spot where it was hanging, but now it won't burn the CD. Error comes up when clicking the "Burn" button, saying "List Inded Out Of Bounds."

Debug log posted to the ftp.

rusty

2006-07-28 16:45

administrator   ~0007634

Provided new ASPI-based HPCDeburn.dll to marinebrat and:
I performed the identical test, and it gets past the spot where it was hanging, but now it won't burn the CD. Error comes up when clicking the "Burn" button, saying "List Inded Out Of Bounds."

Debug log posted to the ftp.

jiri

2006-07-31 07:09

administrator   ~0007636

The message was caused by non CD/DVD writer found. We need to find out more, why did it happen (probably a missing ASPI layer?).

rusty

2006-08-01 01:39

administrator   ~0007640

HPCDE 1.99 should resolve this. E-mail containing the new SDK sent.

jiri

2006-08-01 12:01

administrator   ~0007643

Fixed in build 1002.
 - hpCDe v1.99 is included, hopefully it will fix the problem.

rusty

2006-08-07 14:38

administrator   ~0007686

Per user feedback, this issue hasn't been fixed in beta 2.

Ludek

2006-08-12 05:44

developer   ~0007722

Last edited: 2006-08-12 05:49

We are using

bool useASPI = (vi.dwPlatformId != VER_PLATFORM_WIN32_NT);
pEngine->Initialize( useASPI );

but they are using:

BOOL bResult = pEngine->Initialize();
    if (!bResult)
    {
        bResult = pEngine->Initialize(TRUE);
        if (!bResult)
         error;

i.e.
They firstly try to initialize _without_ ASPI and then with ASPI in case of initialization without ASPI fails.

(it contravenes 7610 note)

Ludek

2006-08-12 09:11

developer   ~0007725

Jiri indicated that it isn't the case because the user uses WinXP.
i.e. useASPI = false

jiri

2006-08-18 07:28

administrator   ~0007738

Current feedback from users having this problem indicate that it's possibly related to how hpcde is compiled, maybe Unicode/non-Unicode makes the difference (non-Unicode having the problem). We should report this to hpcde authors.

An idea: if we confirm that Unicode builds don't exhibit the issue, we could try to port Unicode burning to MM 2.5.4.

jiri

2006-08-24 16:16

administrator   ~0007759

Fixed in build 1004.
 - Hpcde v1.99.2 fixes the issue.

rusty

2006-08-25 00:20

administrator   ~0007766

Closing based on feedback from test users.