Opened 5 years ago

Last modified 5 years ago

#5532 new defect

Pyromod mod creation error when having same mod zipped inside said original mod folder.

Reported by: nani Owned by:
Priority: If Time Permits Milestone: Backlog
Component: Core engine Keywords: pyromod
Cc: Patch:

Description (last modified by nani)

steps to reproduce

1) Have an original mod "myMod" folder with non zipped content inside.
2) Create myMod.pyromod mod file from said "myMod" folder with pyrogenesis.
3) Install myMod.pyromod mod file by opening with 0ad.
4) See that a zipped myMod.zip has appeared in the original folder from 1)
5) Try to create myMod.pyromod mod file like in 2)
6) See as pyrogenesis shows a crash error dialog and no longer creates the myMod.pyromod file.
7) Delete myMod.zip that appeared in 4)
8) Try again 2)
9) see that the new pyrogenesis pyromod file is created and everything works again.

Fix: should warn of having same mod inside as a zip file and not send 5k line error.

Change History (3)

comment:1 by nani, 5 years ago

Description: modified (diff)

comment:2 by nani, 5 years ago

Function call failed: return value was -110301 (Error during IO)
Location: file_system.cpp:71 (GetFileInfo)

Call stack:

GetFileInfo (file_system.cpp:71)
    pathname = 0x0133F488 -> 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = [8] { 92 ('\'), 0, 2616, 100 ('d'), 0, 0, 65535, 65535 }

    pPtrInfo = 0x0133F37C -> 
        name = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = "/ij떩3"

        size = 86680823809441792 (0x0133F3C000000000)
        mtime = 86682060760330842 (0x0133F4E00004B25A)

    s = 
        st_dev = 0 (0x00000000)
        st_ino = 0 (0x0000)
        st_mode = 0 (0x0000)
        st_nlink = 0 (0x0000)
        st_uid = 0 (0x0000)
        st_gid = 0 (0x0000)
        st_rdev = 0 (0x00000000)
        st_size = 0 (0x0000000000000000)
        st_atime = 0 (0x0000000000000000)
        st_mtime = 0 (0x0000000000000000)
        st_ctime = 0 (0x0000000000000000)


ArchiveWriter_Zip::AddFile (archive_zip.cpp:616)
    this = (unavailable)
    pathname = 0x0133F488 (see above)
    pathnameInArchive = 0x005506EC -> 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = [8] { 47 ('/'), 0, 44536, 85 ('U'), 0, 0, 0, 0 }

    file = (shared_ptr<File>)
    fileInfo = 
        name = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 47 ('/')

        size = 86680823809441792 (0x0133F3C000000000)
        mtime = 86682060760330842 (0x0133F4E00004B25A)


CArchiveBuilder::Build (archivebuilder.cpp:154)
    this = (unavailable)
    archive = 0x0133F7F0 -> 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = "\dXqijἾ睿"

    compress = true 
    xero = 
        
            m_Pointer = 0x00000000
            m_ElementNameCount = 6554060 (0x006401CC)
            m_AttributeNameCount = 5613688 (0x0055A878)
            m_ElementPointer = 0x00000020
            m_AttributePointer = 0x00000000

        m_XMBBuffer = (shared_ptr<unsigned char>)

    noDeflate = false
    textureManager = 
        m = 0x00557F00 -> 
            m_VFS = (shared_ptr<IVFS>)
            m_CacheLoader = 
                m_VFS = (shared_ptr<IVFS>)
                m_FileExtension = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)

            m_DisableGL = true 
            m_TextureConverter = 
                m_VFS = (shared_ptr<IVFS>)
                m_HighQuality = true 
                m_WorkerThread = 672 (0x000002A0)
                m_WorkerMutex = 0x004A8230
                m_WorkerSem = 0x006C0020 -> (SDL_semaphore)
                m_RequestQueue = (unsupported deque<shared_ptr<CTextureConverter::ConversionRequest> >)
                m_ResultQueue = (unsupported deque<shared_ptr<CTextureConverter::ConversionResult> >)
                m_Shutdown = false

            m_DefaultHandle = 0 (0x0000000000000000)
            m_ErrorHandle = 0 (0x0000000000000000)
            m_ErrorTexture = (shared_ptr<CTexture>)
            m_TextureCache = (unavailable - unspecified error 0x186A2 (0))
            m_HotloadFiles = (unavailable - unspecified error 0x186A2 (0))
            m_SettingsFiles = (unavailable - unspecified error 0x186A2 (0))


    colladaManager = 
        m = 0x0049B890 -> 
            dll = 
                m_Name = 0x003956C0 -> "Collada"
                m_Handle = 0x00000000
                m_LoadErrorLogMethod = Error

            set_logger = 0x00001000
            set_skeleton_definitions = 0x00000000
            convert_dae_to_pmd = 0x00000000
            convert_dae_to_psa = 0x00000000
            m_VFS = (shared_ptr<IVFS>)
            m_skeletonHashInvalidated = true 
            m_skeletonHashes = (unsupported vector<u64 >)

        m_VFS = (shared_ptr<IVFS>)

    writer = (shared_ptr<IArchiveWriter>)
    realPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    cachedPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 60666

    cachedRealPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')

    cachedPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 60666

    cachedRealPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 255

    cachedPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 60666

    cachedRealPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')


RunGameOrAtlas (main.cpp:588)
    argc = 5 (0x00000005)
    argv = 0x006C0008 -> 0x006C0030 -> "pyrogenesis.exe"
    replayFile = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')

    modsToInstall = (unsupported vector<Path >)
    scriptEngine = 
        (Singleton<ScriptEngine>)
        m_Runtimes = (unsupported list<JSRuntime const * >)

    args = 
        m_Args = (unsupported vector<pair<CStr8,CStr8> >)
        m_Arg0 = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 47 ('/')

        m_ArgsWithoutName = (unsupported vector<CStr8 >)

    res = 6.57819e-313 (0x0000001F00000015)
    modPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 10106

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 20673

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 2047

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 2

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 3608

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 1


    replay = 
        m_Stream = 0x0000001F

    mod = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    zip = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 92 ('\')

    mods = (unsupported vector<CStr8 >)
    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')


    builder = 
        m_VFS = (shared_ptr<IVFS>)
        m_Files = (unsupported vector<Path >)
        m_TempDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_NumBaseMods = 1 (0x00000001)

    installedMods = (unsupported vector<CStr8 >)
    installer = 
        m_VFS = (shared_ptr<IVFS>)
        m_ModsDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_TempDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 1744

        m_CacheDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 40 ('(')

        m_InstalledMods = (unsupported vector<CStr8 >)

    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')



SDL_main (main.cpp:680)
    argc = 5 (0x00000005)
    argv = 0x006C0008 (see above)

main_utf8 (sdl_windows_main.c:126)
    argc = 5 (0x00000005)
    argv = 0x006C0008 (see above)

wmain (sdl_windows_main.c:151)
    argc = 5 (0x00000005)
    wargv = 0x00483900 -> 0x00483918 -> 112 (0x0070)
    wenvp = 0x0047BA38 -> 5176 (0x1438)
    argv = 0x006C0008 (see above)
    retval = 0 (0x00000000)
    i = 5 (0x00000005)

CallStartupWithinTryBlock (wseh.cpp:364)
    ret = 2811728 (0x002AE750)

RtlGetAppContainerNamedObjectPath (:0)

RtlGetAppContainerNamedObjectPath (:0)


errno = 2 (Error during IO)
OS error = 267 (The directory name is invalid.)

comment:3 by nani, 5 years ago

Milestone: Alpha 24Backlog
Note: See TracTickets for help on using tickets.