Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chrome browser often crashes (Should stress test recording) #18

Open
1j01 opened this issue May 6, 2022 · 1 comment
Open

Chrome browser often crashes (Should stress test recording) #18

1j01 opened this issue May 6, 2022 · 1 comment

Comments

@1j01
Copy link
Owner

1j01 commented May 6, 2022

I've noticed that Chrome likes to crash a lot when doing long recordings, but I'm not sure how much of that is due to memory usage.
It would be good to investigate this directly, using memory profiling, and test data.
I have a demo mode, accessed with demo() in the console, but I suspect this may be a bug in Chrome's MIDI handling rather than
a memory usage problem, since it's not just the tab that crashes, but the entire browser.
(That said it could be a combination of things somehow, and it would be cool if the app could use the chunk storage feature (currently only for backup) to create arbitrarily long recordings; the problem is in reconstructing them; it'd need a streaming download, which there are new APIs for, but the MIDI file library probably doesn't support.)

1j01 added a commit that referenced this issue May 6, 2022
Regarding each issue:

* Fade out overlay when playing (unless viz is disabled), with a button to show info again?
	-> There's a button to fullscreen the visualizer now; I think that's enough.

* Stress test the length of recording
	-> #18

* Record + show aftertouch pressure
	-> #6

* Support Pitch Bend Range selection
	-> #14

* Record miscellaneous MIDI events, maybe even SysEx (optionally)?
	-> #6

* Maybe allow scrolling back (pausing automatically (not pausing recording, just the view))
	-> #17

* Color notes by channel or instrument?
	-> #15

* Offline support with a service worker
	-> #7

* (Little visual bug: if zoomed out, opening recovery modal has a bad transition, the whole overlay flickers out for a bit)
	-> I can't reproduce this.
@1j01 1j01 changed the title Stress test the length of recording Chrome browser often crashes (Should stress test recording) Feb 15, 2023
@1j01 1j01 added the bug label Feb 15, 2023
@1j01
Copy link
Owner Author

1j01 commented Oct 29, 2023

This browser crashing behavior is frustrating, not because it crashes the entire browser, but because it almost exclusively occurs when 1. I'm not looking, and thus don't notice that it's no longer recording, and 2. I'm really getting into it, playing my heart out — characteristic of a longer recording session with more notes, perhaps. The idea that my best work is not recorded (even if I narrativize or recharacterize it after the fact to some extent) takes a psychological toll.

My best music occurs when I'm not thinking about recording even a little bit, which is part of why I created this tool. Thus, occasionally I lose especially good work by not checking if recording is working. Occasionally it fails to connect to the MIDI device and needs a page refresh, or my computer will simply be off, but more often these days (since I've created this app and almost always have it running), I lose work due to Chrome crashing.

I try to remind myself that I haven't actually been sharing my music with the world, and that the utility of recording is contingent upon that future sharing (and curation) and possibly further use in music production. (I wonder if I start sharing my music, if that will change how I feel. Will I lose the respite of this recontextualization?)

I also try to remind myself that I have a very nice recording recovery feature — which I've made heavy use of! Somehow I keep forgetting about it and still have a minor heart attack when I find Chrome has crashed after I've played something truly beautiful. But it can't recover the tail end of recordings, and I'd have to listen back to hear how much is saved, and (impossible to fully know) how much is lost. And I don't usually want to do that, as it's rather sad to think about, and I would rather try to enjoy what I had just played, or try to move on and play on, although often instead I'll try to imitate what I played, futilely, and the self-consciousness inherent in an attempt at self-imitation, if not the defeated mood after losing such a work the first time around, makes it, well, fall apart.

I've never known a MIDI recording setup that provides for true peace of mind. The "remember to hit record" paradigm caused me more anguish than this crashing ever did! Not least because it probably made me feel stupid every time, ha! Now I can blame Google — most of the time.

  • I would love it if anyone would try to investigate this.
  • I have occasionally noticed the browser crash a short while after recording, but while not actively playing.
    • Does it have to do with RENDERING maybe? Rendering lots of rectangles really far offscreen? (They should be culled, but maybe it hits some singularity point, where floats behave weirdly or something.) I say this because that would continue after recording, if I don't clear it — (I don't remember if I cleared it or not) — as well as progressing while recording, with more and more draw calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant