EMULAB Forum
clrmamepro [English] => clrmame Discussion => Topic started by: oddi on 16 April 2012, 18:53
-
When Clrmame rebuild saurop.zip from mame set say error with decompress s7.7z but rebuilding this rom.
Inside this set ( saurop.zip) have rom :
<rom name="s7.7z" merge="sauro-7.bin" size="32768" crc="187da060" sha1="1df156e58379bb39acade02aabab6ff1cb7cc288" region="gfx1" offset="8000"/>
http://snimki.be//store/1/161334602274.JPG (http://snimki.be//store/1/161334602274.JPG)
Tnx :)
[EDIT]
On my system have installed Winrar 4.11 and 7zip 9.20 x64
-
Well, you can send me the file you're talking about....but actually the warning is only about a temporary file and only complains about having a 7z file without any files in it...e.g. when single files are removed from it but not the container itself (for whatever reason)...Nothing you have to worry about.
-
Well, the error message is partly wrong. It decompresses the file s7.7z into the temp folder (and there it uses a temporary name) and then it tries to read this .7z file. But actually it is not a 7z file and the 7z reader returns the error message. After that, the file is read as a standard file and gets rebuild. In a future version, cmpro will show a 7z error string ERROR SZ_ERROR_NO_ARCHIVE warning instead of a corrupt archive message.
Anyway, nothing to worry about...it's just a warning about a .7z file which isn't a 7z archive.
-
many tnx Roman, Congratulations :)
-
Hi Roman,
I'm recently experiencing this problem as well. Just thought I'd give a heads-up....
I'm attempting to rebuild a MAME Rollback set (v01.59) from a FULL ROM set (v0.158).
Once the Rebuilder gets to the file "saurop.zip" from my base set, it crashes and kicks me back to the desktop. I can briefly see in the top window before it crashes that it gets hung up on the file "s7.7z"
... I'm using CMP v 4.017 (64bit)
... Rebuilder options:
compress files = .zip
compress files = checked
recompress files = unchecked
show statistics = checked
... Error:
Problem signature:
Problem Event Name: APPCRASH
Application Name: cmpro64.exe
Application Version: 4.0.17.0
Application Timestamp: 54e4edc7
Fault Module Name: 7z_64.dll
Fault Module Version: 9.38.0.0
Fault Module Timestamp: 54a82717
Exception Code: c0000005
Exception Offset: 0000000000060668
OS Version: 6.3.9600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: f759
Additional Information 2: f7590b110859d3d9074bef00586cd224
Additional Information 3: 91d9
Additional Information 4: 91d9c0f52d14024d18890a698a870448
Thanks,
Mordor
-
well....I've updated to a new 7z dll and sdk...so it's possible that it got errors...
send me the file in question and I will see what I can do...
-
Here you go bud... the file in question, along with the datfile I was using to rebuild from.
Let me know if you need anything else.
Thanks,
Mordor
-
thanks...indeed it's an interesting thingie....seems to crash in the 7z sdk COM interface stuff...when the CMyComPtr<IInArchive> is opened......wonder why it does not throw an exception or something before....
-
LOL... no prob...sorry if I caused you some extra work. ::)
-
hmm..ok...it's a 64bit compile only issue....
-
ok...even the original 7z client code crashes when doing a 64bit build...I've posted a message on the 7z forum....maybe it's a compiler bug...maybe a 7z one...let's wait and see...
-
Sounds good! Thanks for looking into it! ;)
-
well...yes...if you step into the original 7z client code you come to somthing like
if (!fileSpec->Open(archiveName))
{
PrintError("Can not open archive file", archiveName);
return 1;
}
with a 32bit compile the if test fails...which is good...since it detected a bad file...
with a 64bit compile the if test succeeds....and some lines below it crashes due to this wrong interpretation...
-
To quote the author of 7zip:
Thanks for report!
It's bug in 7z code in file 7zIn.cpp.
The call of
IInArchive::Open(IInStream *stream, const UInt64 *maxCheckStartPosition, IArchiveOpenCallback *openCallback)
works incorrectly, if (maxCheckStartPosition == NULL) and there is no 7z header at start of file.
Solution for current code:
Send some value in maxCheckStartPosition.
UInt64 scanSize = 1 << 23;
if (archive->Open(file, &scanSize, openCallback) != S_OK)
-
COOL! Thanks so much! ;D
-
http://mamedev.emulab.it/clrmamepro/binaries/cmp20150226.rar (http://mamedev.emulab.it/clrmamepro/binaries/cmp20150226.rar)
here you go....
-
Thank you sir! 8)