{"action":"created","issue":{"url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/460","repository_url":"https://api.github.com/repos/kaitai-io/kaitai_struct","labels_url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/460/labels{/name}","comments_url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/460/comments","events_url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/460/events","html_url":"https://github.com/kaitai-io/kaitai_struct/issues/460","id":341254907,"node_id":"MDU6SXNzdWUzNDEyNTQ5MDc=","number":460,"title":"Is it possible to access data beyond linked list?","user":{"login":"m-ka","id":2353231,"node_id":"MDQ6VXNlcjIzNTMyMzE=","avatar_url":"https://avatars2.githubusercontent.com/u/2353231?v=4","gravatar_id":"","url":"https://api.github.com/users/m-ka","html_url":"https://github.com/m-ka","followers_url":"https://api.github.com/users/m-ka/followers","following_url":"https://api.github.com/users/m-ka/following{/other_user}","gists_url":"https://api.github.com/users/m-ka/gists{/gist_id}","starred_url":"https://api.github.com/users/m-ka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-ka/subscriptions","organizations_url":"https://api.github.com/users/m-ka/orgs","repos_url":"https://api.github.com/users/m-ka/repos","events_url":"https://api.github.com/users/m-ka/events{/privacy}","received_events_url":"https://api.github.com/users/m-ka/received_events","type":"User","site_admin":false},"labels":[{"id":329236481,"node_id":"MDU6TGFiZWwzMjkyMzY0ODE=","url":"https://api.github.com/repos/kaitai-io/kaitai_struct/labels/question","name":"question","color":"1d76db","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2018-07-14T18:04:39Z","updated_at":"2018-08-06T08:02:19Z","closed_at":null,"author_association":"NONE","body":"I'm trying to parse files containing data organized into linked lists. Here is an example of  simplified version of the parser:\r\n``` YAML\r\nmeta:\r\n  id: structlist\r\n\r\ninstances:\r\n  struct_pointer:\r\n    type: u1\r\n    pos: 0x10\r\n\r\n  struct_list:\r\n    type: struct\r\n    pos: struct_pointer\r\n\r\ntypes:\r\n  struct:\r\n    seq:\r\n    - id: id\r\n      type: u1\r\n    - id: next_pointer\r\n      type: u1\r\n    - id: data\r\n      type: ...\r\n    instances:\r\n      next:\r\n        type: struct\r\n        pos: next_pointer\r\n        io: _root._io\r\n        if: next_pointer != 0\r\n```\r\nThe data structures do not occupy the whole file and there is some unused space left after the list which I expect to be filled with zeroes. I would like to get access to this unused space to make sure its content meets my expectations. The problem is that I can't make any assumptions about list ordering or data sizes, and the last structure in the list can be placed in the beginning of the file. It looks like there is no way to access unused space in such situation. Am I right here?"},"comment":{"url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/comments/410622462","html_url":"https://github.com/kaitai-io/kaitai_struct/issues/460#issuecomment-410622462","issue_url":"https://api.github.com/repos/kaitai-io/kaitai_struct/issues/460","id":410622462,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDYyMjQ2Mg==","user":{"login":"m-ka","id":2353231,"node_id":"MDQ6VXNlcjIzNTMyMzE=","avatar_url":"https://avatars2.githubusercontent.com/u/2353231?v=4","gravatar_id":"","url":"https://api.github.com/users/m-ka","html_url":"https://github.com/m-ka","followers_url":"https://api.github.com/users/m-ka/followers","following_url":"https://api.github.com/users/m-ka/following{/other_user}","gists_url":"https://api.github.com/users/m-ka/gists{/gist_id}","starred_url":"https://api.github.com/users/m-ka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-ka/subscriptions","organizations_url":"https://api.github.com/users/m-ka/orgs","repos_url":"https://api.github.com/users/m-ka/repos","events_url":"https://api.github.com/users/m-ka/events{/privacy}","received_events_url":"https://api.github.com/users/m-ka/received_events","type":"User","site_admin":false},"created_at":"2018-08-06T08:02:19Z","updated_at":"2018-08-06T08:02:19Z","author_association":"NONE","body":"I definitely updated the compiler as `_debug` objects are in compiled files. Here is a stack trace for the file I attached:\r\n```\r\nscala.NotImplementedError: an implementation is missing\r\n        at scala.Predef$.$qmark$qmark$qmark(Predef.scala:284)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.handleAssignmentTempVar(EveryReadIsExpression.scala:200)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.handleAssignmentTempVar$(EveryReadIsExpression.scala:200)\r\n        at io.kaitai.struct.languages.PythonCompiler.handleAssignmentTempVar(PythonCompiler.scala:12)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.attrUserTypeParse(EveryReadIsExpression.scala:147)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.attrUserTypeParse$(EveryReadIsExpression.scala:107)\r\n        at io.kaitai.struct.languages.PythonCompiler.attrUserTypeParse(PythonCompiler.scala:12)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.attrParse2(EveryReadIsExpression.scala:43)\r\n        at io.kaitai.struct.languages.components.EveryReadIsExpression.attrParse2$(EveryReadIsExpression.scala:24)\r\n        at io.kaitai.struct.languages.PythonCompiler.attrParse2(PythonCompiler.scala:12)\r\n        at io.kaitai.struct.languages.components.CommonReads.attrParse0(CommonReads.scala:68)\r\n        at io.kaitai.struct.languages.components.CommonReads.attrParse0$(CommonReads.scala:60)\r\n        at io.kaitai.struct.languages.PythonCompiler.attrParse0(PythonCompiler.scala:12)\r\n        at io.kaitai.struct.languages.components.CommonReads.attrParse(CommonReads.scala:41)\r\n        at io.kaitai.struct.languages.components.CommonReads.attrParse$(CommonReads.scala:11)\r\n        at io.kaitai.struct.languages.PythonCompiler.attrParse(PythonCompiler.scala:12)\r\n        at io.kaitai.struct.ClassCompiler.$anonfun$compileSeq$1(ClassCompiler.scala:226)\r\n        at io.kaitai.struct.ClassCompiler.$anonfun$compileSeq$1$adapted(ClassCompiler.scala:222)\r\n        at scala.collection.immutable.List.foreach(List.scala:389)\r\n        at io.kaitai.struct.ClassCompiler.compileSeq(ClassCompiler.scala:222)\r\n        at io.kaitai.struct.ClassCompiler.compileSeqProc(ClassCompiler.scala:210)\r\n        at io.kaitai.struct.ClassCompiler.compileEagerRead(ClassCompiler.scala:172)\r\n        at io.kaitai.struct.ClassCompiler.compileClass(ClassCompiler.scala:71)\r\n        at io.kaitai.struct.ClassCompiler.compile(ClassCompiler.scala:25)\r\n        at io.kaitai.struct.Main$.compile(Main.scala:67)\r\n        at io.kaitai.struct.JavaMain.compileSpecAndWriteToFile(JavaMain.scala:282)\r\n        at io.kaitai.struct.JavaMain.$anonfun$compileOneLang$2(JavaMain.scala:265)\r\n        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)\r\n        at scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:138)\r\n        at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:236)\r\n        at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:229)\r\n        at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)\r\n        at scala.collection.mutable.HashMap.foreach(HashMap.scala:138)\r\n        at scala.collection.TraversableLike.map(TraversableLike.scala:234)\r\n        at scala.collection.TraversableLike.map$(TraversableLike.scala:227)\r\n        at scala.collection.AbstractTraversable.map(Traversable.scala:104)\r\n        at io.kaitai.struct.JavaMain.compileOneLang(JavaMain.scala:263)\r\n        at io.kaitai.struct.JavaMain.compileOneInput(JavaMain.scala:242)\r\n        at io.kaitai.struct.JavaMain.$anonfun$run$1(JavaMain.scala:212)\r\n        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)\r\n        at scala.collection.immutable.List.foreach(List.scala:389)\r\n        at scala.collection.TraversableLike.map(TraversableLike.scala:234)\r\n        at scala.collection.TraversableLike.map$(TraversableLike.scala:227)\r\n        at scala.collection.immutable.List.map(List.scala:295)\r\n        at io.kaitai.struct.JavaMain.run(JavaMain.scala:210)\r\n        at io.kaitai.struct.JavaMain$.main(JavaMain.scala:201)\r\n        at io.kaitai.struct.JavaMain.main(JavaMain.scala)\r\nan implementation is missing\r\n```\r\nAnd here is one of the files which causes the problem just in case you want to reproduce it:\r\n[resizable_bar.ksy.tar.gz](https://github.com/kaitai-io/kaitai_struct/files/2261619/resizable_bar.ksy.tar.gz)\r\n"}}
{"actor":{"display_login":"m-ka"}}