Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Every time I get "system ID" error, it means the archive is corrupted and I can't open it, nor load it. It can only be corrupted during saving, so there should be some breakpoints in the end of saving routine that wouldn't be hit if it doesn't save properly.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: Additionnal info, hopefully it will be enough.
Joined: 10/23/2009
Posts: 545
Location: Where?
Suuper wrote:
@niamek: I am unable to reproduce your error. I don't see how doing something quickly would mess anything up, and I also don't know how quickly you mean for me to do it. If you could find a method of reproducing the error that doesn't require quick clicking, that would be great. (It also seems that this situation is so contrived that nobody would ever accidentally encounter it...) Also, please post the settings you have under "Metadata..." -> "Savestate History Settings"
You have to make the branches alterning as fast as you can. I did do it during my TASing sessions without wanting it to do. I use branches a lot. So I guess it might be a simple matter of doing a lot of branches in a short amount of time. What I noticed is that the longer the run, the more trouble some the branches saving are. Last time I tried to reproduce it, with like 1000 frames, got nothing. However, by upping the ante(20 000 frames), I got it. Maybe it's something with the memory avaibility? (I know next to nothing about coding...) I never toched Metadata since all my downloads. So it should be the default one.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
There's a small chance that you save a new branch before the old one that you just saved finishes writing down its states. I'd assume it becomes more and more broken at that rate if use longer movies (with all input log covered with states). Maybe a simple ban should be added to saving a branch while saving a brunch (the same I did to saving a project). But that's just a guess.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
niamek, check precisely 2 scenarios: the one where you save those huge branches asap, and the one where you save them with no hurry. If that's the problem, it's good.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Joined: 10/23/2009
Posts: 545
Location: Where?
Currently testing. Will edit the message when I'm done. (With the latest release) EDIT: I'll be damned. I didn't repro. Maybe it's fixed? I also occured an another bug during my test. I'll post on GITHUB.
Post subject: 2 new bugs
Joined: 10/23/2009
Posts: 545
Location: Where?
So, I got this bug, but really don't know how I got that. I just TASed.
Bizhawk wrote:
************** Exception Text ************** System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at System.Collections.Generic.SortedList`2.GetByIndex(Int32 index) at System.Collections.Generic.SortedList`2.ValueList.get_Item(Int32 index) at BizHawk.Client.Common.TasStateManager.stateHasDuplicate(Int32 frame, Int32 branchHash) at BizHawk.Client.Common.TasStateManager.RemoveState(Int32 frame, Int32 branch) at BizHawk.Client.Common.TasStateManager.Invalidate(Int32 frame) at BizHawk.Client.Common.TasMovie.InvalidateAfter(Int32 frame) at BizHawk.Client.Common.TasMovie.ToggleBoolState(Int32 frame, String buttonName) at BizHawk.Client.EmuHawk.TAStudio.TasView_MouseDown(Object sender, MouseEventArgs e) at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) at BizHawk.Client.EmuHawk.InputRoll.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Anyonegot that? Anyone got idea how I could repro? EDIT: After clicking "continue", and trying to TAS it rethrows the same error, so there is something wrong with that index or collection. :/ EDIT: Closing got me this:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created. at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) at BizHawk.Client.EmuHawk.TAStudio.<InitializeSeekWorker>b__b(Object s, ProgressChangedEventArgs e) at System.ComponentModel.BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs e) at System.ComponentModel.BackgroundWorker.ProgressReporter(Object arg)
Maybe they are related?
Joined: 10/23/2009
Posts: 545
Location: Where?
Closing is not related. Will have to be debugged another time. As of the first bug. Currently testing and got it more reliably. I'll report it on GitHUB. EDIT: Reported. Should be reproducible reliably. It was the bugs I kept getting each time I TAS. To summarize, deleting or cloning a group of frames, then saving a branch, then selecting. These steps breaks everything. And since I clone or delete a lot like that, it was inevitable that I kept getting these annoying bugs.
Editor, Skilled player (1505)
Joined: 7/9/2010
Posts: 1317
The RR counting is actually not working as intended. The current method of "increment rerecords when greenzone state is invalidated" is only working for platforms which have greenzone states on every frame, but with n64 it might often not invalidate a greenzone state.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1555
http://pastebin.com/eQ6eXWPQ MOD EDIT: please pastebin error messages and other extremely long messages
Editor, Emulator Coder
Joined: 8/7/2008
Posts: 1156
did you try moving a tastudio project between bizhawk versions?
Joined: 10/23/2009
Posts: 545
Location: Where?
Suuper wrote:
@niamek: I am unable to reproduce your error. I don't see how doing something quickly would mess anything up, and I also don't know how quickly you mean for me to do it. If you could find a method of reproducing the error that doesn't require quick clicking, that would be great. (It also seems that this situation is so contrived that nobody would ever accidentally encounter it...) Also, please post the settings you have under "Metadata..." -> "Savestate History Settings" When I tried it with branch states turned off, everything worked the way it is supposed to. With it turned on, however, I got a different error when I tried to re-open it. Bizhawk told me that the system Id did not match; the movie had no system Id set. (When I changed the code to bypass that check, it found other problems with it.) I don't know if this is a problem caused by that setting being half-baked, or somewhere else. Could someone familiar with movie saving look into it? (I tested with Mario Kart Super Circuit, US.)
It's not related to branches now. I just got it without even using branches at all.
************* Exception Text ************** System.IO.EndOfStreamException: Unable to read beyond the end of the stream. at System.IO.BinaryReader.FillBuffer(Int32 numBytes) at System.IO.BinaryReader.ReadInt32() at BizHawk.Client.Common.TasStateManager.Load(BinaryReader br) at BizHawk.Client.Common.TasMovie.<Load>b__45(BinaryReader br, Int64 length) at BizHawk.Client.Common.BinaryStateLoader.<>c__DisplayClass4.<GetLump>b__3(Stream s, Int64 length) at BizHawk.Client.Common.BinaryStateLoader.GetLump(BinaryStateLump lump, Boolean abort, Action`2 callback) at BizHawk.Client.Common.BinaryStateLoader.GetLump(BinaryStateLump lump, Boolean abort, Action`2 callback) at BizHawk.Client.Common.TasMovie.Load(Boolean preload) at BizHawk.Client.Common.MovieSession.QueueNewMovie(IMovie movie, Boolean record, IEmulator emulator) at BizHawk.Client.EmuHawk.MainForm.StartNewMovie(IMovie movie, Boolean record) at BizHawk.Client.EmuHawk.TAStudio.StartNewMovieWrapper(Boolean record, IMovie movie) at BizHawk.Client.EmuHawk.TAStudio.HandleMovieLoadStuff(TasMovie movie) at BizHawk.Client.EmuHawk.TAStudio.LoadFile(FileInfo file, Boolean startsFromSavestate) at BizHawk.Client.EmuHawk.TAStudio.OpenTasMenuItem_Click(Object sender, EventArgs e) at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I did clone and delete a lot. Something lead me to believe that's these two options the culprit for that exception text. I'll try to repro when I'm up for it.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
From BizHawk 1.11.6, I'm not sure why, but sometimes TAStudios Clear/Delete/Clone functions using Control+Insert, Delete, etc, don't work. Restarting the emulator fixes it, but I'm not sure why it stops working.
Joined: 10/23/2009
Posts: 545
Location: Where?
Hotkeys sometimes stop working. So it's not only those. Sometimes I press my frame advance hotkey and it doesn't work.
Editor, Skilled player (1505)
Joined: 7/9/2010
Posts: 1317
jlun2 wrote:
From BizHawk 1.11.6, I'm not sure why, but sometimes TAStudios Clear/Delete/Clone functions using Control+Insert, Delete, etc, don't work. Restarting the emulator fixes it, but I'm not sure why it stops working.
Go to Edit and press any of the functions, then they'll work again.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
This just happened http://pastebin.com/Ns4inFCq Context: After saving a TAStudio project, I closed it with "X" at the top corner then tried to frame advance.
Joined: 10/23/2009
Posts: 545
Location: Where?
Not sure it's that precisely, since I just tried to repro by: -Opening TAStudio -Do a random movie -Save as -Close -Frame advance. Maybe you did something before that that messed up? Or that's the saving messed up?
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Niamek wrote:
Not sure it's that precisely, since I just tried to repro by: -Opening TAStudio -Do a random movie -Save as -Close -Frame advance. Maybe you did something before that that messed up? Or that's the saving messed up?
Seems that way. I'll post if it happens again. Sorry.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Not sure if it's related. But 1. Make some movie 2. Make a new branch somewhere 3. Go somewhere further into the movie 4. Update said branch at a previous time 5. The words "Seeking" should occur, along with an incomplete green bar. Try and click anywhere else in the movie's piano roll input http://pastebin.com/0FQsjgAP Additionally, proceeding to save and close TAStudios during that "Seeking" bit gives the same error I posted"
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11269
Location: RU
Yeah, it all proves background saving and seeking were a mistake. Taseditor uses progressbar in the main thread somehow, so you can't corrupt stuff. Maybe seeking progressbar is manageable if we fix some stuff, but the saving one definitely needs overhaul or death.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Found another glitch, this time it closes BizHawk. Tested on 1.11.6: 1. Open TAStudios 2. Make some input for several hundred frames; I held "Up" for the entire time 3. Add a new branch at several hundred frames in 4. Go back to the top of the piano roll and remove some of the input 5. Let the movie play to around half way 6. Update the branch from step 3 7. Go back to the top of the piano roll again and readd input to ~100 frames
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.SortedList`2.GetByIndex(Int32 index)
   at System.Collections.Generic.SortedList`2.ValueList.get_Item(Int32 index)
   at BizHawk.Client.Common.TasStateManager.StateToRemove()
   at BizHawk.Client.Common.TasStateManager.MaybeRemoveStates()
   at BizHawk.Client.Common.TasStateManager.SetState(Int32 frame, Byte[] state, Boolean skipRemoval)
   at BizHawk.Client.Common.TasStateManager.Capture(Boolean force)
   at BizHawk.Client.Common.TasMovie.GreenzoneCurrentFrame()
   at BizHawk.Client.Common.MovieSession.HandleMovieAfterFrameLoop()
   at BizHawk.Client.EmuHawk.MainForm.StepRunLoop_Core(Boolean force)
   at BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop()
   at BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
Then BizHawk closes
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
The emulator crashed when I attempted to save a tasproj file, and now the file's corrupted. Is there anyway to save it, or just rely on my memory and hope I still remember the route?
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
jlun2 wrote:
The emulator crashed when I attempted to save a tasproj file, and now the file's corrupted. Is there anyway to save it, or just rely on my memory and hope I still remember the route?
Try opening the TASProj file in 7-Zip. Look for Input Log.txt
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
A minor issue, but it seems for "insert # of frames", in order to have 1,000+ frames inserted, you have to type 999, then press up over and over. Can this please be made to allow another digit?
Spikestuff
They/Them
Editor, Publisher, Expert player (2297)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
jlun2 wrote:
You can unzip, .tasproj files, it will extract it to a folder, check your input log, it should be fine. What you can do while you have the tasproj extracted what you can do is zip up the following three files; Header, Input Log & SyncSettings. Once you zip it up, change the extension from .zip to .bk2 and see if you can play it back. If this doesn't solve the problem, create a dummy .bk2 movie, and extract that, and just place your input log in there, and zip up the files and use that, it would work as long as the input file is fine.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.