azonenberg changed the topic of #scopehal to: libscopehal, libscopeprotocols, and glscopeclient development and testing | https://github.com/glscopeclient/scopehal-apps | Logs: https://libera.irclog.whitequark.org/scopehal
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 240 seconds]
Degi_ is now known as Degi
<d1b2> <louis> heads up that I think a yaml-cpp change is breaking backwards compatibility with scopesession files? or is for me at least?
<d1b2> <louis> .as<bool>() is now throwing when the value in question is 0, which is apparently how some previous version used to serialize it?
<azonenberg> lain: ^
<azonenberg> this is likely part of the refactoring lain is doing in preparation for scopesession support in ngscopeclient
<azonenberg> @louis: do you have a stack trace and/or example scopesession exhibiting the issue?
<azonenberg> which specific field is causing it?
<azonenberg> huh
<d1b2> <louis> (Warning: ReadDataFile: Could not open file "shaders/waveform-compute.histogram.zerohold.int64.dense.spv")
<azonenberg> i just used a histogram yesterday
<d1b2> <louis> removing Stream::STREAM_DO_NOT_INTERPOLATE from the histo filter fixes it
<d1b2> <louis> only an issue in glscope, works in ngscope
<azonenberg> so ngscopeclient i think requires the do not interpolate flag
<azonenberg> i think this is probably a glscopeclient side bug
<azonenberg> is it possible to patch this with some ugly dynamic-cast hackery in glscopeclient to remove/ignore the flag at render time or something?
<azonenberg> that flag i'm pretty sure is required for ngscopeclient to work
<azonenberg> and i am moving as faast as i can towards deprecating glscoepclient so i dont want to do more dev on it than i have to
<d1b2> <louis> on both the instruments->scope1->interleave field and the ui_config->areas->areaX->persistance field
<azonenberg> so ugly workarounds are totally fine for the moment :p
<d1b2> <louis> will do
<azonenberg> in particular, as soon as we have scopesession support in ngscopeclient we are very close to ready to pull the trigger on deprecation of glscopeclient
<d1b2> <louis> i agree
<d1b2> <louis> that is the only thing holding me back
<azonenberg> there's only a handful of other missing features like the multiscope sync wizard, fixing spectrorgam and waterfall rendering in ngscope
<azonenberg> and i think we dont have csv export in the protocol analyzer in ngscope yet
<azonenberg> but the list of missing bits is rapidly getting shorter and shorter
<azonenberg> and scopesession stuff is being actively worked on right this minute
<azonenberg> meanwhile i'm writing a displayport aux channel protocol decode and starting to chase some kind of strange timeout issue
<azonenberg> i dont know what's happening yet but i'm seeing framerates dropping to single digits for no obvious reason under annoyingly common, but not deterministically reproducible, conditions
<d1b2> <louis> oh csv export is important for me too
<lain> whoops
<azonenberg> i think it's likely related to some of the mutex deadlocks and race conditions i recently fixed
<azonenberg> it's probably adding some unintended serialization or something
<d1b2> <louis> lain: I am on yaml-cpp 0.7.0-2 as packaged on Arch
<d1b2> <louis> oh, speaking of old bugs and Arch, I still need diff +target_link_libraries(scopehal + SPIRV + SPIRV-Tools-opt + SPIRV-Tools +) to build
<azonenberg> huh i thought that was fixed
<_whitenotifier-9> [scopehal-docs] azonenberg pushed 1 commit to master [+0/-0/±1] https://github.com/glscopeclient/scopehal-docs/compare/d885fe083a88...500eacf89f61
<_whitenotifier-9> [scopehal-docs] azonenberg 500eacf - Initial skeleton documentation for DPAuxChannel decode
<_whitenotifier-9> [scopehal-apps] 602p opened pull request #576: Ugly hack to avoid crash in glscopeclient with histograms - https://github.com/glscopeclient/scopehal-apps/pull/576
<lain> does yaml-cpp provide a way to test the type of something or do I have to try/catch :|
<_whitenotifier-9> [scopehal-apps] azonenberg closed pull request #576: Ugly hack to avoid crash in glscopeclient with histograms - https://github.com/glscopeclient/scopehal-apps/pull/576
<_whitenotifier-9> [scopehal-apps] azonenberg pushed 2 commits to master [+0/-0/±2] https://github.com/glscopeclient/scopehal-apps/compare/0b6439f714dc...d30b36b82721
<_whitenotifier-9> [scopehal-apps] 602p af7f182 - Ugly hack to avoid crash in glscopeclient with histograms now that they have STREAM_DO_NOT_INTERPOLATE
<_whitenotifier-9> [scopehal-apps] azonenberg d30b36b - Merge pull request #576 from 602p/glscope-histogram-hack Ugly hack to avoid crash in glscopeclient with histograms
<azonenberg> lain: i think there is a type field somewhere
<azonenberg> but usually i just assumed the file was well formed and would catch an exception at the end of loading if not
<azonenberg> why not just load it as int for backward compat?
<lain> the issue here is yaml-cpp serializes bools as bools, but the old string concat code serialized it as int
<lain> so if you .as<int>() on newly-saved files with the yaml-cpp serializer, it'll throw
<azonenberg> this is what the file version field is for :p
<lain> and if you .as<bool>() on older files, it'll throw as well
<lain> lol
<azonenberg> if no version number (version 0) as<int>
<d1b2> <louis> ¯_(ツ)_/¯
<azonenberg> if version 1 or newer, as <bool>
<d1b2> <louis> or just write a helper that accepts either and returns bool
<azonenberg> or that, yes. but I'd rather enforce the new schema for new files
<azonenberg> we're only going to get more of this over time as things evolve
<azonenberg> anyway, i'm not too picky as long as we dont break old files
<lain> I didn't anticipate that the schema would change, so I didn't add a version field :P
<lain> (yet)
<azonenberg> lain: we talked about this :p
<azonenberg> if there's a handful of in-between files, we can manually patch them
<azonenberg> thats not a big deal, as long as we address it quickly before more are created and the problem gets worse
<lain> hmmm
<azonenberg> (this is one of the nice things about yaml vs a binary format, data recovery is easy)
<lain> so the other question is how do we convey the file version information to these functions like OscilloscopeWindow::LoadUIConfiguration(...)
<lain> since the version is presumably top-level
<azonenberg> You may have to pass the file version down the call tree
<lain> alright
<azonenberg> (meanwhile i'm chasing mutex deadlocks in ngscopeclient again)
<_whitenotifier-9> [scopehal] lainy opened pull request #761: Fix regression in new yaml serialization. Add version field to session file. - https://github.com/glscopeclient/scopehal/pull/761
<_whitenotifier-9> [scopehal-apps] lainy opened pull request #577: Fix regression in new yaml serialization. Add version field to session file. - https://github.com/glscopeclient/scopehal-apps/pull/577
<_whitenotifier-9> [scopehal] azonenberg closed pull request #761: Fix regression in new yaml serialization. Add version field to session file. - https://github.com/glscopeclient/scopehal/pull/761
<_whitenotifier-9> [scopehal] azonenberg pushed 2 commits to master [+0/-0/±12] https://github.com/glscopeclient/scopehal/compare/ede2c986be9e...fc1351cd7d0c
<_whitenotifier-9> [scopehal] azonenberg fc1351c - Merge pull request #761 from glscopeclient/yaml-serialize Fix regression in new yaml serialization. Add version field to session file.
<lain> azonenberg: the PR on scopehal-apps has a conflict on the lib submodule, can you deal with that?
<azonenberg> lain: I'd prefer if you not include .gitmodules in the PR
<azonenberg> but i can deal with it in a pinchj
<lain> I didn't realize I could not!
<azonenberg> that explains me having trouble pulling lol
<lain> > This week, we discovered that GitHub.com’s RSA SSH private key was briefly exposed in a public GitHub repository.
<lain> the irony
<monochroma> the mind boggles
<_whitenotifier-9> [scopehal] azonenberg pushed 5 commits to master [+2/-0/±53] https://github.com/glscopeclient/scopehal/compare/fc1351cd7d0c...2e21c378058c
<_whitenotifier-9> [scopehal] azonenberg dd865de - FunctionGeneratorChannel: began support for external filter graph inputs
<_whitenotifier-9> [scopehal] azonenberg dd58ed9 - Initial work on DPAuxChannelDecoder. See #139.
<_whitenotifier-9> [scopehal] azonenberg 11d32f1 - Cleanup: removed a bunch of unnecessary includes of scopeprotocols.h causing longer than necessary build times
<_whitenotifier-9> [scopehal] ... and 2 more commits.
<_whitenotifier-9> [scopehal-apps] azonenberg pushed 6 commits to master [+0/-0/±14] https://github.com/glscopeclient/scopehal-apps/compare/d30b36b82721...17d69b2257aa
<_whitenotifier-9> [scopehal-apps] azonenberg 1a608ab - FilterPropertiesDialog: fixed bug where clicking button while browser is already open would open a second browser window and/or crash
<_whitenotifier-9> [scopehal-apps] azonenberg f7958e6 - Merge branch 'master' of github.com:glscopeclient/scopehal-apps
<_whitenotifier-9> [scopehal-apps] azonenberg c93781a - Changed waveform data mutex to a shared_lock so it can be read from several places at once, but only updated in one
<_whitenotifier-9> [scopehal-apps] ... and 3 more commits.
<_whitenotifier-9> [scopehal-apps] azonenberg closed pull request #577: Fix regression in new yaml serialization. Add version field to session file. - https://github.com/glscopeclient/scopehal-apps/pull/577
bvernoux has joined #scopehal
<_whitenotifier-9> [scopehal] azonenberg pushed 1 commit to master [+0/-0/±2] https://github.com/glscopeclient/scopehal/compare/2e21c378058c...8576f19ea577
<_whitenotifier-9> [scopehal] azonenberg 8576f19 - Continued DP aux channel support. See #139
sajattack[m] has quit [Quit: You have been kicked for being idle]