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

http: Report errors reading discs #11700

Merged
merged 3 commits into from
Dec 27, 2018
Merged

Conversation

unknownbrackets
Copy link
Collaborator

This also implements better error handling and some cleanup:

  • All FileLoaders that use a backend_ now are ProxiedFileLoaders. This cuts down on duplicated code.
  • We no longer wait indefinitely for an HTTP response when reading remote discs, and instead timeout.
  • Errors loading games from remote discs are now reported more clearly, instead of always "error reading file".

May help troubleshoot issues here: http://forums.ppsspp.org/showthread.php?tid=19752&pid=133054#pid133054

-[Unknown]

Firewalls can cause this, by opening a connection but never responding.
For more clarity when they can't load.
@unknownbrackets unknownbrackets added this to the v1.8.0 milestone Dec 27, 2018
@hrydgard hrydgard merged commit 127330f into hrydgard:master Dec 27, 2018
@unknownbrackets unknownbrackets deleted the http-error branch December 27, 2018 21:04
@vsub
Copy link

vsub commented Dec 28, 2018

Continuing from the forum
This is what I get in the console

Debugger connected
28:22:300 FileLoaders/HTTPFileLoader.cpp:57 E[LOADER]: HTTP request failed, got -01 for http://192.168.1.11:49845/cube.iso
28:24:390 Core/System.cpp:337 I[BOOT]: PPSSPP v1.7.5-336-g127330fee
28:24:410 FileLoaders/HTTPFileLoader.cpp:57 E[LOADER]: HTTP request failed, got -01 for http://192.168.1.11:49845/cube.iso
28:24:416 Core/MemMap.cpp:292 I[MEMMAP]: Memory system initialized. Base at 0x8ac7c000 (RAM at @ 0x92c7c000, uncached @ 0x92c7c000)
28:24:416 ARM/ArmJit.cpp:114 I[JIT]: ARM JIT initialized: 15 MB of code space
28:24:417 Core/Loaders.cpp:296 E[LOADER]: Could not read file
28:24:417 HLE/sceKernel.cpp:161 E[SCEKERNEL]: Can't shut down kernel - not running
28:24:417 UI/EmuScreen.cpp:265 E[BOOT]: Could not connect (invalid response)
29:36:773 UI/RemoteISOScreen.cpp:90 N[HLE]: RemoteISO found: 192.168.1.11 : 49845
29:36:841 FileLoaders/HTTPFileLoader.cpp:57 E[LOADER]: HTTP request failed, got -01 for http://192.168.1.11:49845/cube.iso
29:39:111 Core/System.cpp:337 I[BOOT]: PPSSPP v1.7.5-336-g127330fee
29:39:150 FileLoaders/HTTPFileLoader.cpp:57 E[LOADER]: HTTP request failed, got -01 for http://192.168.1.11:49845/cube.iso
29:39:154 Core/MemMap.cpp:292 I[MEMMAP]: Memory system initialized. Base at 0x8b000000 (RAM at @ 0x93000000, uncached @ 0x93000000)
29:39:154 ARM/ArmJit.cpp:114 I[JIT]: ARM JIT initialized: 15 MB of code space
29:39:154 Core/Loaders.cpp:296 E[LOADER]: Could not read file
29:39:154 HLE/sceKernel.cpp:161 E[SCEKERNEL]: Can't shut down kernel - not running
29:39:155 UI/EmuScreen.cpp:265 E[BOOT]: Could not connect (invalid response)

@unknownbrackets
Copy link
Collaborator Author

That really looks like there's a firewall blocking it, but maybe something is just making the connections really slow...

-[Unknown]

@vsub
Copy link

vsub commented Dec 29, 2018

I have a firewall on my phone but I tried disabling it and I also allowed ppsspp in the windows firewall(I have only the windows firewall and the windows defender)but nothing changes

As I said,I dont have any problems transfering files(fast)over wifi(making an ftp server on my phone and accessing it from my pc)

@unknownbrackets
Copy link
Collaborator Author

The reason I suspect a firewall is that a typical behavior for firewalls is to accept connections on a port (e.g. 49845), but then ignore any data sent and never respond with any data. That matches the before and after pretty much exactly.

If you navigate to this URL on your phone, does it start downloading cube.iso? http://192.168.1.11:49845/cube.iso

The connection that is failing is the one from your phone (source) to your PC (destination.) So that would mean a PC firewall (or network device the PC is connected behind) would be getting in the way.

If the download of cube.iso works fine (and fast) from your phone in Chrome, it probably means that some antivirus software or hardware is intercepting the request and stripping the range request, or something. I haven't seen this behavior before, but many routers do have protocol-aware protections.

-[Unknown]

@unknownbrackets
Copy link
Collaborator Author

Oops, I think I must've pressed something wrong in vi, there's a typo, fixed in 809c0f3.

-[Unknown]

@vsub
Copy link

vsub commented Dec 29, 2018

When I try to download it(on my pc and phone),I get
"This server only supports range requests."

With this typo fixes,I am back to black screen and nothing happening and the debugger now just says that he found a game at that IP and that's all

And also if I try to share my games on my phone,on my pc ppsspp is scanning endlessly but I can access the list on my pc with firefox but if I try to download something,I get the same error
"This server only supports range requests."

@unknownbrackets
Copy link
Collaborator Author

Oh sorry, yes. It will say that. But it means you're getting through the firewall.

So it stays at a black screen without any timeout or error after 60 full seconds? Hm.

-[Unknown]

@vsub
Copy link

vsub commented Dec 30, 2018

Yes,almost like ppsspp freezes...one time my phone was barely reacting to anything and the os ask me if I want to kill the process
I have 3 games on my phone and they all work fine but if I try them like this(streaming from the pc)ppsspp freezes

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

Successfully merging this pull request may close these issues.

None yet

3 participants