ZipUtility-Unreal icon indicating copy to clipboard operation
ZipUtility-Unreal copied to clipboard

Straight up crashes my project

Open CANA-Dan opened this issue 2 years ago • 13 comments

its likely its something on my side, but whenever i run the node my project freezes and then crashes. here is the file path im giving it: F:/Games/Steam/steamapps/common/Paradiddle/Paradiddle/Saved/songs/R U Mine

Iv also stuck the link into double quotes like this ("'F:/Games/Steam/steamapps/common/Paradiddle/Paradiddle/Saved/songs/R U Mine'") but no luck there. here is my full setup Note: This Song Location = F:\Games\Steam\steamapps\common\Paradiddle\Paradiddle\Saved\songs\R U Mine image

And here is the error: Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000010

0x00007ff825e4cc0c UE4Editor-ZipUtility.dll!UnknownFunction [] 0x00007ff825e50c25 UE4Editor-ZipUtility.dll!UnknownFunction [] 0x00007ff8614cae84 UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614cd4ef UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614a22fd UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff861476b6a UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614a1ef1 UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614a22fd UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614a1704 UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff861212604 UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8614a0e63 UE4Editor-CoreUObject.dll!UnknownFunction [] 0x00007ff8584c208b UE4Editor-UMG.dll!UnknownFunction [] 0x00007ff85855e31e UE4Editor-UMG.dll!UnknownFunction [] 0x00007ff860d40663 UE4Editor-Slate.dll!UnknownFunction [] 0x00007ff860b846be UE4Editor-Slate.dll!UnknownFunction [] 0x00007ff860c07f14 UE4Editor-Slate.dll!UnknownFunction [] 0x00007ff860bf0337 UE4Editor-Slate.dll!UnknownFunction [] 0x00007ff860be3632 UE4Editor-Slate.dll!UnknownFunction [] 0x00007ff89c77bcb5 UE4Editor-ApplicationCore.dll!UnknownFunction [] 0x00007ff89c769197 UE4Editor-ApplicationCore.dll!UnknownFunction [] 0x00007ff89c77e389 UE4Editor-ApplicationCore.dll!UnknownFunction [] 0x00007ff89c764310 UE4Editor-ApplicationCore.dll!UnknownFunction [] 0x00007ff8bf3ae858 USER32.dll!UnknownFunction [] 0x00007ff8bf3ae299 USER32.dll!UnknownFunction [] 0x00007ff89c77f914 UE4Editor-ApplicationCore.dll!UnknownFunction [] 0x00007ff6b19e8848 UE4Editor.exe!UnknownFunction [] 0x00007ff6b1a0117c UE4Editor.exe!UnknownFunction [] 0x00007ff6b1a0125a UE4Editor.exe!UnknownFunction [] 0x00007ff6b1a152bd UE4Editor.exe!UnknownFunction [] 0x00007ff6b1a17fea UE4Editor.exe!UnknownFunction [] 0x00007ff8c10d7034 KERNEL32.dll!UnknownFunction [] 0x00007ff8c12e2651 ntdll.dll!UnknownFunction []

CANA-Dan avatar Aug 27 '21 12:08 CANA-Dan

Does it work if the file path has no spaces? You may need to run this in VC++ debug mode and catch the crashing stack to get a more detailed error report.

getnamo avatar Aug 28 '21 06:08 getnamo

i was able to get the same crash with out any spaces as well. i tried it with a new location as well. heres what it looks like in file explorer. im trying to zip this parent directory: F:\Games\Steam\steamapps\common\Paradiddle\Paradiddle\Saved\Songs\SmokeontheWater image

ill look up the VC++ debug mode tomorrow because im not quite sure what that is.

CANA-Dan avatar Aug 29 '21 03:08 CANA-Dan

for frick sake i click the button without thinking lmao. i didnt know what it did

CANA-Dan avatar Aug 29 '21 03:08 CANA-Dan

You're missing file extension, it needs the full literal path

getnamo avatar Aug 29 '21 14:08 getnamo

im not trying to zip a file, but rather the whole folder, so all those files should be zipped into a single package. that image just shows my file structure. i also tried adding on the extension to the end as a test, but that didnt work either. image

~~one thing it might be is some weird bug with my install or something. iv had issues in the past that required reverifying, but those were different from this in nature. ill try reverifying my install and get back to you.~~ i verified and repaired my install (the thing that was broken was my ability to package my project, which was fixed with the verify and repair), but that didnt fix this specific issue. for VC++, how would i go about using that? im took a look a guide, but its not really usefull.

CANA-Dan avatar Aug 29 '21 20:08 CANA-Dan

Hmm you're right, I overlooked that you were trying to zip and not unzip, you don't need any extensions.

That said, I just tested the plugin zipping call on a folder with spaces and placed it at a few spots and it all worked. E.g. if you want to zip up a folder called Test inside e.g. C:\Users\Admin\Desktop\My folder with a space or two your final path would be simply C:\Users\Admin\Desktop\My folder with a space or two\Test and that works for me. No quotes nothing else is needed. It should place a Test.7z right next to that folder. I can't replicate your bug as is (tested latest version with UE5.0EA).

