Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System.IO.DirectoryNotFoundException: Could not find a part of the path '/Volumes/POCKET/Assets/wonderswan/common/bw.rom'. #252

Closed
SlCKB0Y opened this issue Feb 11, 2024 · 6 comments

Comments

@SlCKB0Y
Copy link

SlCKB0Y commented Feb 11, 2024

Describe the bug
When running pupdate 3.2.1 from an SD card on macOS 14.3, when it attempts to download assets for the already installed Wonderswan core, it throws exceptions, Eg: System.IO.DirectoryNotFoundException: Could not find a part of the path '/Volumes/POCKET/Assets/wonderswan/common/bw.rom'. It then moves on to the colour BIOS and throws a similar exception, before moving onto the next core.

The '/Volumes/POCKET/Assets/wonderswan/common/' directory does not exist, which implies the assets have never been downloaded or were deleted. Manually creating the 'common' directory and rerunning Update All allows the Wonderswan BIOSes to download to the SD card.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Update All
  2. See error

Checking Core: agg23.WonderSwan
1.0.1 is the most recent release, checking local core...
local core found: 1.0.1
Looking for Assets
Loading Assets Index...
Downloading 'bw.rom'
Something went wrong with 'bw.rom'
System.IO.DirectoryNotFoundException: Could not find a part of the path '/Volumes/POCKET/Assets/wonderswan/common/bw.rom'.
at Interop.ThrowExceptionForIoErrno(ErrorInfo, String, Boolean)
at Interop.CheckIo(Error, String , Boolean )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, OpenFlags, Int32, Func4) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, FileMode, FileAccess, FileShare, FileOptions, Int64, UnixFileMode, Int64& , UnixFileMode& , Func4 )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1 , Func4 )
at System.IO.Strategies.OSFileStreamStrategy..ctor(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1) at System.IO.Strategies.UnixFileStreamStrategy..ctor(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1) at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream, String, FileMode, FileAccess, FileShare, Int32, FileOptions, Int64, Nullable1)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, FileOptions, Int64)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, FileOptions)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, Boolean)
at System.IO.FileStream..ctor(String, FileMode, FileAccess)
at Pannella.Helpers.HttpHelper.DownloadFileAsync(String uri, String outputPath, Int32 timeout)
at Pannella.Models.Core.DownloadAsset(String fileName, String destination, Archive archive, String archiveName, Boolean useCustomArchive)
Downloading 'color.rom'
Something went wrong with 'color.rom'
System.IO.DirectoryNotFoundException: Could not find a part of the path '/Volumes/POCKET/Assets/wonderswan/common/color.rom'.
at Interop.ThrowExceptionForIoErrno(ErrorInfo, String, Boolean)
at Interop.CheckIo(Error, String , Boolean )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, OpenFlags, Int32, Func4) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, FileMode, FileAccess, FileShare, FileOptions, Int64, UnixFileMode, Int64& , UnixFileMode& , Func4 )
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1 , Func4 )
at System.IO.Strategies.OSFileStreamStrategy..ctor(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1) at System.IO.Strategies.UnixFileStreamStrategy..ctor(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String, FileMode, FileAccess, FileShare, FileOptions, Int64, Nullable1) at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream, String, FileMode, FileAccess, FileShare, Int32, FileOptions, Int64, Nullable1)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, FileOptions, Int64)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, FileOptions)
at System.IO.FileStream..ctor(String, FileMode, FileAccess, FileShare, Int32, Boolean)
at System.IO.FileStream..ctor(String, FileMode, FileAccess)
at Pannella.Helpers.HttpHelper.DownloadFileAsync(String uri, String outputPath, Int32 timeout)
at Pannella.Models.Core.DownloadAsset(String fileName, String destination, Archive archive, String archiveName, Boolean useCustomArchive)
Up to date. Skipping core

...
Update Process Complete
Assets Not Found:
/Assets/wonderswan/common/bw.rom
/Assets/wonderswan/common/color.rom
4. Manually create '/Volumes/POCKET/Assets/wonderswan/common/' directory.
5. Re-run update all and it downloads the Wonderswan BIOSes to the correct location and completes.

Expected behavior
Core updates as required and installs assets without throwing exceptions.

Desktop (please complete the following information):

  • OS: macOS
  • Version: 14.3

Contents of settings file

