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
sb0__ has quit [Quit: Page closed]
ylamarre has joined #m-labs
<GitHub149> [artiq] jordens pushed 3 new commits to master: https://git.io/vzX3y
<GitHub149> artiq/master b56c55a Robert Jordens: manual: __version__ cleanup
<GitHub149> artiq/master 893ffb0 Robert Jordens: update release notes
<GitHub149> artiq/master 0bbed9b Robert Jordens: RELEASING.rst, doc: show release notes in manual
<GitHub121> [artiq] jordens force-pushed namespace-experiment from 8db9c53 to c644246: https://git.io/vzX3S
<GitHub121> artiq/namespace-experiment fd370e2 Robert Jordens: artiq: move namespace artiq.* -> artiq.language.*...
<GitHub121> artiq/namespace-experiment 7448144 Robert Jordens: artiq.experiment: merge language and coredevice namespaces...
<GitHub121> artiq/namespace-experiment 2c5e094 Robert Jordens: artiq.experiment: update examples
<GitHub189> [artiq] jordens pushed 1 new commit to master: https://git.io/vzXsO
<GitHub189> artiq/master ea3bb27 Robert Jordens: doc/manual: cleanup commented out variables
<GitHub119> [artiq] jordens force-pushed namespace-experiment from c644246 to f4c7f02: https://git.io/vzX3S
<GitHub119> artiq/namespace-experiment fbe4d96 Robert Jordens: artiq: move namespace artiq.* -> artiq.language.*...
<GitHub119> artiq/namespace-experiment 7650010 Robert Jordens: artiq.experiment: merge language and coredevice namespaces...
<GitHub119> artiq/namespace-experiment 905063c Robert Jordens: artiq.experiment: update examples
<bb-m-labs> build #160 of artiq is complete: Failure [failed python_unittest] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/160 blamelist: Robert Jordens <jordens@gmail.com>
<bb-m-labs> build #159 of artiq is complete: Failure [failed python_unittest] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/159 blamelist: Robert Jordens <jordens@gmail.com>
<rjo> sb0: i think this is due to your rpc_ipc commit but buildbot seems to think i am at fault.
<GitHub146> [artiq] jordens pushed 2 new commits to namespace-experiment: https://git.io/vzXl5
<GitHub146> artiq/namespace-experiment cbb6033 Robert Jordens: refactor Analyzer constants to unlink dependencies
<GitHub146> artiq/namespace-experiment d1119d7 Robert Jordens: artiq_dir: move out of tools to unlink dependencies
<GitHub175> [artiq] jordens pushed 1 new commit to master: https://git.io/vzX4t
<GitHub175> artiq/master 5444cd3 Robert Jordens: Merge branch 'namespace-experiment'...
<bb-m-labs> build #161 of artiq is complete: Failure [failed python_unittest] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/161 blamelist: Robert Jordens <jordens@gmail.com>
<rjo> sb0, whitewquark: i can't reproduce nor do i understand why it can't import pipe_ipc on the buildbot yet execute the test and why the test fails.
<rjo> whitequark that is.
ylamarre has quit [Quit: ylamarre]
<whitequark> no clue
<whitequark> I've never used asyncio
<whitequark> buildbot might have been confused by merge commits, it was created for SVN
<rjo> whitequark: maybe we can throw a git status into the git step?
<whitequark> rjo: what for?
<whitequark> I mean, confused in who is to blame, not confused in checking out code
<rjo> yeah. i don't care so much about the blame. more about the failure
<rjo> whitequark: can i haz ssh for the buildbot, at least to satisfy my curiosity?
<whitequark> rjo: sure, I thought you already had it...
<rjo> the buildbot stuff yes. not the machine.
<whitequark> login rjo?
<GitHub173> [artiq] jordens pushed 1 new commit to master: https://git.io/vzXzo
<GitHub173> artiq/master 3a73673 Robert Jordens: test/pipe_ipc: temporarily skip test
<bb-m-labs> build #162 of artiq is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq/builds/162
<rjo> whitequark: arent they even 32 bit aligned?
<rjo> whitequark: i'll wait for synchronized bitstreams and try again but at least the 0.1+730 build is the same. and i remember seeing this before.
<whitequark> rjo: 16-byte aligned.
<whitequark> it ends in 0x0.
<whitequark> rjo: i'm going to sleep now, but you can gain some amount of insight by looking at disassembly if you want
<whitequark> you can use the ARTIQ_DUMP_ELF=1 option
<rjo> ah. byte. yes.
fengling has joined #m-labs
<rjo> whitequark: ack. i'll poke around.
<whitequark> it has source mapping but it's actually not very useful
<whitequark> ideally it would have IR+source mapping
<rjo> and i am getting a ResourceWarning unclosed socket on CacheTest.test_put_get
attie has quit [Ping timeout: 260 seconds]
attie has joined #m-labs
<GitHub50> [artiq] jordens deleted namespace-experiment at d1119d7: https://git.io/vzX1G
evilspirit has joined #m-labs
rohitksingh has joined #m-labs
fengling has quit [Quit: WeeChat 1.2]
sb0__ has joined #m-labs
<GitHub185> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vzXjc
<GitHub185> artiq/master 7a9864b Sebastien Bourdeauducq: Revert "test/pipe_ipc: temporarily skip test"...
bentley` has quit [Ping timeout: 250 seconds]
<sb0__> rjo: re. the blamelist. that test used to run fine on the buildbot, before your merge...
<sb0__> I don't know what broke it and I cannot reproduce either though
<sb0__> and it works again on buildbot. probably something shady with the merge commit indeed
<GitHub72> [artiq] sbourdeauducq deleted ppp at ac134bb: https://git.io/vz1et
bentley` has joined #m-labs
sb0__ has quit [Ping timeout: 252 seconds]
fengling has joined #m-labs
sb0__ has joined #m-labs
rohitksingh has quit [Quit: Leaving.]
<sb0__> rjo: if you're motivated to clean things up, you may want to look into #69 ...
fengling has quit [Ping timeout: 272 seconds]
<cr1901_modern> rjo: New slider is implemented. It's the libqxt one, but stripped down to the essentials. Slider min and max cannot be reversed. I'll connect the signals in a bit
<cr1901_modern> i.e. libqxt reimplementation*
<sb0__> cr1901_modern: looks good!
<sb0__> whitequark: any update on the windows packaging?
<whitequark> sb0__: i just woke up, working on it now
<cr1901_modern> sb0__: Ty. Prob should have done this from the beginning. We're going to lose a bit of precision on the values that can be set w/ the sliders. It won't be pixel granularity anymore. Spinboxes are okay for fine tuning I guess.
<cr1901_modern> rjo: By default, the maximum slider is the one that's chosen when they both have the same value, except for the case where the minimum is at the maximum possible value. This is so we don't end up in a case where you can't move either slider. Would you prefer me to change it to "last selected" slider in case of a tie (except for the above case)?
sb0__ has quit [Ping timeout: 252 seconds]
sb0__ has joined #m-labs
sb0__ has quit [Ping timeout: 252 seconds]
ylamarre has joined #m-labs
sb0__ has joined #m-labs
sb0__ is now known as sb0
fengling has joined #m-labs
fengling has quit [Read error: Connection reset by peer]
ylamarre has quit [Ping timeout: 272 seconds]
<GitHub48> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vz1df
<GitHub48> artiq/master 6383253 Sebastien Bourdeauducq: protocols/pipe_ipc: autoclose pipe fds on process exit in AsyncioParentComm
<GitHub73> [artiq] sbourdeauducq created worker_pipeipc (+1 new commit): https://git.io/vz1dC
<GitHub73> artiq/worker_pipeipc a583a92 Sebastien Bourdeauducq: worker: use pipe_ipc (no log)
<GitHub138> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/591c0dca71da294fdbc9c445a947c2fcd6f2c664
<GitHub138> buildbot-config/master 591c0dc whitequark: Add a Windows builder.
<whitequark> sb0: do we move Ubuntu packaging off Travis?
<whitequark> this should be exactly no extra work past installing Ubuntu in Xen, and it would allow us to support whatever versions we want and simplify debugging those obscure bugs
sb0__ has joined #m-labs
<sb0__> whitequark: what Ubuntu packaging? I don't think we should spend any time on that
<sb0__> and I'm not aware of any obscure bug, except the numpy PYON failure on your machine
sb0 has quit [Ping timeout: 252 seconds]
<sb0__> (at least, not any ubuntu-specific one)
<whitequark> sb0__: the only remaining use of travis by m-labs is in the conda-recpies running on Travis
<whitequark> I'm saying "Ubuntu" because it is not actually OS-independent, it has platform dependencies on libc, gcc, and a bunch of X garbage
<whitequark> by obscure bugs I mean the ones that periodically crop up in the conda build process and are impossible to debug because you can't run Travis locally
<whitequark> yes
<sb0__> many of them are noarch it seems?
<sb0__> pyqtgraph
<whitequark> pyqt depends on host libs
<whitequark> for instance
<sb0__> pyelftools is no longer needed i think
<sb0__> flterm has been merged into misoc
<sb0__> this stuff needs some cleanup it seems
<whitequark> ok
<GitHub145> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/2cdd58502baabc9e8c4d8e904c6830b9142f3d6b
<GitHub145> buildbot-config/master 2cdd585 whitequark: Get rid of explicit UNIX path separators.
<whitequark> we can build noarch packages on our regular (debian) builders then, I will enable that since it's no work at all
<sb0__> how OS-dependent is that? is conda only supposed to be ran on ubuntu or similar?
<whitequark> no, it's not about conda
<sb0__> well anaconda, with the whole packages
<sb0__> qt and stuff
<whitequark> pyqt and possibly some other things have spurious dependencies on host packages
<whitequark> those are bugs
<whitequark> of course, we can fix the bug instead of using Ubuntu for builds
<sb0__> that sounds better, possibly users could hit it as well otherwise
<whitequark> that's quite possible
<sb0__> qt also provides binaries for linux
<sb0__> maybe those can be repackaged instead of rebuilding the whole thing, especially if they have already sorted out DLL-hell correctly
<whitequark> 600MB(!)
<whitequark> most of that is debug symbols, I bet
<GitHub16> [conda-recipes] whitequark pushed 3 new commits to master: https://github.com/m-labs/conda-recipes/compare/fd6f2261118c...a6ba0d974265
<GitHub16> conda-recipes/master 1c6fa34 whitequark: qt5: add.
<GitHub16> conda-recipes/master d7e4b17 whitequark: pyqt5: add.
<GitHub16> conda-recipes/master a6ba0d9 whitequark: chardet: bump.
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub71> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/d3618cefd3ad1ba2297cfbb328d2fa6fef00a06a
<GitHub71> buildbot-config/master d3618ce whitequark: Add conda recipe builders.
travis-ci has joined #m-labs
<travis-ci> m-labs/conda-recipes#91 (master - a6ba0d9 : whitequark): The build was broken.
travis-ci has left #m-labs [#m-labs]
<GitHub82> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/96e966c228e761f72894d099b73c53d4be8aba29
<GitHub82> buildbot-config/master 96e966c whitequark: Add missing import.
<GitHub89> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/5574616db27b0b52d6124daeadb34e2e904c27c2
<GitHub89> buildbot-config/master 5574616 whitequark: Fix os.pathsep.join call.
bb-m-labs has joined #m-labs
<whitequark> I wish buildbot had a sane way to validate config offline....
<whitequark> wow, that worked on the first try.
<whitequark> bb-m-labs: status conda-lin64
<bb-m-labs> conda-lin64: idle, last build 1m31s ago: build successful
ylamarre has joined #m-labs
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub133> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/a69af0a1ccaeb42a02a73b3d2962cb19cf6e7a03
<GitHub133> buildbot-config/master a69af0a whitequark: Allow starting builds via IRC.
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force conda-lin64 --props=package=chardet
<bb-m-labs> try 'force build [--branch=BRANCH] [--revision=REVISION] [--props=PROP1=VAL1,PROP2=VAL2...] <WHICH> <REASON>'
<whitequark> bb-m-labs: force build conda-lin64 --props=package=chardet
<bb-m-labs> build #1 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #1 of conda-lin64 is complete: Exception [exception conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/1
<whitequark> hm
<whitequark> bb-m-labs: force build conda-lin64 --branch=foo
<bb-m-labs> build #2 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #2 of conda-lin64 is complete: Exception [exception conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/2
<whitequark> hm, why doesn't that work.
<whitequark> bb-m-labs: force build conda-lin64 --branch=!@#!@#
<bb-m-labs> build #3 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #3 of conda-lin64 is complete: Exception [exception conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/3
<whitequark> it just ignores the options...
<whitequark> oh
<whitequark> ohhhh
<whitequark> bb-m-labs: force build --props=package=chardet conda-lin64
<bb-m-labs> build #4 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #4 of conda-lin64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/4
<whitequark> glorious
<whitequark> sb0__: ^
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<bb-m-labs> build #0 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #0 of conda-win64 is complete: Failure [failed conda_clean_lock] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/0
<whitequark> *sob*
<whitequark> os.pathsep is the host's, not the target's
<whitequark> this is so stupid
MiW has quit [Ping timeout: 240 seconds]
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub44> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/8e35f2679470847a2f52233f18d1bc7f22de8983
<GitHub44> buildbot-config/master 8e35f26 whitequark: Use builder's directory/path separator, not master's.
<ysionneau> win 59
<whitequark> ysionneau: that's a lot of windows
<GitHub164> [buildbot-config] whitequark force-pushed master from 8e35f26 to 652ab92: https://github.com/m-labs/buildbot-config/commits/master
<GitHub164> buildbot-config/master 652ab92 whitequark: Use builder's directory/path separator, not master's.
<GitHub190> [buildbot-config] whitequark force-pushed master from 652ab92 to 8d96b6b: https://github.com/m-labs/buildbot-config/commits/master
<GitHub190> buildbot-config/master 8d96b6b whitequark: Use builder's directory/path separator, not master's.
<ysionneau> whitequark: and my irssi got oom killed recently :'
<GitHub165> [buildbot-config] whitequark force-pushed master from 8d96b6b to ce16572: https://github.com/m-labs/buildbot-config/commits/master
<GitHub165> buildbot-config/master ce16572 whitequark: Use builder's directory/path separator, not master's.
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<bb-m-labs> The build has been queued, I'll give a shout when it starts
MiW has joined #m-labs
<whitequark> bb-m-labs: GET ON TO WORK
<bb-m-labs> build #1 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #1 of conda-win64 is complete: Failure [failed conda_clean_lock] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/1
<whitequark> AAARGH
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub148> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/0318af6eb3be90b8004fd1fa7637ff715814f0a8
<GitHub148> buildbot-config/master 0318af6 whitequark: Move all OS-dependent strings to builder vars.
bb-m-labs has joined #m-labs
<whitequark> fuck
bb-m-labs has quit [Client Quit]
<GitHub74> [buildbot-config] whitequark force-pushed master from 0318af6 to 32addd4: https://github.com/m-labs/buildbot-config/commits/master
<GitHub74> buildbot-config/master 32addd4 whitequark: Move all OS-dependent strings to builder vars.
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<bb-m-labs> build #2 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #2 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/2
<whitequark> different error! sweet!
<whitequark> oh, no conda-build
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<bb-m-labs> build #3 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #3 of conda-win64 is complete: Failure [failed anaconda_upload] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/3
<whitequark> ah, unauthenticated
<whitequark> sb0__: did you change binstar password?
<whitequark> I can't upload anything, anaconda login rejects
ylamarre has quit [Ping timeout: 264 seconds]
ylamarre has joined #m-labs
FabM has quit [Remote host closed the connection]
sb0__ has quit [Ping timeout: 252 seconds]
ylamarre has quit [Ping timeout: 240 seconds]
sb0__ has joined #m-labs
<sb0__> whitequark: no, i didn't change it
bb-m-labs_ has joined #m-labs
<whitequark> wtf
<whitequark> ohhhh, 0 and O
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<whitequark> ??
<whitequark> bb-m-labs: force build --props=package=chardet conda-win64
<whitequark> bb-m-labs: status
bb-m-labs has quit [Ping timeout: 240 seconds]
<whitequark> oh
<whitequark> bb-m-labs_: force build --props=package=chardet conda-win64
<bb-m-labs_> build #4 forced
<bb-m-labs_> I'll give a shout when the build finishes
<sb0__> whitequark: why is chardet not noarch?
<bb-m-labs_> build #4 of conda-win64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/4
<sb0__> cool :)
<whitequark> sb0__: it's noarch
<whitequark> I'm just using it for testing
<whitequark> although
<whitequark> oh, it is not noarch.
<sb0__> i think windows builds should be 32-bit too
<whitequark> we have no noarch packages in conda-recipes
<sb0__> pyqtgraph is definitely noarch
<whitequark> ok, *most* packages aren't noarch
<whitequark> I will fix that
<sb0__> if it's not marked as such, that's because ysionneau fucked it up
ylamarre has joined #m-labs
<sb0__> prettytable should be also noarch, unlike what the conda recipe says
<whitequark> there's lots of those....
<whitequark> do we delete bld.bat's?
<sb0__> are they unneeded?
<whitequark> they are not needed if we build noarch packages only on linux
<sb0__> hm, then yes, there's the git history anyway if we need them later for some reason
<whitequark> actually, we can get rid of build.sh too
<whitequark> when it is one-line
<whitequark> and I think that will even work on Windows if desired
bb-m-labs_ has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub66> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/1a375340429574bc08c99ebb1bf759ae2a348ea1
<GitHub66> buildbot-config/master 1a37534 whitequark: Don't force uploads in conda builders.
bb-m-labs has joined #m-labs
<GitHub188> [conda-recipes] whitequark pushed 3 new commits to master: https://github.com/m-labs/conda-recipes/compare/a6ba0d974265...69e85d60e382
<GitHub188> conda-recipes/master 9e0a29d whitequark: flterm, pyelftools: remove (obsolete).
<GitHub188> conda-recipes/master 3bb86b0 whitequark: aiohttp, chardet, dateutil, lit, outputcheck, prettytable: mark as noarch.
<GitHub188> conda-recipes/master 69e85d6 whitequark: pydaqmx, pyqtgraph, pythonparser, quamash, sphinx-argparse: mark as noarch.
<whitequark> bb-m-labs: force build --props=package=aiohttp conda-lin64
<bb-m-labs> build #5 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #5 of conda-lin64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/5
<whitequark> oops
<whitequark> bb-m-labs: force build --props=package=chardet conda-lin64
<bb-m-labs> build #6 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #6 of conda-lin64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/6
<whitequark> bb-m-labs: force build --props=package=dateutil conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> Hey! build conda-lin64 #7 is complete: Success [build successful]
<whitequark> bb-m-labs: force build --props=package=lit conda-lin64
<bb-m-labs> build forced [ETA 13 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> Hey! build conda-lin64 #8 is complete: Success [build successful]
<whitequark> bb-m-labs: force build --props=package=outputcheck conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> Hey! build conda-lin64 #9 is complete: Success [build successful]
<whitequark> bb-m-labs: force build --props=package=prettytable conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #10 of conda-lin64 is complete: Failure [failed anaconda_upload] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/10
travis-ci has joined #m-labs
<travis-ci> m-labs/conda-recipes#92 (master - 69e85d6 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<GitHub94> [conda-recipes] whitequark pushed 2 new commits to master: https://github.com/m-labs/conda-recipes/compare/69e85d60e382...6e0a8137f140
<GitHub94> conda-recipes/master 0e3f19a whitequark: aiohttp: unmark as noarch.
<GitHub94> conda-recipes/master 6e0a813 whitequark: prettytable: bump.
<whitequark> bb-m-labs: force build --props=package=prettytable conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #11 of conda-lin64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/11
<whitequark> bb-m-labs: force build --props=package=pydaqmx conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #12 of conda-lin64 is complete: Failure [failed anaconda_upload] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/12
<GitHub14> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/4e27221d9df1496a0e9907c2db3ee22162ee4dbb
<GitHub14> conda-recipes/master 4e27221 whitequark: pydaqmx: bump.
<whitequark> bb-m-labs: force build --props=package=pydaqmx conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #13 of conda-lin64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/13
<whitequark> bb-m-labs: force build --props=package=pyqtgraph conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #14 of conda-lin64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/14
travis-ci has joined #m-labs
<travis-ci> m-labs/conda-recipes#93 (master - 6e0a813 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<whitequark> travis-ci: die
travis-ci has joined #m-labs
<travis-ci> m-labs/conda-recipes#94 (master - 4e27221 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<whitequark> bb-m-labs: force build --props=package=pyqtgraph conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #15 of conda-lin64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/15
<whitequark> bb-m-labs: force build --props=package=pyqtgraph conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #16 of conda-lin64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/16
<GitHub154> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/cd0fa76064efa6cbb0c0a62bb281f5021c9cd4f8
<GitHub154> conda-recipes/master cd0fa76 whitequark: pyqtgraph: fix empty version.
<whitequark> ...... oh
<whitequark> fucking conda garbage strikes again
<whitequark> Error: bad character '-' in package/version: travis-32
<whitequark> well fuck that *shrug*
<whitequark> I'm not compelled to fix that shit, whoever needs is next is going to do it
<sb0__> whitequark: i think we need to build pydaqmx for windows-32 only
<sb0__> as i understand the linux version is crippled with bugs and essentially unusable
<sb0__> oh, it's ctypes/noarch?
<whitequark> sb0__: it's noarch though
<sb0__> ok good
<whitequark> bb-m-labs: force build --props=package=pythonparser conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #17 of conda-lin64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/17
<sb0__> this thing loads the proprietary NI crap driver at some point, and apparently the linux version doesn't work, which would not surprise me
<whitequark> "An unexpected error has occurred" burn
<whitequark> the fuck is wrong with it, meta.yaml is nearly identical to e.g. prettytable
<whitequark> or OutputCheck
<sb0__> pfui
<sb0__> whitequark: does ocaml (that's your favorite, right?) have a package manager that does not suck?
<whitequark> opam, yes
<whitequark> it's a good package manager but it does not have binary packages.
<whitequark> which is why we aren't using it already.
<whitequark> it's on the roadmap https://github.com/ocaml/opam/issues/1159 but it can well not appear for a few years.
<whitequark> i wouldn't count on it.
<GitHub163> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/540d3a4f95d4cc5fb25eb721ed80929f5c4b152e
<GitHub163> conda-recipes/master 540d3a4 whitequark: pythonparser: work around unidentified conda-build bug.
travis-ci has joined #m-labs
<travis-ci> m-labs/conda-recipes#96 (master - 540d3a4 : whitequark): The build is still failing.
travis-ci has left #m-labs [#m-labs]
<whitequark> bb-m-labs: force build --props=package=pythonparser conda-lin64
<bb-m-labs> build forced [ETA 12 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #18 of conda-lin64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/18
<whitequark> WTF
<whitequark> why did that work
<whitequark> why did it break before
<cr1901_modern> Is it possible to do duplicate a build down to the same PRNG params?
<whitequark> google for "reproducible builds"
<whitequark> but that's irrelevant here
<whitequark> it's not a transient bug, it's a regular bug, but it's in the festering pile of garbage that i have no desire to dig into
<whitequark> bb-m-labs: force build --props=package=quamash conda-lin64
<bb-m-labs> build forced [ETA 13 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> Hey! build conda-lin64 #19 is complete: Success [build successful]
<whitequark> bb-m-labs: force build --props=package=sphinx-argparse conda-lin64
<bb-m-labs> build forced [ETA 13 seconds]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> Hey! build conda-lin64 #20 is complete: Success [build successful]
<whitequark> fabulous.
<whitequark> i really like this method of building packages.
<cr1901_modern> Ahhh, I thought it was a transient bug and you didn't change anything.
<cr1901_modern> Kinda cool that you can build from inside the IRC channel.
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win64
<bb-m-labs> build #5 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #5 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/5
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win64
<bb-m-labs> build #6 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #6 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/6
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win64
<bb-m-labs> build #7 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #7 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/7
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win64
<bb-m-labs> build #8 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #8 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/8
<rjo> sb0__: i did not see any error on the buildbot with resetting to the merge commit. it looked like it did the right thing. but anyway. seems ok now.
<rjo> sb0__: i'll put #69 on my list.
evilspirit has quit [Ping timeout: 264 seconds]
<sb0__> rjo: ok, thx
<sb0__> i'll see what i can do for udp on windows. i've been digging into asyncio guts for a while now...
<rjo> cr1901_modern: nice. looks good. i did not look at the code, but is it really difficult to have start to the left of stop?
<rjo> cr1901_modern: yes. if it is not too difficult the last selected should be "on top".
<rjo> sb0__: alternatively we could consider saying "no moninj on windows".
<sb0__> you said that was a serious restriction...
<sb0__> another thing that can be done is moving that restriction to the master
<sb0__> the master would do udp with the core device, and sync_struct to clients
<sb0__> or have the core device use TCP anyway...
<rjo> if i was the user, i would consider it serious, yes. but maybe others don't.
<sb0__> the main problem with TCP is lwip is horrible to use
<rjo> sb0__: yep. proxy it through the master or go tcp...
<cr1901_modern> rjo: start to the left of stop?
<sb0__> and doing semi-complicated things like that becomes a mess
<rjo> cr1901_modern: sorry. the other way around.
<cr1901_modern> rjo: Yes, it's complicated. A lot of the code I stripped out was based on the assumption that the sliders cannot be swapped
<rjo> sb0__: what other stacks did you have on the radar? picotcp as well?
<sb0__> uIP, which is a worse lwip
<cr1901_modern> I was under the impression that the sliders wouldn't have to be swapped
<sb0__> I used RTEMS before, which is another can of worms
<whitequark> sb0__: write our own?
<rjo> cr1901_modern: so you are saying "allowing start to the right of stop" was enforced and there was a lot of code. but then allowing it should be pretty simple right?
<sb0__> whitequark: in rust?
<whitequark> sb0__: yes
<whitequark> there's already some of work done
<whitequark> libpnet
<sb0__> i'd be okay with moving the whole runtime to something better than C
<rjo> hahaha
<whitequark> rjo: what
<sb0__> especially if it needs to do complicated things like device-assisted scheduling of experiments
* rjo tries hard to cage his cynicism... ;)
<whitequark> I dunno what are you even talking about
<rjo> can we delay that to >>> 3.0?
<whitequark> we don't have to REWRITE the runtime
<whitequark> we can plug a network stack into it
<rjo> cr1901_modern: sorry. wrong wording again. "start > stop" was prohibited and there was a lot of code to do so, right?
<whitequark> that said, I have no idea what your idea of scheduling even looks like, so maybe?
<cr1901_modern> In libqxt start > stop is not prohibited. Me being able to strip out a lot of code is based on start > stop being prohibited
<cr1901_modern> rjo: ^^
<sb0__> yeah, I guess the loader/linker and such can stay in C
<rjo> cr1901_modern: ah. well. the idea of start > stop is to scan from large to small values. that has many use cases.
<sb0__> but it makes sense to use a higher level language for the network functions, that would become pretty hairy with DAS
<sb0__> and converting moninj to TCP would be straightforward then
<rjo> DAS?
<sb0__> device-assisted scheduling
<cr1901_modern> rjo: There must've been a miscommunication somewhere. It's fine if you want the ability to swap sliders. I can add it back in, but it'll take a bit more time. But I was under the impression that it was prohibited
<rjo> and by that you are referring to more than just the "staging the next kernel" thing?
<sb0__> cr1901_modern, rjo: reversed scans are not supported anywhere right now
<sb0__> and if we want to support them, the easiest way is probably a "swap boundaries" button in the GUI
<whitequark> sb0__: no, I don't mean that any parts *need* to stay in C
<sb0__> rjo: you need to stage many kernels, look at their priority values, tell the different workers what to do
<whitequark> practically all of them will benefit from Rust's features
<whitequark> but we can replace them one by one instead of one huge rewrite
<sb0__> rjo: this implies being able to accept connections from many workers, manage memory, etc.
<whitequark> which will mean we'll be shipping something useful throughout the rewrite.
<sb0__> rjo: all this is a huge PITA with lwip and C
<whitequark> sb0__: oh also, it will be very easy to rewrite session.c so that packets could be fragmented if we use Rust
<whitequark> it has excellent support for zero-copy streaming parsers, best in class probably
<sb0__> whitequark: can't it support very large packets then, instead of fragmentation?
<rjo> sb0__, whitequark: maybe. as usual i am just worried about underestimating the amount of work that will go into this.
<whitequark> sb0__: we can make the buffers extra large right now, no?
<whitequark> I thought you had some reason that wouldn't be good
<sb0__> rjo: oh it will be a mess for sure
<sb0__> whitequark: yes, memory limitations on pipistrello
<whitequark> oh, I understood what you said
<whitequark> yes, it would be just very large packets
<whitequark> I meant "fragmentation" in the network sense
<whitequark> not application layer sense
<sb0__> originally, 8MB on ppro, we have 64MB now...
<cr1901_modern> rjo: That's fine. But it's probably easier to just add a state var (checkbox) that tells which direction to scan when reverse scans are supported.
<rjo> if that is compact, yes.
<cr1901_modern> When sending data to the FPGA, artiq_gui will need to query this checkbox (i.e. I'll provide a public method isReversed()) before actually sending the data.
<rjo> but at least in the representation of the scan, start > stop should be permitted. then there is also no other field necessary.
<cr1901_modern> rjo: "then there is also no other field necessary." What do you mean?
<cr1901_modern> rjo: Each slider is it's own entity. The slider on the left will always be the slider on the left, except the special case where they are equal. Ditto for right. It doesn't really matter if the slider on the left becomes the max, and the right slider becomes the min from ARTIQ's POV. But from the widget's POV, me being able to strip a lot of code relies on left always being left
<GitHub41> artiq/worker_pipeipc 5aa4de8 Sebastien Bourdeauducq: refactor logging and implement in worker
<GitHub41> [artiq] sbourdeauducq pushed 1 new commit to worker_pipeipc: https://git.io/vzD3q
<rjo> cr1901_modern: you can tell the scan direction from the fact that start > stop.
<cr1901_modern> rjo: Okay, so you want the widget itself to keep track of whether start > stop, and whether the min slider is > max slider. Is that correct?
<rjo> cr1901_modern: no. you can do the additional checkbox to represent the scan direction. but in the backend and w.r.t. the parameters that are passed to the experiment, you don't need that additional variable.
<cr1901_modern> Okay, I understand now. But the artiq GUI will still need to query the checkbox to know whether to swap the values it sends
<cr1901_modern> will that be a problem?
<rjo> cr1901_modern: not afaict. but as sb0__ says, there will be a problem further down.
<cr1901_modern> AFAICT, that's inherent to supporting reverse scan tho ;)
<cr1901_modern> not necessarily anything I can screw up
<rjo> cr1901_modern: yes. but you should prepare your widget accordingly for when that will be fixed.
<rjo> sb0__, whitequark: is suspect that DAS will be of reduced value because more staging means more lack of synchronization of parameters. I think we can handle one kernel being staged. but more might become very painful experimentally.
<sb0__> rjo: staging more kernels is necessary to handle priority inversions
<sb0__> rjo: also, parameter passing can happen through the core device cache
<rjo> sb0__: https://github.com/tass-belgium/picotcp actually looks pretty clean. maybe next time somebody needs a networking stack in C, they should try that.
<rjo> sb0__: if you get prio inversion, you can just cancel the staged kernel.
<cr1901_modern> rjo: Very well, I'll add the checkbox and provide a helper function to query the state. When reverse scan is supported meaningfully, you query that checkbox to determine the scan direction.
<sb0__> rjo: does it implement the window mechanism?
<rjo> sb0__: that would mean synchronizing all or most of the dataset_db to the core device.
<rjo> sb0__: tcp window?
<sb0__> rjo: uIP, for example, supports only one unacked TCP packet, which makes it unusable for anything but the most trivial stuff
<cr1901_modern> rjo, sb0__: It might not be as nice as sliders being able to cross each other from a GUI standpoint, but it's also less code that accomplishes the same thing. And code that's not there can't fail.
<cr1901_modern> (Pretty sure that's sb0__'s philosophy anyway if I learned anything?)
<rjo> sb0__: from the code it supports multiple packets in flight (unacked).
<rjo> cr1901_modern: i am still surprised that crossing sliders is hard. might have to convince myself ;)
<rjo> cr1901_modern: from a UI standpoint allowing the sliders to cross would be so much better than havint the checkbox.
<rjo> sb0__: i don't think it does partial acks though.
<cr1901_modern> rjo: It's not *that* hard to add, but I'll have to think about how to best do it
<rjo> cr1901_modern: ack. do you want me to comment on the TODOs and questions you have in your code?
<cr1901_modern> Please do when you get the chance. A number of them fell out during the last commit b/c strictly speaking, it was a rewrite :P
<cr1901_modern> I'll need to add them back in.
<cr1901_modern> libqxt's implementation is complete overkill; the parts I stripped out were mainly because I decided on the "sliders can't cross" invariant. This is because ARTIQ doesn't support reverse scans. I admit that I forgot that you said reverse scans are meaningful.
<rjo> cr1901_modern: and you should follow PEP8 before somebody lynches you.
<cr1901_modern> I ran it through autopep8, what else do you want :P?
<rjo> cr1901_modern: if sliders move out of view during zoom, keep them there. do not move them.
<cr1901_modern> Keep them there, as in "change the values displayed on the spinboxes"?
* cr1901_modern needs to write some documentation for this widget so it's easy to modify
<rjo> cr1901_modern: CamelCase for class names. not headLessCamels. the_rest_like_this
<rjo> cr1901_modern: no. hide them.
<rjo> sliders values should never change as a surprising sideeffect of zooming.
<cr1901_modern> Okay, that's simple enough (just don't draw the sliders)
<cr1901_modern> I need to fix the scientific notation problems w/ the axis as well
<rjo> cr1901_modern: yes.
<cr1901_modern> What I'm prob gonna do is change which power of 10 to use by querying how close the labels are to each other. If they nearly overlap, use the next power of 10
<rjo> cr1901_modern: and about the granularity: just have at least as many slider positions as pixels.
<cr1901_modern> That's not possible in the general case without things breaking. Qt only allows sliders to have up to 4096 different positions it can take before conversions start failing.
<cr1901_modern> I have to convert from pixel to slider position whenever the spinboxes are updated, since the spinboxes can be used to increment to values that cannot be acheived using the sliders
<rjo> cr1901_modern: 4096 sounds like plenty.
<cr1901_modern> rjo: Okay. Just be warned that there's potential for breakage if you need more.
<rjo> cr1901_modern: then make sure that if i enter a given value in the spinbox, it does not round/snap to slider values (until the slider is moved explixitly).
<rjo> s/until/unless/
<rjo> cr1901_modern: or phrased differently: the spinbox values should never snap to slider granularity, only if the slider is moved explicitly (which only happens on S-Wheel, LMB-drag slider, fit-sliders-to-view)
<cr1901_modern> The spinbox values never do snap to slider granularity
<rjo> cr1901_modern: good.
<rjo> cr1901_modern: why do you need Fraction?
<cr1901_modern> To prevent precision errors from creeping in during large zooms
<cr1901_modern> rjo: There's three coordinate systems in play here: Numbers that the spinboxes show, pixels, and the set of integer values that the sliders can take on.
<rjo> cr1901_modern: about the ticks: allowed mantissae are [1, 2, 5, 10...] all tick labels need to be shown with the same (decadic) exponent. there must be at least 2 and at most ~10 ticks over the view.
<rjo> cr1901_modern: ok. if you really see rounding errors, Fractions are wise.
<cr1901_modern> rjo: We need to back up before my current question gets lost, sorry
<rjo> which question?
<cr1901_modern> I'm looking for the relevant timestamp lol
<cr1901_modern> http://irclog.whitequark.org/m-labs/2016-01-26#15309859; Do you want me to NEVER synchronize the slider when the spinbox is updated?
<cr1901_modern> Or just in the case where the conversion from pixelspace to sliderspace isn't guaranteed to work?
<rjo> cr1901_modern: w.r.t. the three number scales: ack. there is also a natural hierarchy spinboxes > slider positions > pixels. snapping/rounding upwards that hierarchy happens only in very few very specific situations, downward happens "all the time" and dominates.
<cr1901_modern> in other words, "the spinboxes are always right"
<rjo> re your question: no. the spinboxes govern the sliders. only in the case where the sliders are moved the situation is reversed.
<rjo> yes. spinboxes are always right.
<cr1901_modern> What I was getting at is that I cannot promise that one integer increment in sliderspace will correspond to no more than one pixel increment in the general case
<rjo> cr1901_modern: those are ethe things that come to mind and that i understand right now. anything else i overlooked?
<rjo> cr1901_modern: that's fine. slider integer pos dominates slider pixel pos.
<cr1901_modern> rjo: I'm thinking. Not that I can think of. I just want to alleviate confusion with everything here before I start connecting signals and tuning
<rjo> cr1901_modern: (unless the slider is LMB-dragged)
<rjo> cr1901_modern: good.
<cr1901_modern> I should perhaps write a document of priorities of coordinate systems and when they change.
<cr1901_modern> (i.e. there's a default case, and there are special cases when it makes logical sense)
<rjo> cr1901_modern: is there an easy way to prevent that "selection" of the slider being associated with the left slider only?
<cr1901_modern> Well, I thought it was with the right :P. And it should be that difficult to add.
<cr1901_modern> In the current committed code, right/max slider is always chosen except for the case where both sliders are at the max (so we don't end up w/ a case where you can't move either slider)
<rjo> cr1901_modern: currently the motion range of a slider is hard-limited by the other slider. to me it seems you should either allow them to cross, or "push" the non-dragged slider if a slider hits the other one.
<cr1901_modern> That was a side effect of not supporting reversing min and max
<rjo> cr1901_modern: maybe it is with the right. the visual signalling is a bit unclear to me. i am just saying the two handles should not differ.
sb0__ has quit [Ping timeout: 252 seconds]
<rjo> (in their highlighting)
<cr1901_modern> Again, it can be done, but it requires me to look at how qxt did it and decide which code to add and which code to remove. qxt is overkill and supports a lot of things that I don't really need. There is a lot of code for handling the cases where the left slider moves to the right and vice-versa
<rjo> cr1901_modern: ack. just food for thought. i'll leave you to it.
<cr1901_modern> I am currently unsure how much of this "special case" code that I need, and whether it's even reasonable to make both sliders interchangeable.
<cr1901_modern> (qxt itself distinguishes upper from lower)
<rjo> cr1901_modern: the "required" additional code may just have come from terminology confusion: right-vs-left max-vs-min start-vs-top upper-vs-lower. might be worth sitting down and honing the terminology.
<rjo> s/top/stop/
<cr1901_modern> Start/Stop is the most accurate for this application, and there's no need to make this widget reusable by external projects. So perhaps I should use that terminology from now on
sb0___ has joined #m-labs
<cr1901_modern> And simply default to start (blue) being on the left and stop (red)on the right when the widget is initially constructed.
<rjo> cr1901_modern: ack.
<cr1901_modern> rjo: Last thing: Why are the allowed mantissa not evenly spaced?
<rjo> cr1901_modern: if you get down to the ticks, there is some good algorithm here as well: https://github.com/bokeh/bokeh/blob/master/bokehjs/src/coffee/models/tickers/adaptive_ticker.coffee
<rjo> cr1901_modern: sorry the mantissa was the interval between the ticks. not the ticks themselves.
<cr1901_modern> Okay, I was about to say lol. I wasn't exactly prepared to create a logarithmic axis manually :P
<rjo> you want [1, 2, 3, 4..] or [0, 2, 4, 6, ..] or [0, 5, 10, 15 ...] at any decadic exponent.
<cr1901_modern> I'll look at the algorithm and see what I can do
<rjo> cr1901_modern: yes. just the tick step is from that "humane logarithmic" scale
<cr1901_modern> "humane" logarithmic lol. In any case, that's a clever solution.
<cr1901_modern> Will need to see how get_ideal_interval is implemented
<GitHub96> [artiq] sbourdeauducq pushed 4 new commits to worker_pipeipc: https://git.io/vzDVm
<GitHub96> artiq/worker_pipeipc 19c5e89 Sebastien Bourdeauducq: protocols/logging: support parsing multiline log messages
<GitHub96> artiq/worker_pipeipc 1fed38a Sebastien Bourdeauducq: worker: use MultilineFormatter
<GitHub96> artiq/worker_pipeipc ded1e31 Sebastien Bourdeauducq: protocols/logging: add MultilineFormatter
<GitHub135> [artiq] sbourdeauducq pushed 1 new commit to worker_pipeipc: https://git.io/vzDw3
<GitHub135> artiq/worker_pipeipc be5162d Sebastien Bourdeauducq: worker: restore short exception info in first line of log
<sb0___> whitequark: why did you remove this?
<sb0___> (the short exception info first)
<sb0___> also now it is printed up to 3 times... hmm
<whitequark> uh, this is why?
<whitequark> hm, I don't remember the exact details though
<rjo> sb0___: should we add a deprecating stub EnvExperiment to artiq/__init__.py to tell people what to do? i didn't because i think we can expect people to read the mailing list and/or the release notes.
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win64
<bb-m-labs> build #9 forced
<bb-m-labs> I'll give a shout when the build finishes
<sb0___> whitequark: your commit 6bf48e60badc52f67f16900c639a173528b68fa1 removed this info from the first line of the logs.
<bb-m-labs> build #9 of conda-win64 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/9
<whitequark> ooooh
<whitequark> bb-m-labs: dance
<bb-m-labs> <(^.^<)
<bb-m-labs> <(^.^)>
<bb-m-labs> (>^.^)>
<bb-m-labs> (7^.^)7
<bb-m-labs> (>^.^<)
<sb0___> and we want this info there, so that if someone is brave enough to mess around with QTreeView we can fold multiline log entries in the GUI and the first one (always displayed) will be more useful
<whitequark> sb0___: it is entirely possible that i did not account for some case in that code
<whitequark> feel free to restore old behavior
<sb0___> I have done so, but your code displays this info twice in some cases (as in the paste), which makes 3 with the first line
<sb0___> the old behavior didn't handle this parent_traceback you added
<whitequark> ok, we have Windows conda package building up and running.
<GitHub117> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/762d8fc81b083f0afa6a7a501499132779e39d92
<GitHub117> buildbot-config/master 762d8fc whitequark: Buildbot expands ${PATH}, not shell, so ${} syntax is also used on Windows.
<whitequark> you say you want 32-bit Windows too? ok, let me install this overnight.
sb0____ has joined #m-labs
<sb0____> we thought earlier that building 32-bit packages would be nicer, as those can be used on 64-bit systems but not the other way around.
<sb0____> but I'm not sure if anyone really needs 32
<sb0____> jesus fuck is this hotel wifi annoying
<whitequark> I'm actually not sure what kind of package is built
sb0___ has quit [Ping timeout: 252 seconds]
<whitequark> Uploading file m-labs/levenshtein/0.12.0/win-64/levenshtein-0.12.0-py35_1.tar.bz2 ...
<whitequark> hmmmm
<whitequark> I feel like there might be some fuckery going on
<whitequark> ohhhh, nevermind, *conda*'s python is 64-bit
<sb0____> ask on the ML if anyone really needs 32
<sb0____> if so, there should be only 32, as those are also compatible with 64
<whitequark> why don't we do the same for linux?
<sb0____> are you building both 32 and 64 linux right now?
<whitequark> sure, has been since travis was ever added
<sb0____> iirc doing both 32 and 64 was easier on linux than on windows...
<whitequark> it's exactly same
<whitequark> I install 32-bit miniconda on a 64-bit system in addition to 64-bit miniconda
<whitequark> done
<sb0____> ok
<whitequark> I personally think we should discourage people from using 32-bit packages
<whitequark> there's not really any reason to use 32-bit systems in 2016
<sb0____> old crappy drivers maybe
<sb0____> this pxi6733 would be the usual suspect
<whitequark> ugh
<sb0____> but hey. maybe we should just drop this crappy card
<sb0____> and replace it with the upcoming ARTIQ hardware :)
<sb0____> but i'm not sure. maybe all-64 is okay.
<whitequark> sb0____: please disable travis for m-labs/conda-recipes
<whitequark> nevermind I can do that
<sb0____> done
<cr1901_modern> https://twitter.com/whitequark/status/692098789683957761 I do wish it was easier to make headway into LLVM's build system. Even with the cpu0 backend, it's quite overwhelming how many files I have to edit just to get started adding a "vanity" architecture :(.
<rjo> we want 32 bit conda because we have a bunch of machines that have 32 bit windows because of old drivers.
<sb0____> can 32-bit linux be dropped?
<rjo> afaik yes
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-lin64
<bb-m-labs> build #21 forced
<bb-m-labs> I'll give a shout when the build finishes
<rjo> pretty sure actually.
<bb-m-labs> build #21 of conda-lin64 is complete: Failure [failed anaconda_upload] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-lin64/builds/21
<whitequark> hm, that was built already?..
<whitequark> ok
<whitequark> I will now add 32-bit Windows builds...
<GitHub153> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/9e0e585235bb511e6b4c3b9d58b127ded92902cf
<GitHub153> buildbot-config/master 9e0e585 whitequark: Add x32 Windows builder.
cr1901_modern has left #m-labs [#m-labs]
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
cr1901_modern has joined #m-labs
<cr1901_modern> The "x" manages to take up 5% of the tab and I still manage to click it
<whitequark> bb-m-labs: force build artiq-pipistrello-nist_qc1
<bb-m-labs> build #96 forced
<bb-m-labs> I'll give a shout when the build finishes
<sb0____> cr1901_modern: what x?
<sb0____> is that yet another bug in the pyqtgraph docks?
<cr1901_modern> sb0____: Ah sorry, I wasn't referring to anything about artiq, but rather my IRC client
<bb-m-labs> build #96 of artiq-pipistrello-nist_qc1 is complete: Success [build successful] Build details are at http://m-labs-buildserver.lan/buildbot/builders/artiq-pipistrello-nist_qc1/builds/96
<whitequark> bb-m-labs: force build --props=package=levenshtein conda-win32
<bb-m-labs> build #0 forced
<bb-m-labs> I'll give a shout when the build finishes
<rjo> sb0____: if i want to run the controllers for the testing, i want a lot of code from artiq_ctlmgr.Controller. OK to move that code to artiq.devices.ctlmgr?
<bb-m-labs> Hey! build conda-win32 #0 is complete: Success [build successful]
<whitequark> nice
<sb0____> rjo: why not use subprocesses and run the actual controllers?
<whitequark> sb0____: ok, we now have win32 builder.
<sb0____> ah, that's what you meant.
<rjo> sb0____: to robustify the testing. i also want to be able to kill them reliable and timeout etc.
<sb0____> that's asyncio code though
<whitequark> I should set something up so that you can trigger all three with one command
<rjo> yes. code very much similar to the one in Controller.
<sb0____> also, there will be a merge conflict with the worker_pipeipc branch
<sb0____> (unless you do your changes in that branch)
<sb0____> OK for that move
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub80> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/af76be9df8a4db2d3f05e3e917007a21f6e6f336
<GitHub80> buildbot-config/master af76be9 whitequark: Add a conda-all builder that triggers all other conda builders.
<rjo> sb0____: i'll base my branch on that one.
bb-m-labs has quit [Client Quit]
<GitHub50> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/8c31390e533002dc09020f507dd9382ca1c2a611
<GitHub50> buildbot-config/master 8c31390 whitequark: Make conda-all builder wait for others to finish.
bb-m-labs has joined #m-labs
sb0____ has quit [Quit: Page closed]
<whitequark> bb-m-labs: force build --props=package=llvmlite-artiq conda-win64
<bb-m-labs> build #10 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #10 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/10
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win64
<bb-m-labs> build #11 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> ... did conda break?
<whitequark> yes. yes, it broke again. AAAARGH
<whitequark> bb-m-labs: stop build conda-win64
<bb-m-labs> try 'stop build WHICH <REASON>'
<whitequark> bb-m-labs: stop build conda-win64 conda is shit
<bb-m-labs> build 11 interrupted
<bb-m-labs> build #11 of conda-win64 is complete: Exception [exception interrupted] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/11
<rjo> whitequark: as a sidenote, I think that py_exn.__cause__ and __context__ are what we want to use for runtime_exn. see pep-3134.
<whitequark> the ARTIQException class is not an exception
<whitequark> not a Python exception that is, it is a representation of the core device exception
<whitequark> so, putting it into those attributes is incorrect
<rjo> i don't see anything that would make that incorrect.
<whitequark> >>> NameError().__context__ = 1
<whitequark> TypeError: exception context must be None or derive from BaseException
<whitequark> ...... oh
<whitequark> that was conda cloning LLVM from git
<whitequark> obviously, it does not display any progress, because who would ever want to see that their build is not just hung??
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win64
<bb-m-labs> build #12 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win32
<bb-m-labs> build #1 forced
<bb-m-labs> I'll give a shout when the build finishes
<rjo> is it impossible to have CoreException be an Exception/implement its interface?
<whitequark> rjo: it has to derive from BaseException, and that makes no sense.
<whitequark> you're shoehorning it into a mechanism that was designed for a different problem
<whitequark> it's not a context or a cause, it's the *same* exception in a different representation
<rjo> but then i don't see the need for that metadata encapsulating object at all. just merge thr tracebacks, name should be the class, message and params go Exception.args.
<whitequark> you cannot merge tracebacks
<whitequark> python does not provide facilities for this
<whitequark> you can do several very hacky things by binding and poking python internals using cpython, but they are gross and also non-portable and the existing code that does that (eg in jinja2) is also poorly written
<whitequark> that is not all, ARTIQ Python tracebacks provide more information than python has space for
<whitequark> specifically, column numbers, and less importantly addresses
<whitequark> column numbers are quite helpful if you have e.g. several indexing operations on one line and you want to know which one broke eveyrthing without restarting your experiment and waiting.
<rjo> ok. then i am happy with the metadata object.
<bb-m-labs> build #1 of conda-win32 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win32/builds/1
<bb-m-labs> build #12 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/12
<rjo> still. IME the "better traceback info with column number" is a technicallity. in practice the amount of information to digest is -- in most cases -- much more than you need to guess the error. then it takes you longer to fix something in most cases even if for a few cases the additional info is very helpful.
<whitequark> huh?
<whitequark> what do you mean by "much more than you need to guess the error" ?
<rjo> the diagnostic messages are way to technical, detailed, synthetic and verbose. IME just saying: "there is a problem with this line: `line....`" is good enough: you look at the line, see the error and fix it. all the babbling of the compiler can actually be irritating.
<rjo> if i tested a few of these diagnostic messages on physicists, most of them would not lead to any understanding/insight.
<whitequark> i see, python stockholm syndrome
<rjo> or just the case of a somewhat simplistic, naive, superficial understanding and trial-and-error practice of coding.
<whitequark> that said, "technical" and "synthetic" are almost certainly valid concerns
<whitequark> I have tried to formulate the diagnostics in a graspable way but I had neither time nor feedback to do it really well
<whitequark> I fully expect to improve them once I do get feedback
<rjo> i personally actually like the diagnostics because they help me figure out e.g. the scoping and lifetime constraints of ARTIQ-Python. but for "simple errors" i have to force myself to ignore them.
<whitequark> i think i would consider that a bug and an indication that a diagnostic must be improved.
<whitequark> so, feel free to submit issues
<cr1901_modern> rjo: What do you mean by merging tracebacks?
<rjo> merging the runtime segment and the python traceback into one to be shown somewhat coherently.
<rjo> whitequark: will do.
<whitequark> I'd really rather merge tracebacks, to be honest
<whitequark> I've spent like a day trying out various sane methods of doing it, but no, that does not work
<rjo> cr1901_modern: not just the runtime part, but also the ARTIQ-Python part.
<cr1901_modern> Ahhh, so the python subset that makes up artiq and the standard python interpreter can display a single traceback leading all the way up to where the error actually occurred?
<cr1901_modern> Sorry, if I explained poorly
<rjo> whitequark: i just inspected sys.exc_info()[3] and it looks very internal. i see the problem.
<rjo> cr1901_modern: and the runtime that is written in C. yes. ideally they could be one traceback.
<cr1901_modern> Yea, that sounds involved, even w/o knowing how the artiq python subset and standard python interact. Just wondering in any case
<whitequark> rjo: the problem is not that, but that you cannot construct these objects.
<whitequark> or rather, you can sort of construct them, but you cannot put them into an exception so that it remains there after raising.
<rjo> whitequark: take http://paste.debian.net/369679/ reading that second 'note' sounds somewhere between wrong (should it be "is not supported _here_"?) and redundant.
<rjo> whitequark: ack
<rjo> whitequark: and why "trip count" and not "iteration count"?
<whitequark> oh yes, "here" is missing
<rjo> whitequark: and then the underlying issue is the "with parallel" which is never mentioned: maybe something like "this loop can not be used within `parallel` because its iteration count is indeterminate"
<whitequark> "trip count" is a common compiler term. I will replace it with "iteration comment"
<whitequark> er
<whitequark> count
<whitequark> yes, I will also point to the "with parallel:" I think
<whitequark> because this can happen several nestings long and it's not immediately obvious which "with parallel:" it is
<rjo> whitequark: ack. but maybe fine tweaking the compiler in this way should be delayed for later...
<whitequark> rjo: it's a five minutes work...
<whitequark> LLVM is going to hog the bot for a hour anyway
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win32
<bb-m-labs> build #2 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win64
<bb-m-labs> build #13 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #2 of conda-win32 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win32/builds/2
<bb-m-labs> build #13 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/13
<whitequark> what
<whitequark> oh right, need to restart service to update PATH
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win32
<bb-m-labs> build #3 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #3 of conda-win32 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win32/builds/3
<whitequark> .... hm
<whitequark> rjo: do you care about XP?
<whitequark> actually, scratch that
<GitHub68> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/91679061b1936ad7cbbaba32c11bc2f42db81b64
<GitHub68> conda-recipes/master 9167906 whitequark: llvm-or1k: build using VS2015.
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win32
<bb-m-labs> build #4 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #4 of conda-win32 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win32/builds/4
<GitHub134> [conda-recipes] whitequark force-pushed master from 9167906 to 28bf90c: https://github.com/m-labs/conda-recipes/commits/master
<GitHub134> conda-recipes/master 28bf90c whitequark: llvm-or1k: build using VS2015.
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win32
<bb-m-labs> build #5 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-win64
<bb-m-labs> build #14 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> ah finally, it proceeds properly
<rjo> whitequark: no XP
<bb-m-labs> build #5 of conda-win32 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win32/builds/5
<bb-m-labs> build #14 of conda-win64 is complete: Failure [failed conda_build] Build details are at http://m-labs-buildserver.lan/buildbot/builders/conda-win64/builds/14
ylamarre has quit [Quit: ylamarre]