{"action":"closed","issue":{"url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1563","labels_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1563/labels{/name}","comments_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1563/comments","events_url":"https://api.github.com/repos/MightyPirates/OpenComputers/issues/1563/events","html_url":"https://github.com/MightyPirates/OpenComputers/issues/1563","id":122434631,"number":1563,"title":"InputStreamFileSystem (and possibly others) do not set filename when throwing FileNotFoundException","user":{"login":"Pwootage","id":503910,"avatar_url":"https://avatars.githubusercontent.com/u/503910?v=3","gravatar_id":"","url":"https://api.github.com/users/Pwootage","html_url":"https://github.com/Pwootage","followers_url":"https://api.github.com/users/Pwootage/followers","following_url":"https://api.github.com/users/Pwootage/following{/other_user}","gists_url":"https://api.github.com/users/Pwootage/gists{/gist_id}","starred_url":"https://api.github.com/users/Pwootage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pwootage/subscriptions","organizations_url":"https://api.github.com/users/Pwootage/orgs","repos_url":"https://api.github.com/users/Pwootage/repos","events_url":"https://api.github.com/users/Pwootage/events{/privacy}","received_events_url":"https://api.github.com/users/Pwootage/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-16T05:53:50Z","updated_at":"2015-12-20T16:20:40Z","closed_at":"2015-12-20T16:20:40Z","body":"I noticed this while implementing the filesystem for my OS (made it very tricky to track down which file it wasn't finding).\r\n\r\nhttps://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/scala/li/cil/oc/server/fs/InputStreamFileSystem.scala#L39-L41\r\n\r\n```scala\r\n  override def open(path: String, mode: Mode) = this.synchronized(if (mode == Mode.Read && exists(path) && !isDirectory(path)) {\r\n    val handle = Iterator.continually((Math.random() * Int.MaxValue).toInt + 1).filterNot(handles.contains).next()\r\n    openInputChannel(path) match {\r\n      case Some(channel) =>\r\n        handles += handle -> new Handle(this, handle, path, channel)\r\n        handle\r\n      case _ => throw new FileNotFoundException()\r\n    }\r\n  } else throw new FileNotFoundException())\r\n```\r\n\r\nI can look for the rest of these and open a pull request, if you like (after finals tomorrow :P)"}}