... so it looks like it is something related to api.loadManifest and storage.TreeJoin
being unable to handle this particular type of file.
It appears that most files do indeed work, however, the ones that do not work now are the ones involving a redirect.
Perhaps the router that is built in is attempting to do something "smart"
by attempting to detect redirects and handle them internally, but winds up with a panic when doing so?
System information
Swarm version: 0.5.8 OS & Version: Linux - Ubuntu 18.04 Commit hash : 6faff7fcb6f25c706e75d8d3c8945c4231663b93
Expected behaviour
bzz:/
URL in a browser, the correspondingindex.html
page gets rendered all the timehttp://localhost:8500/bzz:/some-hash/foo/
serves upfoo/index.html
within the uploaded manifestActual behaviour
bzz:/
URL in a browser, some pages do not get routed properlyindex.html
page within it/index
to the URL, the correct file is servedfoo/
fails, a request tofoo/index
does indeed serve up whatfoo/
was supposed to serve upapi.loadManifest
andstorage.TreeJoin
Steps to reproduce the behaviour
http-server
, works: http://localhost:2323/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/swarm
, works: http://localhost:8500/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/http-server
, works: http://localhost:2323/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/rif/rns/swarm
, does not work: http://localhost:8500/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/rif/rns/index
, both do indeed work, but this isn't really a solution, as the links shouldn't be changed for thishttp-server
, works: http://localhost:2323/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/rif/rns/indexswarm
, works: http://localhost:8500/bzz:/c5e6c48ddbb7a419b379fdd8fea776dc7e39373147ca568bf479e93fbfcab0c0/rif/rns/indexFor the failing request, the HTTP traffic copied from my browser's dev tools is:
Which can be summarised as: Returned a "200 OK" status with zero-length response body.
Backtrace
The corresponding output from my local swarm:
The
ERROR
stack trace, which appears as a single line, and is redacted above, is shown below, parsed to add new lines:... so it looks like it is something related to
api.loadManifest
andstorage.TreeJoin
being unable to handle this particular type of file.It appears that most files do indeed work, however, the ones that do not work now are the ones involving a redirect. Perhaps the router that is built in is attempting to do something "smart" by attempting to detect redirects and handle them internally, but winds up with a panic when doing so?
cc @vojtechsimetka