View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002553 | MMW v4 | Burning / Disc Handling | public | 2006-07-17 12:22 | 2006-08-25 00:20 |
Reporter | jiri | Assigned To | |||
Priority | immediate | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.5.3 | ||||
Fixed in Version | 2.5.4 | ||||
Summary | 0002553: Freezing of burning wizard on startup | ||||
Description | Some users have reported that burning wizard freezes (possibly only for some - very long - time) directly on start of it. | ||||
Additional Information | Both 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. | ||||
Tags | No tags attached. | ||||
Fixed in build | 1004 | ||||
|
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. |
|
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. |
|
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. |
|
New debug log from Marinebrat based on the test hpcdeburn.dll is posted to the ftp server. |
|
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 ); |
|
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. |
|
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. |
|
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?). |
|
HPCDE 1.99 should resolve this. E-mail containing the new SDK sent. |
|
Fixed in build 1002. - hpCDe v1.99 is included, hopefully it will fix the problem. |
|
Per user feedback, this issue hasn't been fixed in beta 2. |
|
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) |
|
Jiri indicated that it isn't the case because the user uses WinXP. i.e. useASPI = false |
|
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. |
|
Fixed in build 1004. - Hpcde v1.99.2 fixes the issue. |
|
Closing based on feedback from test users. |