[AD] Bug in packfile_password() when used with load_datafile() (4.3.10)

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Hi all.

I have found a bug with the functions mentioned in the title.  I have a game
(Alex the Allegator 2) that I am porting and when loading its datafile it
is getting an assert in src/file.c:1602.  In this function
(free_packfile()) there is this comment:

/* These are no longer the responsibility of this function, but
 * these assertions help catch instances of old code which still
 * rely on the old behaviour.
 */ 

And then there are a bunch of asserts, including this one:

ASSERT(!f->normal.passdata);

Which is triggering.  Now the thing is that this seems to be a bug in
Allegro itself.  I don't have time to investigate it as I am madly porting
games for the Amiga Allegro release in Birmingham next Saturday.  But it
seems to me if the only thing that the game code does it call
packfile_password() followed by load_datafile() and this triggers the
assert, then it is a problem with Allegro itself.  Any comments?

The callstack of the crash is:

liballegro.so:free_packfile()+0x94 (section 1 @ 0x2d788)
liballegro.so:pack_fclose_chunk()+0x34C (section 1 @ 0x2ecc8)
liballegro.so:load_object()+0xFC (section 1 @ 0x213dc)
liballegro.so:load_file_object()+0x138 (section 1 @ 0x21a04)
liballegro.so:load_datafile_callback()+0x148 (section 1 @ 0x21d00)
liballegro.so:load_datafile()+0x50 (section 1 @ 0x21b90)
Alex2.debug:loadData()+0x34 (section 1 @ 0x43c) 

Any thoughts?

-- 
/-------------------------------------------------------------------\
[Hitman/Code HQ - 6502/z80/68000/604e/80x86/ARM coder - Amiga rulez!]
[VZ-200/VIC-20/MZ-700/c16/c64*10/c128*8/Plus-4/CPC464/CD32/500*2    ]
[600/1000/1200*2/A4000/SNES/N64/Dreamcast/Athlon 1100/AmigaOne      ]
[Assembly Language: The most fun you can have with your clothes on! ]
\-------------------------------------------------------------------/





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/