Sanity test: does zipping up a single file work? does unzipping work?

getnamo avatar Aug 30 '21 02:08 getnamo

ah right i should have mentioned. im on 26.2, and for plugins that work with files/directories i have: VaRest, FileSystemLibrary, and Victory Plugin i dont think any of those would be a cause of the issue tho. im going to give it a go with this file location: F:\Games\Steam\steamapps\common\Paradiddle\Paradiddle\Saved\songs\SmokeontheWater\SmokeontheWater_Expert.rlrr ... nope didnt work. same crash as last time.

Unzipping also doesn't work note that the text is the exact text im giving the plug in. i have it printing a text box on a widgit UI that i can copy from.

what would happen if i gave it a location that didnt exist? would it crash, or would it simply fail and move on?

CANA-Dan avatar Aug 31 '21 04:08 CANA-Dan

It should fail and move on, not crash. So it is attempting to do something. Maybe a permission error? Try a folder inside your project first and confirm that works for unzip/zip

getnamo avatar Aug 31 '21 18:08 getnamo

i tried zipping, as well as unzipping a folder in my project folder, but still no dice. interestingly, tried unzipping an archive without the zip extension and it didnt crash. i also tried running unreal engine as administrator, no dice. i did the same with packaging the project and running as admin.

something that may be able to help; stuff can still happen after the node crashes. i have the file explorer open at the location of the zip after it runs the zip node, and now it opens, even after the node has crashed. it didnt do this before, im guessing because it would crash file explorer at that location as well as the node. now that im using a different location, both the node and the file explorer can open.

also, im not using the zip utility interface deligate because i dont have a need for it; the folders im going to be zipping are generally going to be sub 40mb total, never containing more than 15 files, so the zip should be very quick and a progress bar isnt needed. if i dont have that, will it break the node?

CANA-Dan avatar Sep 01 '21 04:09 CANA-Dan

question, does this plugin rely on any other plugins? I've gone through my project and wiped a bunch of plugins that i was never going to use for the sake of the final project size, but if there is one that this plugin needs, it may be causing issues.

CANA-Dan avatar Oct 02 '21 09:10 CANA-Dan

Shouldn't rely on other plugins but it does rely on having ATL setup in visual studio for compiling ( https://github.com/getnamo/ZipUtility-ue4#note-on-compiling).

getnamo avatar Oct 02 '21 17:10 getnamo

For others, I had a simillar error:

LoginId:ae20f83e4a59214f4b20cc834ab0a01f
EpicAccountId:b055248c2f8f452abfa4a1fca30a1319

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000010

UE4Editor_ZipUtility!UZipFileFunctionLibrary::Zip() [T:\game_dev\unreal_projects\zen\Plugins\ZipUtility-ue4\Source\ZipUtility\Private\ZipFileFunctionLibrary.cpp:456]
UE4Editor_ZipUtility!UZipFileFunctionLibrary::execZip() [T:\game_dev\unreal_projects\zen\Plugins\ZipUtility-ue4\Intermediate\Build\Win64\UE4Editor\Inc\ZipUtility\ZipFileFunctionLibrary.gen.cpp:171]
UE4Editor_CoreUObject!UObject::execCallMathFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:930]
UE4Editor_CoreUObject!UObject::execLetObj() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2691]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:898]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1128]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:898]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1128]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2870]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:898]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1128]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!UObject::ProcessInternal() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1155]
UE4Editor_CoreUObject!UFunction::Invoke() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5588]
UE4Editor_CoreUObject!UObject::ProcessEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1992]
UE4Editor_UMG!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\UObject\ScriptDelegates.h:488]
UE4Editor_UMG!UButton::SlateHandleClicked() [D:\Build\++UE4\Sync\Engine\Source\Runtime\UMG\Private\Components\Button.cpp:205]
UE4Editor_UMG!TBaseUObjectMethodDelegateInstance<0,UButton,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:593]
UE4Editor_Slate!SButton::ExecuteOnClick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:385]
UE4Editor_Slate!SButton::OnMouseButtonUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:304]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b> >() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:378]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4815]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5356]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5321]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2178]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2642]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1046]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:878]
user32
user32
InkObj
atlthunk
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:130]
UE4Editor!FEngineLoop::Tick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4748]
UE4Editor!GuardedMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdl


When you look at the code, that was the line causing crash: bool bObjectIsValid = ZipUtilityInterfaceDelegate->GetClass()->ImplementsInterface(UZipUtilityInterface::StaticClass());

Turns out that I've forgotten to pass self-reference as my delegate. So double-check what are you passing and if that's correct.

image

kamilhepner avatar Feb 20 '22 02:02 kamilhepner

Nice debug, that section probably needs a verbose warning instead of a hard crash, likely a validity check should suffice. I'll make a note to add this on next plugin update pass.

getnamo avatar Feb 20 '22 02:02 getnamo

Fixed in https://github.com/getnamo/ZipUtility-Unreal/releases/tag/v1.1.1

getnamo avatar Nov 17 '22 09:11 getnamo