If you attempt to read from a UZKArchive instance while another UZKArchive instance is writing to the same underlying file in a different thread, exceptions are thrown. The @synchronized lock in -performActionWithArchiveOpen:inMode:error: is apparently not sufficient in this case, working only within a single instance of the archive.