sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
<whitequark> since we'll have to deal with this numpy shit and so on
<whitequark> and your argument that it does not have enough prebuilt packages applies.
<rjo> yes. conda is a (albeit feeble) attempt to tackle it. unfortunately conda is not pain-free (even pretty painful). but again, thinking everything through to the scope that we need, if there remains an alternative it might be worth it.
<whitequark> so... it seems we're stuck with conda forever? this is definitely not good news
<rjo> no. others feel the same pain.
<whitequark> I've already combed through binary package managers that work on both linux and windows
<whitequark> there are like two and they don't work for our use case.
<rjo> imho there is pressure on conda to get better.
<whitequark> 0install and yypkg
<whitequark> conda is a massive trash fire
<whitequark> we're going to see a proton decay before it gets better
<whitequark> it has so many bugs that I stopped bothering to *report* them, do you think by this point it is likely that anyone will emerge with the capability to fix it ?
<whitequark> it has no real governance, funding, architecture, or talent behind it
<rjo> well. imvvho every package that we might want to require but that is not yet packaged well in conda should see more deliberation.
<whitequark> the problem is not small packages, like lit or whatever, those work fairly well
<whitequark> the problem is ... what the conda is supposed to solve, complex, large packages
<whitequark> llvm, qt, numpy
<rjo> yes. qt5 is obviously a challenge.
<whitequark> qt was actually not that bad, i got it with just two builds
<whitequark> the original packager just did many very questionable decisions
<whitequark> the problem is not making any simple package for most part, it's that you are constantly bombarded with completely irrelevant bugs
<rjo> but still there will be problems with qt because it (afaict) it may well conflict with e.g. ipython-qtconsole
<whitequark> likely it does
<whitequark> I'll even go further
<whitequark> it is 100% certain it will conflict with all packages depending on qt on anaconda.org main repo right now
<whitequark> since that doesn't have a qt5.
<whitequark> and the APIs are not compatible.
<rjo> so in the end it may have been less trouble to stick with qt4 and its problems/workarounds/docking-limitations/no-embedding.
<whitequark> probably not
<whitequark> that seems to me to significantly cripple GUI
<whitequark> those NIST people use large amount of monitors, right?
<whitequark> and embedding is super important for crashy widgets, and of course they will be crashy, written with shitty bindings in a shitty dynlang
<rjo> two or three. but still. i don't think we have seen the story yet.
<rjo> let's look at what people will use as an editor for the experiments. likely to be spyder. needs qt. will break. no editor = no fun.
* whitequark laughs
<whitequark> so do you know where I took the qt package? it was spyder's anaconda.org channel
<rjo> qt5?
<whitequark> yep
<rjo> so spyder needs qt5?
<whitequark> yep
<whitequark> but their qt5 package is incompatible with ours, because they attempted to make it coexistable with qt4 and failed miserably
<whitequark> if my understanding of qt.conf is correct, that is not possible at all with conda's layout
<whitequark> and in any case that bug you encountered (with the platform plugin) was a direct consequence of spyder's sloppy packaging
<rjo> will spyder-qt5 coexist with our qt (5 but named qt)?
<whitequark> probably only on linux, since on windows our qt.conf's differ and spyder-qt5 will install its own over ours
<whitequark> we, uh, can rebuild spyder to use our qt.
<rjo> and we would be back at spyder conflicting with artiq, right?
<whitequark> yes, if we do not rebuild it
<rjo> (unless we build spyder)
<rjo> ack
<whitequark> for bonus points, it will probably break artiq silently
<whitequark> since conda doesn't actually check for overlapping files in packages as far as I'm aware
<whitequark> despite the fact that it has everything it needs, including precise installed file lists...
<rjo> i have seen that as well.
* rjo dreams of dpkg
<whitequark> yes, dpkg would be a massive improvement.
<rjo> if windows had it.
<whitequark> even though building debian packages is a PITA in itself too
<whitequark> at least when it breaks, it means you screwed up
<whitequark> when conda breaks, it usually means a bug in conda.
<whitequark> did I tell you how I accidentally put inconsistent data into anaconda.org and different parts of it thought the package had different version?
<rjo> i have built debian packages for ~7 years. yes. it is hard but rewarding.
<whitequark> building debian packages is /needlessly/ hard. something like a nix derivation is a much nicer way than a bizarre mix of makefile, shell and perl that's essentially undocumented
<rjo> then summarizing: we are pretty certain that there will be a bunch of problems coming revolving around qt5/qt
<whitequark> i am 100% sure there will be
<whitequark> we can try fixing spyder's broken qt5, but then they could decide to upload a newer version
<whitequark> which will break ARTIQ again
<rjo> how can we preempt that in the most pragmatic way that is at least a bit future-proof?
<whitequark> two conda channels with the same package cannot reasonably coexist
<whitequark> so as long as we build our own qt, there will be problems of this sort.
<rjo> we should tell them how to do it. maybe they will listen.
<whitequark> oh, sure, but that won't solve the problem
<whitequark> what if tomorrow spyder decides to package qt 5.7 and it breaks ARTIQ somehow?
<whitequark> or, more likely
sb0 has quit [Ping timeout: 250 seconds]
<rjo> how do qt4 and qt5 coexist on debian?
<whitequark> what if tomorrow sb0 decides we need to ship qt with a patch and then spyder decides to package 5.7, which overrides our qt install?
<whitequark> sb0 does in fact want to do such a thing.
<whitequark> rjo: the problem with coexistence is that qt4 and qt5 in *portable* installs, like conda's, require a qt-version-specific qt.conf that is placed in the exact same location (next to python.exe)
<whitequark> since qt's code for locating qt.conf was not really supposed to work on scripting languages
<whitequark> it looks up qt.conf relative to the executable, which means every executable is free to ship its own
<whitequark> if that worked, our problem would be largely fixed (we could put a qt.conf in artiq/frontend)
<rjo> can't it be patched to look for qt5.6.conf?
<whitequark> but that doesn't work because qt has no idea it's actually artiq_gui.py that's the executable
<whitequark> it can
<rjo> next to python3.5.exe
<whitequark> no, conda ships python.exe
<whitequark> python3.5 is a link
<rjo> yes.
<whitequark> and on windows, python3.5 does't appear in argv[0] as far as I know
<whitequark> anyway
<rjo> but would patching it to look for qt56.conf fix it?
<whitequark> we can probably do a less invasive solution, which is set QT_CONF_PATH inside artiq_gui
<whitequark> before loading pyqt
<whitequark> but then we need to patch qt again into something like qt-artiq
<whitequark> rjo: forget that
<whitequark> we're arguing about bullshit
<whitequark> why can't people install spyder into a separate environment?
<rjo> maybe the spyder people are onboard once they realize that their qt5 is unworkable?
<whitequark> rjo: that's not the problem here
<whitequark> unless we *perfectly synchronize* our release cycles with spyder, we'll have mismatches
<whitequark> that will break either of our packages
<whitequark> if we ever decide to ship patched qt
<rjo> that may be a viable but ugly workaround for spyder but it won't be for other qt-users.
<whitequark> if we decide to never ever ship patched qt, then we can just instruct people to add spyder's channel
<whitequark> that will work
<whitequark> but shipping our own version of qt AND permitting users to add conda channels with other versions of qt is unworkable
<whitequark> it may sometimes work by accident but it is in no way a working long-term solution since it will definitely break
<rjo> you can expect people to do conda install anaconda which will pull in spyder (somehow) and do conda install artiq in the same env.
<whitequark> `conda install anaconda` ?
<whitequark> the anaconda server?
<rjo> anaconda is a big metapackage
<whitequark> oh
<whitequark> ohhh I see now
<rjo> they had a massive identity crisis
<whitequark> ok yes I see, they have their own version of spyder, https://anaconda.org/anaconda/spyder
<whitequark> I was speaking about this one https://anaconda.org/spyder-ide/spyder
<whitequark> so the one in anaconda would be the one pulled in from that metapackage
<whitequark> it will break ARTIQ
<whitequark> since there will be a conflict over versions of qt.
<rjo> long story short: we need to coexist with a bunch of other packages in the same python env. i don't see a way around that.
<whitequark> ok, that means i have to completely redo our qt packaging
<rjo> at least artiq does not conflict with numba over llvmlite.
<whitequark> and it will be slower this time
<whitequark> though hopefully not *much* slower
<rjo> well. maybe i don't see the full picture here and there is a way around it. but even applets are not a solution because of the embedding stuff right?
<whitequark> what do you mean?
<whitequark> how would applets help?
<whitequark> oh, I see, embedding across Qt versions
<rjo> can we embed a qt4 matplotlib applet into artiq qt5?
<rjo> yes
<whitequark> in theory, yes
<rjo> sure. it is X11
<rjo> ;)
<whitequark> ah yeah, that doesn't work on windows
<rjo> and anyway. there is spyder and ipython-qtconsole, wx-qt, etc
<rjo> by the way: i do have a lot of respect for your qt5 packaging
<whitequark> I do not :)
<whitequark> it's a sloppy job that I'm wholly unsatisfied with
<whitequark> but, it's hard to improve it much without spending a lot more time on it...
<whitequark> there should be more careful consideration for configure flags, buildscript that doesn't try to use two different MSVC versions at the same time
<whitequark> I have no clue why that seems to work
<rjo> ack
<whitequark> I basically took spyder's package and did minimal fixing of obvious bugs in it to make it work with ARTIQ
<whitequark> since sebastien wants everything faster, that seemed appropriate
<rjo> i looked at nix for two minutes. isn't the fact that e.g. python (noarch) packages won't include "the hash part of Nix store paths" yet still depend on versions of other packages, a bit of a problem?
<whitequark> I know that Nix packages python successfully, so they must have figured it out
<whitequark> I think how it works is they have a place they symlink actual packages into
<whitequark> and then it's just up to nix to crete a consistent view in that place
<rjo> also IMHO one of the significant contributions of a distribution is that it manages ABI versions for you to the extent possible. the ultimately fine-grained stuff of nix seems guaranteed to bloat stuff.
<whitequark> yes.
<whitequark> this is why I don't use nix myself, and what nix fanboys ridicule me for.
<whitequark> while nix is not a definite improvement over dpkg (transactionality is still sweet), it is a definite improvement over conda
<whitequark> even if it bloats stuff.
<rjo> if i fix a bug in libc i have to recompile and reinstall my entire system to undo the (factor two) bloat, right?
<whitequark> yes
<whitequark> well, there are binary packages
<whitequark> but if you, specifically, fix it, then yes
<rjo> Then I see now where all the gentoo people have gone.
<whitequark> it also requires systemd
<whitequark> well, irrelevant for our use case, since if I'd use it, I would replace conda with it, not the entire system
<rjo> do they never hit the problem that the kernel does not fit their picture?
<whitequark> it doesn't?
<whitequark> ah yeah, the entire system doesn't depend on kernel version, right
<whitequark> that's funny
<rjo> kernel gets a hash, only one kernel can run, a set of separately packaged kernel modules get a hash, only one of those can be used, user space depends on specific version, only one userspace can run etc
<whitequark> no, they allow 'dynamic linking' for kernel apparently
<whitequark> so it's ideologically sloppy instead
<rjo> and there are also these non-path dependencies. like all kinds of protocols and other ABI/APIs that are not exposed through path hashes, X11/wayland/ipython-kernel/...
<whitequark> yeah
<whitequark> what I really want is transactional dpkg
<whitequark> this doesn't require any of the stupid path tricks
<rjo> conclusion: Nix is Nix for me.
<whitequark> mhm, I wouldn't discard it so quickly, it's a much saner thing than conda, especially if we don't run the whole OS
<rjo> i'll grant it the title "multiarch done right"
<rjo> whitequark: about the conda version thing: let's downgrade. what do i have to watch out for if i'd do that on the buildslaves?
<rjo> whitequark: also did you only expose udp 60000 and 60001?
<whitequark> there was some other conda bug exposed by that, you can find it in channel logs
<whitequark> yes, do you need any other ports?
<whitequark> actually, it's only 60001
<rjo> that only allows one mosh session for all of us.
<whitequark> oh.
<rjo> needs a port per session ;)
<whitequark> changed it to 60000-61000.
<rjo> channel logs about downgrading conda-build?
<whitequark> yes
<rjo> ack
<rjo> whitequark: when was that?
<whitequark> uh, a few days ago?
<rjo> ok. let's try this:
<GitHub145> [artiq] jordens pushed 1 new commit to master: https://git.io/vgylB
<GitHub145> artiq/master 801b256 Robert Jordens: conda: use git_url...
<bb-m-labs> build #220 of artiq is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/220 blamelist: Robert Jordens <jordens@gmail.com>
<rjo> whitequark: ^^ pyqt5?
<whitequark> hm, weird
<whitequark> oh
<whitequark> yeah, needs to be changed back to "pyqt" for the time being
<rjo> let me do that.
<GitHub174> [artiq] jordens pushed 1 new commit to master: https://git.io/vgyl2
<GitHub174> artiq/master ed36a96 Robert Jordens: conda/artiq: pyqt (not 5, to be revisited)
<bb-m-labs> build #221 of artiq is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/221 blamelist: Robert Jordens <jordens@gmail.com>
<rjo> that is the --output problem that they are mumpling about
<rjo> mumbling
<whitequark> yes
<rjo> ok. let's leave that for tomorrow. g'nite.
<whitequark> o/
fengling has joined #m-labs
fengling has quit [Ping timeout: 272 seconds]
fengling has joined #m-labs
sb0 has joined #m-labs
<sb0> qt5 brings embedding, plus improvements to the docking system
rohitksingh has joined #m-labs
<sb0> whitequark, I'm not sure how the embedding works internally for Qt, but Windows does have a solution to embed a window into another
<sb0> like X11
<sb0> so Qt4 inside Qt5 is theoretically possible as well
<sb0> but note that matplotlib has a Qt5 backend, which is what I used last time for embedding. writing the applet-side Qt4 embedding code is potentially difficult, with the Qt bugs and all
bentley` has quit [Ping timeout: 245 seconds]
<sb0> as for qt patches. all I'm thinking about are bugfixes or maybe additions of small features that would be backward-compatible (e.g. support for side-by-side docks in floating windows, if that's ever needed)
<sb0> and merged upstream qt
<sb0> can't we get everyone in anaconda to use our package?
<sb0> only spyder so far AFAICT
<bb-m-labs> build #222 of artiq is complete: Exception [build exception] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/222 blamelist: Robert Jordens <jordens@gmail.com>
<sb0> wow, the qt docking system doesn't have the applet bug
<sb0> I'm impressed
sb0 has quit [Quit: Leaving]
<GitHub119> [artiq] sbourdeauducq created qtdocks (+1 new commit): https://git.io/vgyyD
<GitHub119> artiq/qtdocks daf49ef Sebastien Bourdeauducq: gui: rough conversion to the Qt docking system
sb0 has joined #m-labs
<sb0> it also doesn't have the hidpi bugs
rohitksingh has quit [Ping timeout: 240 seconds]
rohitksingh has joined #m-labs
<cr1901_modern> I've been led to believe in the past that Qt is exceptionally buggy. I can only think of one offhand tho that may or may not be fixed in Qt 5. pyqtgraph, on the other hand...
<cr1901_modern> (That bug I'm thinking of is O(n^2) complexity for listing directories on Windows
mumptai has joined #m-labs
<sb0> ok, found two bugs already
<sb0> but it's still not as bad as pyqtgraph
<sb0> and one of them might be a gnome bug anyway
<GitHub186> [artiq] sbourdeauducq pushed 1 new commit to qtdocks: https://git.io/vgy52
<GitHub186> artiq/qtdocks 3c12c13 Sebastien Bourdeauducq: gui: dock state save/restore
<bb-m-labs> build #223 of artiq is complete: Failure [failed make_doc] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/223 blamelist: Robert Jordens <jordens@gmail.com>
<bb-m-labs> build #106 of artiq-pipistrello-nist_qc1 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-pipistrello-nist_qc1/builds/106 blamelist: Robert Jordens <jordens@gmail.com>
<bb-m-labs> build #104 of artiq-kc705-nist_qc2 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_qc2/builds/104 blamelist: Robert Jordens <jordens@gmail.com>
<bb-m-labs> build #121 of artiq-kc705-nist_qc1 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_qc1/builds/121 blamelist: Robert Jordens <jordens@gmail.com>
<bb-m-labs> build #20 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_clock/builds/20 blamelist: Robert Jordens <jordens@gmail.com>
<rjo> whitequark: fyi i installed the current master of conda-build in the build slaves.
<whitequark> sb0: < sb0> can't we get everyone in anaconda to use our package?
<whitequark> yes, this is the problem
<sb0> 3rd bug
<sb0> this one is severe, though
<sb0> the CloseEvent of a dock is emitted intermittently. there is no reliable way to tell when the user closes a dock.
<rjo> whitequark, sb0: the qt5 issue (currently preventing building of the docs) is for you.
<whitequark> sb0: would you take a look? I'm unfamiliar with that code
<GitHub60> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vgydt
<GitHub60> artiq/master ab1d85b Sebastien Bourdeauducq: gui: remove PyQt5 assertion (break mock modules)
<whitequark> cool
<sb0> this dock signal problem is more like my regular experience with qt
<whitequark> rjo: conda-build master: ack
<sb0> or gui libraries at all, for that matter
<whitequark> I'll refrain from poking it then
<sb0> maybe the built-in QAction code can be hacked
<bb-m-labs> build #224 of artiq is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/224
<bb-m-labs> build #107 of artiq-pipistrello-nist_qc1 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-pipistrello-nist_qc1/builds/107 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #122 of artiq-kc705-nist_qc1 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_qc1/builds/122 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #105 of artiq-kc705-nist_qc2 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_qc2/builds/105 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #21 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-kc705-nist_clock/builds/21 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<sb0> yes, seems i could connect the qaction's toggled signal ... ugly, but should work
<sb0> "WARNING: conda-build appears to be out of date. You have version 1.19.1alpha but the latest version is 1.19.0."
<sb0> hahaha, they can't even get their own versioning system right
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub43> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/a3c7a91e8e3a2bd7d623860785cb54d8d2012043
<GitHub43> buildbot-config/master a3c7a91 whitequark: Update URL.
bb-m-labs has joined #m-labs
<sb0> now I just hope (Py)Qt won't give me crap for doing nothing reasonable (e.g. put it into a menu) with the QAction...
<whitequark> that is actually reasonable
<sb0> though I can put it into a menu and hide it
<whitequark> that's how QActions are supposed to work
<whitequark> though I fail to see the point in your case
<sb0> whitequark, docks don't give you a way to tell you when the user closes them
<sb0> but they give you a QAction for closing and opening the dock, and the checked state of that QAction is synched with the user closing the dock (with the cross button)
<whitequark> why do you need to put it into a menu?
<sb0> my idea is to use that QAction, and hook its checked state to detect when the user closes the dock with the cross button
<sb0> I don't know, does (Py)Qt handle correctly a QAction that is referenced nowhere except in a one signal connection for its checked state?
<whitequark> it rather ought to
<whitequark> it's not particularly different from any other case
<whitequark> and I know Qt does handle that correctly
<GitHub119> [artiq] jordens pushed 1 new commit to master: https://git.io/vgydF
<GitHub119> artiq/master 734fa59 Robert Jordens: conda bitstreams: depend on artiq 0.1
<whitequark> are you saying void QDockWidget::visibilityChanged(bool visible) doesn't get emitted?
<whitequark> rjo: errrr
<whitequark> ah yeah, that might be fine
<whitequark> actually conda changes might have made GIT_* vars available
<whitequark> in build: deps
<whitequark> this would save us from some other bugs
<sb0> visibilityChanged is also emitted when docks are tabbed and the user changes the tab to another dock
<whitequark> oh, I see
<rjo> whitequark: it seemed to me that it might be pragmatic to just use the artiq versioneer for all these.
<whitequark> sb0: yeah, closeevent doesn't really do what you want
<whitequark> and the toggle action does reflect what you want
<whitequark> it's not a hack, you're using its semantics correctly
<whitequark> rjo: I'm not sure how would that help
<whitequark> how would versioneer inject a conda constraint?
<rjo> whitequark: this is jinja2. you can run things.
<whitequark> rjo: but you can't even do any statements, like imports
<whitequark> hm, or can you
<rjo> whitequark: pretty sure you can.
<whitequark> no, you can't
<whitequark> jinja has its own DSL for control flow, that doesn't permit any imports or such
<whitequark> I looked into it already
<whitequark> it's a feature
<rjo> i was thinking that one would just run "python versioneer.py" and set a variable from that.
<whitequark> "Jinja2 neither allows you to put arbitrary Python code into templates nor does it allow all Python expressions. "
<sb0> whitequark, doesn't this leak memory btw? seems you can't fully remove a QDockWidget once you have added it to a QMainWindow
<rjo> python -c 'import artiq; print(artiq.__version__)'
<rjo> for all things
<whitequark> rjo: you don't have artiq anywhere at the time when the template is evaluated
<whitequark> well, no, you do have it in the git repo
<whitequark> correction
<rjo> exactly.
<whitequark> you don't have the ability to `import artiq`
<whitequark> because its dependencies are not installed
<whitequark> this is actually a second problem with that
<whitequark> ideally I would not have the build: artiq dep *at all*
<rjo> pretty sure versioneer can still run.
<whitequark> but you cannot `import artiq`
<whitequark> it will fail
<whitequark> therefore, you do not have artiq.__version__
<rjo> why? all it does is import versioneer.
<whitequark> oh, it does now?
<rjo> well yes. that was one of the reasons to do it.
<whitequark> ok
<whitequark> then just remove the dep
<rjo> which dep?
<whitequark> since the fact that we needed to install dependencies to `import artiq.gateware` was the only reason to have `build: - artiq` in meta.yaml in the first place
<whitequark> in gateware packages
<rjo> but still. i would want to runtime depend on the correct artiq.
<whitequark> that's what the run: - artiq dep is for
<whitequark> look below.
<rjo> yes. replace that three-line-wonder by the same stuff that would get the version string in the main artiq meta.yaml from versioneer.
<whitequark> nah, who cares, it works
<whitequark> and it does create a dependency on correct artiq
<rjo> until conda decides that these strings should be composed differently from all the ingredients.
<rjo> e.g. make that py_ a py35_ ...
<whitequark> it will do the exact same thing in main artiq package
<whitequark> ah
<whitequark> anyway, that is separate from the build dep
<whitequark> which I've just removed
<whitequark> if you want, you can make it use versioneer
<GitHub185> [artiq] whitequark pushed 1 new commit to master: https://git.io/vgyFg
<GitHub185> artiq/master 1cfca74 whitequark: conda: remove spurious artiq dep from gateware packages.
<whitequark> though I fail to see what it would improve
<rjo> yes. i'll leave it for now. but conceptually it would be nice to use versioneer for the conda packages as well.
<whitequark> you have the same issue with py_ with versioneer.
<whitequark> I'll tell you more
<whitequark> conda does not control whether py_ appears there or not
<whitequark> I explicitly tell it what to do
<whitequark> string: py_{{ environ.get("GIT_DESCRIBE_NUMBER", 0) }}+git{{ environ.get("GIT_DESCRIBE_HASH", "")[1:] }}
<whitequark> in the main package
<whitequark> because its builtin handling was, as usual, FUBAR
<rjo> i am annoyed by 0.1+857.g734fa59 != 0.1-py_857+git734fa59
<whitequark> where does the first variant appear?
<rjo> python -c 'import artiq; print(artiq.__version__)'
<whitequark> oh
<whitequark> py_ is a requirement because of noarch.
<whitequark> without that py_, conda build will explode
<whitequark> so you can fix that and we could use your variant
<rjo> i would be fine with 0.1+857.git734fa59-py
<whitequark> although that + will have to change too, "-" comes from conda and it's not changeable
<rjo> if conda needs that -py
<whitequark> no, py_ has to be exactly where it is
<whitequark> it's a completely pointless assertion somewhere in conda-build noarch handling
<rjo> what about 0.1+857.git734fa59-py_0
<whitequark> oh, yes, I tried that
<whitequark> this makes anaconda.org UI unusable
<whitequark> because it puts every single build into the version combo box
<whitequark> and then if you need to select an entire version, it becomes even more of a pain than it is already
<rjo> bah.
<rjo> ok. i won't touch it.
<whitequark> I too had a long period of dissatisfaction with the versioning system, believe me
<whitequark> I'd also quite like to see a system which doesn't require an exact match between bitstream and python code git revision
<rjo> and why is it py_ and not py35_?
<whitequark> but it must be fragile
<whitequark> rjo: I don't remember
<whitequark> I don't think it actually matters
<whitequark> since the correct python runtime dep is propagated via the artiq package
<rjo> whitequark: i think i outlined that somewhere. we will want to start API versions sometime later.
<whitequark> like I said, the assertion in conda-build is pointless
<rjo> ack
<whitequark> the way conda works is that within a single version, it considers packages with different build *strings* distinct
<whitequark> but compares them by build *numbers*
<whitequark> so if you have py34_1 and py35_1, they have the equal version, but are distinct
<whitequark> so if you have dditional python dependency, the correct one will be selected
<whitequark> IIRC conda-build checks for prefix to be any of py_ py27_ py30_ etc
<rjo> i c
<rjo> whitequark: three builders might be a bit hefty for that VM...
<whitequark> it's not a VM
<whitequark> it's a physical machine
<whitequark> except it's a physical machine that sebastien found somewhere in a junk bin, because it is very old and slow
<whitequark> also seems swapped to hell
<whitequark> right, I overkilled buildbots
<rjo> ah. I am in Dom0.
<whitequark> yes.
<rjo> it's fine. just three xilinx toolchains seems too much for 8G and two cores.
<whitequark> 8G?
<whitequark> it has 3.5G
<rjo> and a few VMs on top of that.
<rjo> oh. i was in the wrong line.
<rjo> it does have 8G swap.
<whitequark> holy shyt
<whitequark> I went to turn off the buildbot VM
<whitequark> "Installing updates 1 of 149"
<whitequark> oh well
<whitequark> ok, I restricted the buildbot VM to 1G of RAM
<bb-m-labs> build #123 of artiq-kc705-nist_qc1 is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-kc705-nist_qc1/builds/123
<GitHub123> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/362190ae1b9451381543deba997ca40d395a2115
<GitHub123> buildbot-config/master 362190a whitequark: Only use two Debian builders.
<whitequark> rjo: in principle we can teach buildbot to bring the windows builder up and down
<whitequark> but the same end result willprobably be better achieved by, well, buying more RAM
<whitequark> so i'm not going to do that
<rjo> with snapshoting? might be a similar amount of disk thrashing.
<rjo> or suspend-to-ram-image
<rjo> na it's just fine, as long as the builders don't take three times as long
<whitequark> no snapshotting, just shut it down normally
<whitequark> and then boot
<rjo> na. windows is not even good at rebooting.
<rjo> but could you wait with restarting the buildbot until we have some packages.
<bb-m-labs> build #106 of artiq-kc705-nist_qc2 is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-kc705-nist_qc2/builds/106
<whitequark> I am not restarting buildbot specifically for that reason
<bb-m-labs> build #226 of artiq is complete: Exception [exception interrupted] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/226 blamelist: whitequark <whitequark@whitequark.org>
<rjo> i took another kc705 from boulder and will have that for myself soon. but otherwise ok to mess with the kc705 on that machine? i'll give a warning when i do.
<whitequark> yes
<bb-m-labs> build #108 of artiq-pipistrello-nist_qc1 is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-pipistrello-nist_qc1/builds/108
<whitequark> note that I sometimes unplug it, because its fan has an exceptionally annoying noise
<whitequark> it is tempting to stall it with a screwdriver, but I resist the temptation.
<rjo> yes. there are better fans in this world
<whitequark> you mean it's supposed to be like that? I thought it was just dying.
<rjo> it has been noisy from the start for any of the ~5 kc705s that i unpacked.
<whitequark> that's awful.
<rjo> i suspect a passive heat sink could be fine.
<rjo> whitequark: mind if i install munin, just for kicks?
<whitequark> what do you want to monitor?
<rjo> the machine.
<whitequark> I... don't understand
<whitequark> how can you monitor the machine with itself?
<rjo> both munin-server and -node on that machine.
<whitequark> or do you mean memory consumption and such, not uptime?
<rjo> yes.
<whitequark> sure, go ahead
<rjo> but it also monitors uptime.
<bb-m-labs> build #22 of artiq-kc705-nist_clock is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-kc705-nist_clock/builds/22
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<bb-m-labs> build #227 of artiq is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/227
<rjo> whitequark: so you want me to build the current qt linux-64 recipe? or is that redundant now?
<whitequark> rjo: there were no changes to the linux part of the recipe
<whitequark> oh
<whitequark> wait
<whitequark> you mean test?
<whitequark> I do want you to verify that it actually runs properly when installed from conda, yes
<rjo> ah. just testing the package. no building?
<whitequark> yes
<rjo> whitequark: pretty sure that it still has the platform plugin problem.
<whitequark> ok, I see
<whitequark> that's very irritating.
key2 has joined #m-labs
<rjo> maybe it is my setup. easy pointers where to look?
<rjo> the package is qt 5.5.1-0 linux 64
<whitequark> no, it is not your setup, specifically because your setup should not matter
<whitequark> the problem is qt.conf
<whitequark> it's in miniconda/envs/artiq/lib/qt.conf
<whitequark> oh
<whitequark> can you show it to me?
<whitequark> er, no lib/
<whitequark> just miniconda/envs/artiq/qt.conf
<rjo> i have /lib/qt5/bin/qt.conf and /qt5.conf
<rjo> sorry /qt.conf
<whitequark> and after you show it to me, replace it with [Paths] Prefix = .
<whitequark> and try again
<rjo> do both matter?
<whitequark> only the latter
<whitequark> mhm.
<rjo> same result with Prefix = .
<whitequark> interesting.
<rjo> but let me verify that it actually finds the right qt
<rjo> how do i do that?
<whitequark> strace -eopen -f
<rjo> all contained within the environment
<whitequark> where does it try to find the xcb platform plugin?
<rjo> it only does a stat() of /bin/platforms/ (in the env) at the end. i presume that's it
<whitequark> /bin/platforms?!
<whitequark> that's... stupud
<rjo> /home/rj/src/conda/envs/py35/bin/platforms/. to be precise
<whitequark> ok.
<whitequark> I think there should be a lib/plugins/platforms there
<whitequark> can you add Plugins = lib/plugins to qt.conf ?
<rjo> independent of whether Prefix = . or not
<rjo> that qt.conf does not seem to have anny effect
<rjo> it looks for /bin/qt.conf
<whitequark> oh.
<whitequark> oooooh.
<whitequark> ok yeah that one's my mistake.
<whitequark> please move it to bin/ and try again
<whitequark> Prefix would stay at .../envs/py35, and there shouldn't be a need for Plugins =
<rjo> works
<whitequark> bb-m-labs: force build --props=package=qt conda-lin64
<GitHub78> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/92d8ad6033ecc4f69956cb1a569cff5e54071074
<GitHub78> conda-recipes/master 92d8ad6 whitequark: qt: fix linux qt.conf location.
<bb-m-labs> build #61 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #107 of artiq-kc705-nist_qc2 is complete: Exception [build exception] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-kc705-nist_qc2/builds/107 blamelist: whitequark <whitequark@whitequark.org>
<rjo> whitequark: afaict conda build --output is not all that reliable. if another build intervenes, you get empty versions. could we make buildbot use those slaves more exclusively?
<rjo> as in start-to-end exclusivity?
<whitequark> er, no/
<whitequark> --output should be reliable.
<whitequark> there's no reason it can not reliable
<whitequark> it only should care about the current checkout.
<rjo> whitequark: i suspect it depends on some state left over from the actual (last) build. at least it did at some time.
<whitequark> buildbot interlocks function on the step level, not build level...
<rjo> yes. that's why i suspect that the other build started in the same slave while get_output of a just completed build is run caused this problem.
<whitequark> which problem exactly?
<whitequark> I get empty versions all the time without intervening builds
<whitequark> oh
<rjo> the current failure
<whitequark> oh.
key2 has quit [Ping timeout: 252 seconds]
<bb-m-labs> build #108 of artiq-kc705-nist_qc2 is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq-kc705-nist_qc2/builds/108
<bb-m-labs> Hey! build conda-lin64 #61 is complete: Success [build successful]
<rjo> whitequark: that qt package works here.
<whitequark> excellent
<rjo> are you looking into locking the build slaves so that at least --output always immediately follows its build?
<whitequark> that's not possible
<whitequark> although, no, hang on, this of course is
<whitequark> the word "locking" misled me
<whitequark> rjo: actually, there is no need to do so, buildslaves are already restricted to 1 concurrent job
<cr1901_modern> rjo: I'm sorry to ask this, but in your ticker class, what does "dynamic" actually do? I interpreted it as "the power at which we start modifying what's displayed on the magnitude and offset label"
<rjo> whitequark: but it switches to another job between steps.
<whitequark> rjo: that seems unlikely
<whitequark> can you show me with which three steps exactly that happened?
<rjo> cr1901_modern: if log10(delta/center) < dynamic it should rewrite numbers.
<whitequark> I poked around when we discussed that above and couldn't
<rjo> whitequark: #107 and #124 both ran on the -2 slave.
<whitequark> oh
<rjo> both seem to start build at the same time, the #107 build finishes first at 22:54 then the 124 build at 23:18
<whitequark> *facepalm*
<rjo> right after the build both are supposed to do get_output
<whitequark> I gave it the wrong option in the wrong place.
<whitequark> you are completely correct of course.
<whitequark> one moment.
<rjo> cr1901_modern: dynamic as in "dynamic range" ~ "requires many digits to represent a small variation on top of a large number"
<whitequark> that was really stupid.
<GitHub34> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/4875e8283e16445d54167617d6a2b58ebd06e7db
<GitHub34> buildbot-config/master 4875e82 whitequark: Actually restrict the number of parallel jobs to 1.
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
rohitksingh has quit [Ping timeout: 276 seconds]
evilspirit has quit [Ping timeout: 240 seconds]
evilspirit has joined #m-labs
<rjo> sb0: why did you assign me to #251? you wanted all the subprocesses, and that's your branch.
rohitksingh has joined #m-labs
evilspirit has quit [Ping timeout: 256 seconds]
<cr1901_modern> rjo: Ack. I understand now.
<sb0> whitequark, i think you can simply disconnect the fan
<whitequark> ok
<sb0> it has a connector iirc, and the artiq design doesn't dissipate that much power in the fpga
<sb0> just do a summary check of the temperature of the FPGA after a while, but it should be fine I think
<whitequark> ok
<sb0> apparently, executing sys.executable is problematic on windows
<sb0> funny...
<sb0> it results in FileNotFoundError, which is ridiculous
<whitequark> wtf
<sb0> after working around this, the main GUI process crashes when the applets RPCs its embed function... bah
<sb0> (freezes...)
<sb0> rjo, you said you'd update the buildbot to run the test according to the documentation I have written in the newtesting branch
<sb0> which is what #251 is about, not so much subprocesses
<rjo> the bug is about the subprocesses causing some common unittest invocations to break. i said that we need to fix the buildbot when that branch is merged. did you check that the tests run etc? if you think you have no time to adjust the buildbot when you merge the branch, sure i can do it for you.
<rjo> but if sys.executable does not work on windows, this might be something worth fixing before.
<sb0> the tests run on my local machine, yes
<sb0> linux with distribution packages
<GitHub51> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vgS8L
<GitHub51> artiq/master b97be9c Sebastien Bourdeauducq: Merge branch 'newtesting'
<GitHub51> artiq/master 6ee86d9 Sebastien Bourdeauducq: Merge branch 'master' of github.com:m-labs/artiq
<GitHub122> [artiq] sbourdeauducq deleted newtesting at 89f68f3: https://git.io/vgS8G
<bb-m-labs> build #228 of artiq is complete: Failure [failed python_unittest] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/228 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<rjo> sb0: i also need sufficient rights for the buildbot-config repo
<sb0> rjo, done
<whitequark> sb0: OK to make rtio_log vararg?
<sb0> whitequark, sure
<sb0> oh, of course, that QAction toggles and untoggles wildly e.g. when you simply move a dock
<sb0> so even if the bug I suspected isn't there, it's still fucked up
<whitequark> huh
<sb0> so yeah, you cannot detect when the user closes a dock with Qt.
<whitequark> let me just read the dock widget source
<sb0> a hack would be to put a timer on there
<whitequark> sb0: can you override close() ?
<whitequark> well, does pyqt let you?
<GitHub87> [buildbot-config] jordens pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/496938c866b80bcf1a3cdd69bfbbb29e727eb4d6
<GitHub87> buildbot-config/master 496938c Robert Jordens: use unittest discover (artiq only)
<sb0> whitequark, doesn't seem to work...
<sb0> my close() is never called
<whitequark> mhm
<sb0> I'm overriding closeEvent() right now, which works intermittently
<sb0> i.e.: it works when the widget is in a floating window, but not when it is docked
<whitequark> yes, that's expected
<whitequark> hm
<whitequark> what about hideEvent() ?
<whitequark> nevermind, that'll have the exact same problem
<whitequark> this is the culprit
<whitequark> it hides and shows the widget every time it's unplugged
<whitequark> or plugged
<whitequark> that's basically how it operates
<whitequark> it hides itself as a child window and shows itself again as a separate one
<sb0> yes, hideEvent() is called when the widget is dragged... same problem as when hooking QAction
<sb0> best would be to hook on the close button
<sb0> but it's not externally accessible
<whitequark> actually, that wouldn't work
<whitequark> well, it is
<whitequark> but it's still wrong, strictly speaking
<whitequark> can you focus that window and close it using alt+f4?
<sb0> maybe retrieve it from the layout
<whitequark> yes, that's what I meant
<sb0> it's a hack, but the alternative is the qt patch
<whitequark> I'm not sure the patch can be written
<whitequark> my point is
<whitequark> if you can close the window in ways other than pressing the close window, then you can only really look at a sequence of show and hide events
<whitequark> so I know for a fact that on Linux, my WM allows me to send a window a hide event without any interaction with decorations whatsoever
<whitequark> and I think with tool windows on Windows, which it seems to use, the situation is the same
<sb0> yeah, alt-f4 will close only the dock
<whitequark> i.e. Windows draws decorations, and the X button on the decoration just sends the hide event
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<whitequark> so hooking up the close button is not a solution, and this is why you cannot
<whitequark> because close() makes no sense for a child widget
<sb0> well this is what this button does, and it has the effect of removing the widget
<whitequark> mhm
<bb-m-labs> build #229 of artiq is complete: Failure [failed python_unittest] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/229 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> void QWidget::closeEvent(QCloseEvent * event)
<whitequark> This event handler is called with the given event when Qt receives a window close request for a top-level widget from the window system.
<sb0> First it sends the widget a QCloseEvent. The widget is hidden if it accepts the close event. If it ignores the event, nothing happens. The default implementation of QWidget::closeEvent() accepts the close event.
<whitequark> yes, I've read that
<whitequark> let me run some checks
<sb0> maybe overriding event()...
<whitequark> nah
<whitequark> the event shouldn't be sent at all
<sb0> oh, yes, that seems to work
<GitHub156> [buildbot-config] jordens pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/5cc90d80f8b2d6727618df6ddb29704d101be8a8
<GitHub156> buildbot-config/master 5cc90d8 Robert Jordens: coverage -m
<whitequark> oh?
<whitequark> really?
<sb0> well the button calls close(). the doc says this sends a QCloseEvent
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<sb0> I do get a QCloseEvent even when the widget is docked
<sb0> but QDockWidget reimplements event(). I guess it intercepts QCloseEvent there before it makes it to closeEvent
<whitequark> oh, you get it when it IS docked
<whitequark> sorry, I misunderstood
<bb-m-labs> build #230 of artiq is complete: Failure [failed lit_test] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/230 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> also yeah, it does always send a closeEvent that hides the widget
<whitequark> sb0: but I don't understand. it doesn't eat CloseEvent anywhere
<sb0> maybe QWidget::event detects it's not from the windowing system, and doesn't call closeEvent?
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<bb-m-labs> build #231 of artiq is complete: Success [build successful] Build details are at http://m-labs-buildserver.whitequark.org/buildbot/builders/artiq/builds/231
<GitHub39> [artiq] sbourdeauducq pushed 1 new commit to qtdocks: https://git.io/vgS0Y
<GitHub39> artiq/qtdocks 489f69f Sebastien Bourdeauducq: gui: reliable detection of dock close
<whitequark> shit
<whitequark> bb-m-labs now pings me every time
<sb0> oh no, that didn't work
<sb0> whitequark, i just asked Philipp about a m-labs.hk dns entry
<sb0> mh, what's going on
<GitHub104> [artiq] jordens pushed 1 new commit to master: https://git.io/vgS0c
<GitHub104> artiq/master 055573a Robert Jordens: Merge branch 'subprocess-termination'...
<GitHub76> [artiq] jordens deleted subprocess-termination at 6434a9c: https://git.io/vgS08
<whitequark> sb0: ok, I just verified in a C++ app
<whitequark> closeEvent is called whether the widget is docked or not
<whitequark> oh, wait, wrong Qt version
<sb0> and adding debug prints makes the problem disappear. wonderful ...
<sb0> whitequark, that's very possible
<sb0> maybe the problem is that I cannot emit a signal from a destroyed widget, and there is some race condition with that
<whitequark> no, I was using Qt4
<whitequark> let me check with proper qt5
<whitequark> ok, verified with Qt5
<whitequark> sb0: speaking about destroyed widgets, yes, that might well be the reason
<whitequark> what exactly are you doing?
<whitequark> why is the widget destroyed?
<whitequark> the mechanism behind the default signals and slots mechanism is very simple
<whitequark> every object has a list of callbacks for every of its signals. it calls them in order when you emit something
<whitequark> (unless you use some form of queued connection, that is)
<sb0> somehow I can't reproduce the problem anymore
<sb0> wtf
<sb0> let me restart X11
sb0 has quit [Quit: Leaving]
<whitequark> anyway, what are you going to do when someone bypasses the close button?
<whitequark> like with alt+f4
<whitequark> this shouldn't function differently than when the close button is used
sb0 has joined #m-labs
<GitHub54> [artiq] sbourdeauducq pushed 1 new commit to qtdocks: https://git.io/vgSEA
<GitHub54> artiq/qtdocks 579e789 Sebastien Bourdeauducq: tools/QDockWidgetCloseDetect: simplify
sb0 has quit [Quit: Leaving]
sb0 has joined #m-labs
<sb0> sometimes, docks that are floating fail to reappear on state restore
<sb0> but this seems to be a gnome-related problem
<sb0> (gnome3, compositing...)
<whitequark> actually, qt's source isn't half bad
<whitequark> I can probably fix qt for you myself after all
<whitequark> thought it'd be worse but no. I guess after SolveSpace and LLVM there's fairly little in real-world C++ that would really scare me; Qt looks downright boring
<cr1901_modern> What's scary about SolveSpace?
<cr1901_modern> Wait... I'm sorry, don't answer that
<whitequark> there's nothing particulary scary about SolveSpace except the lengths it goes at places to do everything like C does
<whitequark> the scary part was adding STL to a codebase that thinks it's OK to just memset random shit
<whitequark> I've spent *weeks* debugging segfaults and learning about STL design constraints
<cr1901_modern> Solvespace to me feels (felt?) like "C with classes" for the most part.
<GitHub115> [artiq] sbourdeauducq pushed 2 new commits to qtdocks: https://git.io/vgSzH
<GitHub115> artiq/qtdocks d81ce15 Sebastien Bourdeauducq: gui: Qt wants a central widget in the main window, use explorer
<GitHub115> artiq/qtdocks cd73271 Sebastien Bourdeauducq: gui: save/restore main window geometry
<whitequark> yes, original SolveSpace was written like this
<whitequark> I've put a fair amount of std::vectors and std::strings into it though already
<whitequark> and it's not like I'm going to slow down
<GitHub142> [artiq] sbourdeauducq pushed 1 new commit to qtdocks: https://git.io/vgSgO
<GitHub142> artiq/qtdocks 15515f3 Sebastien Bourdeauducq: gui: better default placement of docks
Gurty has quit [Ping timeout: 250 seconds]
Gurty has joined #m-labs
<whitequark> the name "putsnonl" is stupid
<GitHub159> [artiq] sbourdeauducq pushed 1 new commit to qtdocks: https://git.io/vgS2v
<GitHub159> artiq/qtdocks 9797acc Sebastien Bourdeauducq: gui/applets: prevent size from shrinking to zero when docked
<GitHub87> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vgS2t
<GitHub87> artiq/master b24146e Sebastien Bourdeauducq: Merge branch 'qtdocks'
<GitHub87> artiq/master e4918a6 Sebastien Bourdeauducq: Merge branch 'master' of github.com:m-labs/artiq
<GitHub147> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vgS23
<GitHub147> artiq/master df16a1d Sebastien Bourdeauducq: gui: remove PyQt5 assertion (break mock modules)
<GitHub79> [artiq] sbourdeauducq deleted qtdocks at 9797acc: https://git.io/vgS2g
rohitksingh has quit [Quit: Leaving.]
<sb0> why didn't the build fail before df16a1d?
<sb0> ah. seems there was no build for e4918a6
<whitequark> btw the LLVM ELF linker takes shape nicely
<whitequark> by the time we migrate to LLVM master we should be easily able to get rid of binutils
<whitequark> hrm
<whitequark> C really needs a printf variant that accepts a closure
<GitHub171> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vgSwR
<GitHub171> artiq/master 3ab35f7 Sebastien Bourdeauducq: gui: get rid of pyqtgraph.LayoutWidget
<GitHub171> artiq/master d30fe60 Sebastien Bourdeauducq: gui: remove pyqtgraph
<sb0> mmm, the gui is much snappier after trashing this bug nest
mumptai has quit [Quit: Verlassend]
<whitequark> sb0: I can't seem to be able to communicate with the office kc705
<whitequark> should it respond to pings?
<sb0> yes
<sb0> did you reflash it? Robert changed the flash layout, and you may need to set its IP again
<whitequark> ugh
<whitequark> how do I do that?
<sb0> fpga reset from openocd, flterm, enter test mode, fswrite ip <new ip>
<sb0> another fpga reset
<whitequark> sb0: flterm doesn't work.
<whitequark> Press 't' to enter test mode...
<whitequark> tEntering regular mode.
<whitequark> Accepting network sessions.
<sb0> it worked last time I used it
<sb0> is there a delay before "Entering regular mode" ?
<whitequark> yes
<whitequark> flterm doesn't seem to send the `t` back
<whitequark> oh
<whitequark> "t<Return>"
<whitequark> this is stupid
<sb0> mh, it shouldn't be that
<sb0> _florent_ ^
<whitequark> why can't I reset it from test mode?
<whitequark> well, whatever
<sb0> so. modifying the m-labs.hk dns should not be complicated anymore
<whitequark> sb0: the ping to the board is WEIRD
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=521 ttl=255 time=1.91 ms
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=522 ttl=255 time=58.8 ms
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=523 ttl=255 time=16.1 ms
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=524 ttl=255 time=1.07 ms
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=525 ttl=255 time=79.9 ms
<whitequark> 64 bytes from 192.168.1.50: icmp_seq=526 ttl=255 time=1.09 ms
<whitequark> this makes no sense
<sb0> this is a new problem too
<whitequark> nevermind, it's WiFi