{ "firmware": { "version": "pocket_firmware_B_8.bin" }, "config": { "download_assets": true, "archive_name": "openFPGA-Files", "gnw_archive_name": "fpga-gnw-opt", "download_gnw_roms": false, "github_token": null, "download_firmware": true, "core_selector": false, "preserve_platforms_folder": false, "delete_skipped_cores": true, "download_new_cores": "ask", "build_instance_jsons": true, "crc_check": true, "fix_jt_names": true, "skip_alternative_assets": true, "backup_saves": false, "backup_saves_location": "Backups", "use_custom_archive": false, "custom_archive": { "url": "https://updater.retrodriven.com", "index": "updater.php" } }, "coreSettings": { "agg23.Arduboy": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.Pong": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.NES": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.PC Engine": { "skip": false, "download_assets": true, "platform_rename": true }, "agg23.PokemonMini": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.SNES": { "skip": false, "download_assets": true, "platform_rename": true }, "ericlewis.Asteroids": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.Dominos": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.DonkeyKong": { "skip": false, "download_assets": true, "platform_rename": true }, "ericlewis.Genesis": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.LunarLander": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.RadarScope": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.SpaceRace": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.SuperBreakout": { "skip": true, "download_assets": true, "platform_rename": true }, "ericlewis.QBert": { "skip": true, "download_assets": true, "platform_rename": true }, "Mazamars312.NeoGeo": { "skip": false, "download_assets": true, "platform_rename": true }, "Mazamars312.amiga": { "skip": false, "download_assets": true, "platform_rename": true }, "nullobject.tecmo": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.bankpanic": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.congo": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.digdug": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.galaga": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.gberet": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.pooyan": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.supervision": { "skip": true, "download_assets": true, "platform_rename": true }, "boogermann.xevious": { "skip": true, "download_assets": true, "platform_rename": true }, "Spacemen3.PDP1": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.GB": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.GBA": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.GBC": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.NES": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.GG": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.SMS": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.SG-1000": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.VideoBrain": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Supervision": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.SuperGB": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.Studio2": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Odyssey2": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Intv": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.Megaduck": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Genesis": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.Gameking": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Gamate": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Creativision": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Coleco": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.ChannelF": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.7800": { "skip": false, "download_assets": true, "platform_rename": true }, "Spiritualized.Arcadia": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.Adventurevision": { "skip": true, "download_assets": true, "platform_rename": true }, "Spiritualized.2600": { "skip": false, "download_assets": true, "platform_rename": true }, "pram0d.garegga": { "skip": true, "download_assets": true, "platform_rename": true }, "pram0d.snowbros2": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtdd": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtdd2": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtgng": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtkicker": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtkunio": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtmikie": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtpinpon": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtroadf": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtroc": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtsbaskt": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jttrack": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtvigil": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtyiear": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtpang": { "skip": true, "download_assets": true, "platform_rename": true }, "Mazamars312.Amiga": { "skip": false, "download_assets": true, "platform_rename": true }, "pram0d.bakraid": { "skip": true, "download_assets": true, "platform_rename": true }, "pram0d.batrider": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtcontra": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.Tamagotchi_P1": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.WonderSwan": { "skip": false, "download_assets": true, "platform_rename": true }, "antongale.exerion": { "skip": true, "download_assets": true, "platform_rename": true }, "antongale.performan": { "skip": true, "download_assets": true, "platform_rename": true }, "antongale.slapfight": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtcps1": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtexed": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtgunsmk": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtkarnov": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtoutrun": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtcop": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtsectnz": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtsarms": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtsf": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jttrojan": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtvulgus": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtcomsc": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtkiwi": { "skip": true, "download_assets": true, "platform_rename": true }, "Mazamars312.NeoGeo_Overdrive": { "skip": false, "download_assets": true, "platform_rename": true }, "Mazamars312.PC Engine CD": { "skip": false, "download_assets": true, "platform_rename": true }, "pram0d.kingdmgp": { "skip": true, "download_assets": true, "platform_rename": true }, "pram0d.sstriker": { "skip": true, "download_assets": true, "platform_rename": true }, "agg23.GameAndWatch": { "skip": false, "download_assets": true, "platform_rename": true }, "antongale.taitosj": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtaliens": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtbtiger": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtbubl": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtcastle": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtcps15": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtcps2": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtfround": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtninja": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtrastan": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jts16": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jts16b": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtshanon": { "skip": false, "download_assets": true, "platform_rename": true }, "jotego.jtshouse": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtsimson": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jttmnt": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jttora": { "skip": false, "download_assets": true, "platform_rename": true }, "RndMnkIII.alphamission": { "skip": false, "download_assets": true, "platform_rename": true }, "somhi.flappybird": { "skip": true, "download_assets": true, "platform_rename": true }, "atrac17.pipibibs": { "skip": true, "download_assets": true, "platform_rename": true }, "atrac17.truxton2": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jt1942": { "skip": true, "download_assets": true, "platform_rename": true }, "AwesomeDolphin.SpaceInvaders": { "skip": true, "download_assets": true, "platform_rename": true }, "budude2.GB": { "skip": true, "download_assets": true, "platform_rename": true }, "budude2.GBC": { "skip": true, "download_assets": true, "platform_rename": true }, "jotego.jtngp": { "skip": true, "download_assets": true, "platform_rename": true } } }

@SlCKB0Y
Copy link
Author

SlCKB0Y commented Feb 11, 2024

Apologies for the formatting nastiness.

@mattpannella
Copy link
Owner

did you manually delete the common directory? it should have been installed at the time the core was installed

@hallem
Copy link
Contributor

hallem commented Feb 11, 2024

Yeah currently the common directory needs to be there first. I have some code that checks for it in some work in progress. I'll try and pull that out into a separate branch and put up a PR for it.

@mattpannella
Copy link
Owner

no rush, just keep it in the branch you're working on. this has been there since day 1 haha

@hallem
Copy link
Contributor

hallem commented Feb 12, 2024

sounds good.

@mattpannella
Copy link
Owner

fixed in 3.4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants