{"action":"created","issue":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8132","labels_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8132/labels{/name}","comments_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8132/comments","events_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8132/events","html_url":"https://github.com/OpenRA/OpenRA/issues/8132","id":74958290,"number":8132,"title":"gdi3lose.vqa crashes the game","user":{"login":"obrakmann","id":4331210,"avatar_url":"https://avatars.githubusercontent.com/u/4331210?v=3","gravatar_id":"","url":"https://api.github.com/users/obrakmann","html_url":"https://github.com/obrakmann","followers_url":"https://api.github.com/users/obrakmann/followers","following_url":"https://api.github.com/users/obrakmann/following{/other_user}","gists_url":"https://api.github.com/users/obrakmann/gists{/gist_id}","starred_url":"https://api.github.com/users/obrakmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obrakmann/subscriptions","organizations_url":"https://api.github.com/users/obrakmann/orgs","repos_url":"https://api.github.com/users/obrakmann/repos","events_url":"https://api.github.com/users/obrakmann/events{/privacy}","received_events_url":"https://api.github.com/users/obrakmann/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Crash","name":"Crash","color":"e10c02"},{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Regression","name":"Regression","color":"e11d21"},{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Tiberian%20Dawn","name":"Tiberian Dawn","color":"FFD700"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-10T17:06:19Z","updated_at":"2015-05-10T17:18:37Z","closed_at":null,"body":"It used to work in release-20141029\r\n\r\n```\r\nException of type `System.IO.EndOfStreamException`: Failed to read past end of stream.\r\n  at OpenRA.StreamExts.ReadBytes (System.IO.Stream s, System.Byte[] buffer, Int32 offset, Int32 count) [0x00046] in /home/oliver/devel/openra/git/OpenRA.Game/StreamExts.cs:41 \r\n  at OpenRA.StreamExts.ReadBytes (System.IO.Stream s, Int32 count) [0x00023] in /home/oliver/devel/openra/git/OpenRA.Game/StreamExts.cs:25 \r\n  at OpenRA.FileFormats.VqaReader.CollectAudioData () [0x0016d] in /home/oliver/devel/openra/git/OpenRA.Game/FileFormats/VqaReader.cs:206 \r\n  at OpenRA.FileFormats.VqaReader..ctor (System.IO.Stream stream) [0x00357] in /home/oliver/devel/openra/git/OpenRA.Game/FileFormats/VqaReader.cs:152 \r\n  at OpenRA.Mods.Common.Widgets.VqaPlayerWidget.Load (System.String filename) [0x0001d] in /home/oliver/devel/openra/git/OpenRA.Mods.Common/Widgets/VqaPlayerWidget.cs:53\r\n```\r\n\r\n```\r\n$ md5sum ~/.openra/Content/cnc/movies-gdi.mix \r\n259cff394b66a2bad612bd080d4f77de  /home/oliver/.openra/Content/cnc/movies-gdi.mix\r\n```\r\n\r\n<bountysource-plugin>\r\n---\r\nWant to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/14094818-gdi3lose-vqa-crashes-the-game?utm_campaign=plugin&utm_content=tracker%2F36085&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F36085&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/comments/100670928","html_url":"https://github.com/OpenRA/OpenRA/issues/8132#issuecomment-100670928","issue_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/8132","id":100670928,"user":{"login":"penev92","id":7137365,"avatar_url":"https://avatars.githubusercontent.com/u/7137365?v=3","gravatar_id":"","url":"https://api.github.com/users/penev92","html_url":"https://github.com/penev92","followers_url":"https://api.github.com/users/penev92/followers","following_url":"https://api.github.com/users/penev92/following{/other_user}","gists_url":"https://api.github.com/users/penev92/gists{/gist_id}","starred_url":"https://api.github.com/users/penev92/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/penev92/subscriptions","organizations_url":"https://api.github.com/users/penev92/orgs","repos_url":"https://api.github.com/users/penev92/repos","events_url":"https://api.github.com/users/penev92/events{/privacy}","received_events_url":"https://api.github.com/users/penev92/received_events","type":"User","site_admin":false},"created_at":"2015-05-10T17:18:37Z","updated_at":"2015-05-10T17:18:37Z","body":"Here is my exception:\r\n```\r\nSystem.OutOfMemoryException was unhandled\r\n  HResult=-2147024882\r\n  Message=Exception of type 'System.OutOfMemoryException' was thrown.\r\n  Source=OpenRA.Game\r\n  StackTrace:\r\n       at OpenRA.StreamExts.ReadBytes(Stream s, Int32 count) in e:\\Work\\Programming\\C#\\OpenRA\\OpenRA\\OpenRA.Game\\StreamExts.cs:line 24\r\n       at OpenRA.FileFormats.VqaReader.CollectAudioData() in e:\\Work\\Programming\\C#\\OpenRA\\OpenRA\\OpenRA.Game\\FileFormats\\VqaReader.cs:line 206\r\n       at OpenRA.FileFormats.VqaReader..ctor(Stream stream) in e:\\Work\\Programming\\C#\\OpenRA\\OpenRA\\OpenRA.Game\\FileFormats\\VqaReader.cs:line 152\r\n       at OpenRA.Mods.Common.Widgets.VqaPlayerWidget.Load(String filename)\r\n       at OpenRA.Mods.Common.Widgets.Logic.AssetBrowserLogic.LoadAsset(String filename)\r\n       at OpenRA.Mods.Common.Widgets.Logic.AssetBrowserLogic.<>c__DisplayClass42.<AddAsset>b__3f()\r\n```\r\n\r\nThe reason for that is `VqaReader.CollectAudioData()` reads a wrong chunk for `type` - `\"D\\0SN\"`, the `switch` goes to the default case with `length == 1144127488` and then `StreamExts.ReadBytes()` tries to do `var buffer = new byte[1144127488];`"}}