vn-tools / arc_unpacker

CLI tool for extracting images and sounds from visual novels.
GNU General Public License v3.0
562 stars 83 forks source link

Clannad extraction half-failed (coredump but the PNGs ok) #21

Closed amreo closed 8 years ago

amreo commented 8 years ago

I extracted the files of clannad. The program run well(i think) but it stops (core dump)

OS = GNU/Linux (ubuntu) I'm not used Openssl I applied a patch to clannad( http://gosita.altervista.org/download.php?file=Clannad%20-%20ITA%20-%200.16.tar.gz&id=clannad_g&nt=true)

rr- commented 8 years ago

Thanks for the bug report. Can you show which file specifically causes the problems? On 64-bit Windows machine and 32-bit Debian machine, all of the files seem to extract correctly.

You can also attach a stack trace by doing following:

./waf configure -d
./waf
gdb --ex=r --args ./build/arc_unpacker ~/path/to/faulty.file

and inside gdb type:

bt
amreo commented 8 years ago

I changed the command:

gdb --ex=r --args ./build/arc_unpacker ~/path/to/faulty.file

TO

gdb --ex=r --args ../build/arc_unpacker /home/$USER/Documenti/clannad/G00 --fmt=g00

BACKTRACE

#0  __memcpy_sse2_unaligned ()
    at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35
#1  0x00000000004995f2 in BufferedIO::read (this=0x7fffffffda00, 
    destination=0xd065e5c, length=261408) at ../src/io/buffered_io.cc:61
#2  0x0000000000429b18 in decode_version_2 (file=..., width=800, height=600)
    at ../src/formats/key/g00_converter.cc:245
#3  0x0000000000429ecf in Formats::Key::G00Converter::decode_internal (
    this=0x76f020, file=...) at ../src/formats/key/g00_converter.cc:282
#4  0x000000000041a9b5 in Converter::decode (this=0x76f020, file=...)
    at ../src/formats/converter.cc:31
#5  0x000000000041a796 in Converter::unpack (this=0x76f020, input_file=..., 
    file_saver=...) at ../src/formats/converter.cc:6
#6  0x0000000000407ac3 in ArcUnpacker::unpack (this=0x7fffffffde10, 
    transformer=..., file=..., base_name=..., file_saver=...)
    at ../src/arc_unpacker.cc:218
#7  0x00000000004078a0 in ArcUnpacker::unpack (this=0x7fffffffde10, 
    transformer=..., file=..., base_name=...) at ../src/arc_unpacker.cc:198
#8  0x0000000000408031 in ArcUnpacker::guess_transformer_and_unpack (
    this=0x7fffffffde10, file=..., base_name=...) at ../src/arc_unpacker.cc:286
#9  0x0000000000408366 in ArcUnpacker::run (this=0x7fffffffde10)
    at ../src/arc_unpacker.cc:323
#10 0x0000000000405536 in main (argc=3, argv=0x7fffffffdf58)
    at ../src/main.cc:5
rr- commented 8 years ago

Alright, looks like the regions inside one of the files are corrupted. To confirm this hypothesis, could you pinpoint which file specifically crashes the program by doing something like:

for x in /home/$USER/Documenti/clannad/G00/*; do
    echo Decoding "$x";
    ./build/arc_unpacker "$x" --fmt=g00
done

and then attach this file here?

amreo commented 8 years ago

What's file? All file?

rr- commented 8 years ago

No, I need the only file that crashes the program. All files in the previous archive you posted worked for me, so I need one specific example what surely doesn't work on your machine. Thanks

amreo commented 8 years ago

There are 33 errors. I'm cat typescript | grep -B 2 -e dump > typescript2 (i registred output of programs) Decoding /home/amreo/Documenti/clannad/G00/cgbt10.g00 Unpacking... ../simple.bash: riga 3: 10249 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt11.g00 Unpacking... ../simple.bash: riga 3: 10256 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt12.g00 Unpacking... ../simple.bash: riga 3: 10258 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt13.g00 Unpacking... ../simple.bash: riga 3: 10260 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt14.g00 Unpacking... ../simple.bash: riga 3: 10262 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt15.g00 Unpacking... ../simple.bash: riga 3: 10264 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt16.g00 Unpacking... ../simple.bash: riga 3: 10267 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt17.g00 Unpacking... ../simple.bash: riga 3: 10269 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt20.g00 Unpacking... ../simple.bash: riga 3: 10271 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt21.g00 Unpacking... ../simple.bash: riga 3: 10273 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt22.g00 Unpacking... ../simple.bash: riga 3: 10275 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt23.g00 Unpacking... ../simple.bash: riga 3: 10281 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt24.g00 Unpacking... ../simple.bash: riga 3: 10283 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt25.g00 Unpacking... ../simple.bash: riga 3: 10285 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt26.g00 Unpacking... ../simple.bash: riga 3: 10287 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/cgbt27.g00 Unpacking...

../simple.bash: riga 3: 10289 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

Decoding /home/amreo/Documenti/clannad/G00/MN_SLA_BODY00.g00 Unpacking...

../simple.bash: riga 3: 11777 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

Decoding /home/amreo/Documenti/clannad/G00/MN_SLB_BODY00.g00 Unpacking...

../simple.bash: riga 3: 11807 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

Decoding /home/amreo/Documenti/clannad/G00/SFWEC10.g00 Unpacking... ../simple.bash: riga 3: 12062 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC20.g00 Unpacking... ../simple.bash: riga 3: 12064 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC21.g00 Unpacking... ../simple.bash: riga 3: 12066 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC22.g00 Unpacking... ../simple.bash: riga 3: 12068 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC23.g00 Unpacking... ../simple.bash: riga 3: 12070 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC24.g00 Unpacking... ../simple.bash: riga 3: 12072 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC25.g00 Unpacking... ../simple.bash: riga 3: 12074 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC26.g00 Unpacking... ../simple.bash: riga 3: 12076 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC27.g00 Unpacking... ../simple.bash: riga 3: 12078 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC28.g00 Unpacking... ../simple.bash: riga 3: 12080 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC29.g00 Unpacking... ../simple.bash: riga 3: 12082 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC30.g00 Unpacking... ../simple.bash: riga 3: 12084 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00 Decoding /home/amreo/Documenti/clannad/G00/SFWEC31.g00 Unpacking...

../simple.bash: riga 3: 12086 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

Decoding /home/amreo/Documenti/clannad/G00/SSHREN10.g00 Unpacking...

../simple.bash: riga 3: 12219 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

Decoding /home/amreo/Documenti/clannad/G00/STMCMB01.g00 Unpacking... ../simple.bash: riga 3: 12222 Errore di segmentazione (core dump creato) ../build/arc_unpacker "$x" --fmt=g00

rr- commented 8 years ago

Great. Attaching any of these .g00 files should be enough, but I'd prefer the biggest one if possible.

amreo commented 8 years ago

Input?

amreo commented 8 years ago

download from http://amxeoite.homepc.it/list.tgz I use cat a1 | grep -e Decoding > a2 cat a2 | awk ' {print($2) }' > files tar -pcf lisy.tgz cat files

rr- commented 8 years ago

Fixed. The fix should appear in tonight's build (see readme for nightly builds).