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 [Ping timeout: 244 seconds]
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> The build has been queued, I'll give a shout when it starts
sb0 has joined #m-labs
<whitequark> ok. the kc705 jtag hack worked.
<bb-m-labs> build #357 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/357 blamelist: Robert Jordens <rj@m-labs.hk>
<whitequark> wtf Mismatch between gateware (0.1+1109.g739568f) and software (0.1+1126.gf33baf3) versions
<whitequark> The following packages will be UPDATED:
<whitequark> artiq: 0.1-py_1126+gitf33baf3 --> 0.1-py_1109+git739568f
<whitequark> conda is a moronic piece of shit that doesn't understand the meaning of the word "updated"
<GitHub80> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/acbc6e0ff825e6d2898a8e111075e5d7ec2aba94
<GitHub80> buildbot-config/master acbc6e0 whitequark: Use conda --no-update-deps when installing bitstream package....
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<whitequark> bb-m-labs: force build artiq
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #358 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #358 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/358
<whitequark> so let me get this straight
<whitequark> I do "conda install -n buildbot-artiq-358 artiq-kc705-nist_clock --no-update-deps"
<whitequark> and it tries to update deps?
bb-m-labs_ has joined #m-labs
bb-m-labs has quit [Ping timeout: 264 seconds]
fengling has joined #m-labs
<mithro> whitequark: maybe it needs to figure out what not to do :-)
bb-m-labs_ has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub47> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/098b16e10e760a985bc34b40b7be4c1ec43af696
<GitHub47> buildbot-config/master 098b16e whitequark: Flash the board inside the bitstream builder, not main builder.
bb-m-labs has joined #m-labs
<GitHub114> [buildbot-config] whitequark force-pushed master from 098b16e to 32229b9: https://github.com/m-labs/buildbot-config/commits/master
<GitHub114> buildbot-config/master 32229b9 whitequark: Flash the board inside the bitstream builder, not main builder.
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #359 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #129 of artiq-kc705-nist_clock is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/129
<whitequark> ugh
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub188> [buildbot-config] whitequark force-pushed master from 32229b9 to 612dbe5: https://github.com/m-labs/buildbot-config/commits/master
<GitHub188> buildbot-config/master 612dbe5 whitequark: Flash the board inside the bitstream builder, not main builder.
bb-m-labs has joined #m-labs
<bb-m-labs> build #360 of artiq is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/360
bb-m-labs has quit [Client Quit]
bb-m-labs has joined #m-labs
<GitHub160> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/ef14079cb715a868a2b1d29638034bf034328a9b
<GitHub160> buildbot-config/master ef14079 whitequark: Halt on trigger failure if we're waiting until it's done.
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #361 forced
<bb-m-labs> I'll give a shout when the build finishes
<GitHub196> [artiq] whitequark pushed 1 new commit to master: https://git.io/vaTZn
<GitHub196> artiq/master 80e1cf5 whitequark: Monkey-patch asyncio create_server (fixes #253).
<GitHub196> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaTZH
<GitHub196> artiq/master 2e4e251 Sebastien Bourdeauducq: examples/device_db: remove --no-localhost-bind
<whitequark> why didn't we have that on lda_controller in the first place?..
<sb0> I guess it's an oversight
<whitequark> sb0: so, speaking of async exceptions
<whitequark> I looked up what would have to be done with unwinding and adding CFI info to crt0 along with a small patch to restore EPCR and ESR (emulating l.rfe) should be enough
<bb-m-labs> build #130 of artiq-kc705-nist_clock is complete: Exception [exception artiq_flash] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/130
<bb-m-labs> build #361 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/361
<whitequark> (currently we can raise and get a backtrace asynchronously but trying to catch such an exception will not succeed)
<whitequark> and I still fail to see where exactly the race conditions appear. but anyway, even if they do, it's trivial to add the primitives from your paper.
<sb0> if you do something and you want to guarantee it's undone, the way to do it is "do(); try... finally: undo()"
<sb0> async exceptions break this. with the current system, there is also no way to have this guarantee, but this is clear and not a subtle race condition
<whitequark> ok. yes. i agree.
<whitequark> we can add the with block/with unblock primitives.
<sb0> also, the way watchdogs work on the device right now (comms CPU resetting the kernel CPU) is consistent with the way they work on the host (master killing the worker)
<whitequark> the experience of using watchdogs is crao
<whitequark> *crap
<whitequark> that should change
<sb0> what else to do without asynchronous exceptions? we can improve the error reporting, but that's about it...
<whitequark> we could add async exceptions. but improving error reporting is the least we must do.
<sb0> we can try to push python to add block/unblock, but that will take 3 years and likely will get rejected
<whitequark> yes.
<whitequark> it's not easily implemented on non-CPython too
<whitequark> well, the problem is not quite that.
<sb0> the error message should be fine with host watchdogs. on the device, this requires dealing with a nontrivial amount of C/lwip bullshit
<whitequark> the problem is that killing a thread at random time, or equivalently raising an async exception from /outside/ of the thread, results in data structures being in an inconsistent state
<whitequark> which is why Thread.kill is deprecated and discouraged in Java, etc
<whitequark> killing threads basically does not work together with shared-memory parallelism
<sb0> you do want the device to drop the connection at this stage and behave as if the host suddently disconnected
<whitequark> do I? can't I just send a packet saying "watchdog expired" and /then/ kill the connection?
<sb0> "sending a packet" is complicated courtesy of C and lwip
<sb0> I might be wrong, but it could be that you may have to keep it in memory for a while until any retransmissions have been done and until then actually close the connection, etc.
<sb0> *only then
<sb0> well. maybe assuming the host will receive the "watchdog expired" packet is fine, and you can go through the normal packet path...
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub187> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/646029cf982ecf15a7c179e6a6739a74e3be0a64
<GitHub187> buildbot-config/master 646029c whitequark: Install conda bitstream package locally when flashing.
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #362 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #362 of artiq is complete: Exception [exception] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/362
bb-m-labs has quit [Client Quit]
bb-m-labs has joined #m-labs
<GitHub128> [buildbot-config] whitequark force-pushed master from 646029c to a656d0d: https://github.com/m-labs/buildbot-config/commits/master
<GitHub128> buildbot-config/master a656d0d whitequark: Install conda bitstream package locally when flashing.
sb0 has quit [Ping timeout: 244 seconds]
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #363 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #131 of artiq-kc705-nist_clock is complete: Failure [failed conda_create] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/131
<bb-m-labs> build #363 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/363
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<whitequark> bb-m-labs: force build artiq
bb-m-labs has joined #m-labs
<GitHub156> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/d19fba9eed1add187770276c0f19faf85bbe6e42
<GitHub156> buildbot-config/master d19fba9 whitequark: Fix addCondaSetupTestEnvironmentSteps(packages=[]).
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #364 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #132 of artiq-kc705-nist_clock is complete: Failure [failed conda_create] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/132
<bb-m-labs> build #364 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/364
<whitequark> ugh
<whitequark> this is stupid
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub90> [buildbot-config] whitequark force-pushed master from d19fba9 to f154ac9: https://github.com/m-labs/buildbot-config/commits/master
<GitHub90> buildbot-config/master f154ac9 whitequark: Fix addCondaSetupTestEnvironmentSteps(packages=[]).
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #365 forced
<bb-m-labs> I'll give a shout when the build finishes
rohitksingh_work has joined #m-labs
<bb-m-labs> build #133 of artiq-kc705-nist_clock is complete: Failure [failed artiq_flash] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/133
<bb-m-labs> build #365 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/365
<whitequark> wtf
<whitequark> why can it not find the proxy bitstream
<whitequark> it worked before.
<whitequark> oh it looks in artiq_dir.binaries. so you *have* to install artiq.
<whitequark> this won't work. i have to deal with fucking conda garbage again.
sb0 has joined #m-labs
<GitHub164> [buildbot-config] whitequark pushed 3 new commits to master: https://github.com/m-labs/buildbot-config/compare/f154ac9725ff...0ecbfef30574
<GitHub164> buildbot-config/master cf728bd whitequark: Revert "Fix addCondaSetupTestEnvironmentSteps(packages=[])."...
<GitHub164> buildbot-config/master 5d9a7ed whitequark: Revert "Install conda bitstream package locally when flashing."...
<GitHub164> buildbot-config/master 0ecbfef whitequark: Revert "Flash the board inside the bitstream builder, not main builder."...
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub137> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/0d8706a9b8b3bbde4baf7f76a9e42e08849de961
<GitHub137> buildbot-config/master 0d8706a whitequark: wip
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #366 forced
<bb-m-labs> I'll give a shout when the build finishes
<mithro> ysionneau / sb0: Could you take a quick look at https://docs.google.com/document/d/1YyhCqTaUrI_vQjNGHJ34TsJCoDwpMzd2XcavAEllrUg/edit# and tell me if there are any egregious errors in that document?
<sb0> MilkyMist -> Milkymist
<mithro> Gah, I was sure that I had done a search and replace to fix that...
<sb0> misoc was also supposed to run on the m1
<sb0> it does actually, though it hasn't been tested for a long while and therefore is most certainly broken
<sb0> yes, flickernoise is C+RTEMS
<sb0> and it does use those accelerators you mention
<mithro> sb0: I think I read your PhD which talked about them
<sb0> I don't have a PhD, that was a MSc
<sb0> "pivot", hm, not sure if that "lean startup" link gives the best idea of what exactly is going on
<mithro> Well, I don't actually know what went on... It was my best guess...
<sb0> just say "moved on", without a link
<mithro> fair enough
_whitelogger_ has joined #m-labs
_whitelogger has quit [Remote host closed the connection]
<sb0> what is this doc for btw?
<mithro> sb0: Partly for GSoC students, partly to share with people who are interested in helping getting their Milkymist expansion board on the Opsis going
<sb0> oh, so there *are* such people?
<mithro> sb0: let me rephrase that, partly to share with people who can't run away from me fast enough to not try and rope them into helping out :-P
<GitHub69> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaTz1
<GitHub69> artiq/master 9d1903a Sebastien Bourdeauducq: coredevice/i2c,ttl,spi: consistent device get
<whitequark> so I decided to redownload the conda packages
<whitequark> it's doing that at... 50kb/s?
<whitequark> which is half a megabit?
<whitequark> did conda decide to answer the question of "can it be even more shitty" with a resounding "YES"?
<bb-m-labs> build #366 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/366
<whitequark> why does it keep choosing py_1109?!!
<whitequark> ok. yes. i see. it does not even consider local packages.
<whitequark> this is ... very stupid
bb-m-labs has quit [Ping timeout: 260 seconds]
bb-m-labs has joined #m-labs
FabM has quit [Remote host closed the connection]
<whitequark> rjo: how much on a scale from 1 to 10 do you want 6to4?
<whitequark> the router is running some weird build of openwrt with a kernel version slightly off from the official repo...
<whitequark> rjo: I would install a trunk snapshot but openwrt's CI infra is sort of broken at the moment, so I cannot.
<whitequark> I can build openwrt from source just for this occasion but I'm not sure if it's worth
FabM has joined #m-labs
<cyrozap> sb0: I've pushed my working tree for the UART over JTAG stuff (plus the device I'm testing with) to GitHub here if you want to see some dirty hacks: https://github.com/cyrozap/misoc/tree/uart-over-jtag
<cyrozap> I'm probably going to factor out all the modifications I made to flterm, or at least make it have seperate "synchronous JTAG" and "async serial" modes, because the async stuff is reeeeeally messing with the JTAG stuff right now.
<cyrozap> But it _kinda_ works
<cyrozap> There's just the occasional character duplication and bit flips
rohitksingh_work has quit [Quit: Leaving.]
sb0 has quit [Read error: Connection reset by peer]
rohitksingh_work has joined #m-labs
sb0 has joined #m-labs
<whitequark> you know what, fuck it
<whitequark> I'll just upload the artiq package before testing it
<whitequark> if someone objects, they can go and fix conda
<rjo> whitequark: 3
<rjo> whitequark: if you want to use openwrt trunk, you should mirror that snapshot. otherwise you won't have packages soon.
<sb0> hm, yes, qt doesn't allow you to remove a QDockWidget, only hide it
<sb0> so 1) artiq_gui leaks memory 2) the right-click menu on a dock title bar is broken and can be used to crash the GUI
<sb0> software is awful, as usual
<whitequark> rjo: only kernel packages. and i'm putting all of the ones i build into the image itself anyway.
<sb0> " You add dock widgets to a main window with addDockWidget()", and never remove them
<whitequark> rjo: ah yes. I see what you meant. I would do that but as I've said, openwrt ar71xx-generic builds are down with no ETA.
<sb0> calling deleteLater on a QDockWidget causes immediate segfault
<whitequark> segfault where?
<whitequark> get a backtrace...
<GitHub67> [buildbot-config] whitequark force-pushed master from 0d8706a to 169e34f: https://github.com/m-labs/buildbot-config/commits/master
<GitHub67> buildbot-config/master 169e34f whitequark: Upload artiq packages before (and in order to) run hw unittests.
<whitequark> I could probably upload them to some "ci" channel if there was a CLI interface for changing the set of channels for an existing package
<whitequark> of course there isn't, because that's something a sane human being might actually think of
<larsc> insanity drives this world
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #367 forced
<bb-m-labs> I'll give a shout when the build finishes
<whitequark> you see the problem, right?
<sb0> no
<whitequark> you retain a reference to QDockWidget or something it owns and you are trying to do something with it
<whitequark> well, pyqt is supposed to prevent this kind of problem from becoming a segfault, but it doesn't for some reason.
<sb0> oh, got it to work
<whitequark> how?
<sb0> self.setParent(None)
<sb0> in the closeEvent of the QDockWidget
<sb0> plus self.setAttribute(QtCore.Qt.WA_DeleteOnClose). self.deleteLater still segfaults for some reason
<sb0> only this combination of QtCore.Qt.WA_DeleteOnClose and setParent(None) results in the desired behavior instead of a segfault
<bb-m-labs> build #134 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/134
<bb-m-labs> build #367 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/367
<whitequark> amazingly, the router came up
<whitequark> bb-m-labs: force build artiq
<bb-m-labs> build #368 forced
<bb-m-labs> I'll give a shout when the build finishes
<sb0> ok, no it still crashes, intermittently
<sb0> grmbl
<sb0> "RuntimeError: wrapped C/C++ object of type AppletDock has been deleted" followed by either segfault or freeze
<whitequark> I told you
<sb0> in 10% of the dock closes
<whitequark> where are you using a timer?
<sb0> not in this particular code
<sb0> probably some library uses one
<whitequark> well, there is a timer that is used in pyqt
<sb0> pyqt's memory management is suspicious to me (see previous issue with garbage collecting of shown widget) so I'm not very surprised about this new bug...
<sb0> actually now it doesn't crash because of a timer
<sb0> but because some asyncio coroutine later references the dock
<sb0> with timing dependent on subprocesses, hence the intermittent nature of the crash
<bb-m-labs> build #135 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/135
<bb-m-labs> build #368 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/368
<whitequark> *sob* not again
<GitHub16> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaTpU
<GitHub16> artiq/master f0b0b1b Sebastien Bourdeauducq: support for multiple DDS buses (untested)
<bb-m-labs> build #136 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/136 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #369 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/369 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> rjo: I did some unspeakable incantations and now you have ipv6.
<whitequark> hm, no radvd
<rjo> whitequark: pipistrello test_cache.py...test_borrow hangs and has 'Malformed MESSAGE_TYPE_CACHE_PUT_REQUEST reply type 1079790920
<rjo> in corelog
<whitequark> that's your actual bug
sb0 has quit [Read error: Connection reset by peer]
sb0 has joined #m-labs
<zoobab> pong
<sb0> hm, why did it compile here
<GitHub185> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vakts
<GitHub185> artiq/master de37487 Sebastien Bourdeauducq: runtime: fix dds declarations
<bb-m-labs> build #137 of artiq-kc705-nist_clock is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/137 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #370 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/370 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> sb0: still your bug
<sb0> ah fuck.
<sb0> this multi dds bus is really annoying
<sb0> s/multi//
<GitHub149> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vakGO
<GitHub149> artiq/master 861c4a9 Sebastien Bourdeauducq: fix more multi-DDS-bus problems
<bb-m-labs> build #138 of artiq-kc705-nist_clock is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-kc705-nist_clock/builds/138
<bb-m-labs> build #371 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/371 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> hm, weird.
<whitequark> rjo: i've confirmed that ipv6 is working.
<whitequark> it's configured for pure SLAAC mode, no DHCPv6.
<whitequark> Windows systems seem to have some kind of issue with that.
sb0 has quit [Read error: Connection reset by peer]
<whitequark> they seem to have some kind of very stupid issue where they don't recognize the default gateway, it seems
fengling has quit [Ping timeout: 240 seconds]
<rjo> whitequark: ack. but a) ssh is firewalled b) ipv6 without dns for the hosts is not fun c) the ipv4 address behind that 6to4 address is still dynamic, right?
<rjo> anyway. we got more important stuff to un-break
sb0 has joined #m-labs
<whitequark> rjo: a) it isn't b) yes, but I can't do that without sb0 c) not anymore
<whitequark> ipv4 becoming static is why i did this at all
<whitequark> ok. a) it was.
<whitequark> sb0: there's a very bizarre problem.
<whitequark> test_loopback, when run individually, succeeds.
<whitequark> but when run as a part of CoredeviceTest, it fails.
<whitequark> sb0: not sure why test_address_collision fails. and test_ttl_pulse fails because of that analyzer bug that requires an even number of messages
<rjo> sb0: i am using this code to test RTIOBusy: http://paste.debian.net/413571/
<rjo> sb0: why do i need that 200*us delay? otherwise i get an underflow
<rjo> this is firmware and gateware just before the multi-bus dds commit
<GitHub2> [artiq] jordens pushed 6 new commits to rtiobusy: https://git.io/vakwc
<GitHub2> artiq/rtiobusy 446dcfb Robert Jordens: Merge commit '9d1903a' into rtiobusy...
<GitHub2> artiq/rtiobusy b0de9ee Robert Jordens: coredevice: add RTIOBusy to __all__
<GitHub2> artiq/rtiobusy 522ec60 Robert Jordens: hardware_testbench: don't allow unused *args
<rjo> whitequark: mosh is firewalled on ipv6
rohitksingh_work has quit [Read error: Connection reset by peer]
<sb0> rjo, probably because break_realtime() doesn't give enough margin for a full dds programming and/or you have a pathological cache issue
<rjo> sb0: subsequent output events with the same timestamp should trigger a replacement for ttl but should be RTIOCollision or Busy for dds and spi, right?
<rjo> sb0: that would be extremely pathologica. it needs delays somewhere around 100-140 us.
<sb0> does it also need it when you remove the commands before?
<rjo> the sync()?
<sb0> all the stuff before
<sb0> and replacements always happen when the timestamps (including the fine part) are equal, and the addresses are equal
<rjo> sb0: even just two dds sets break: http://paste.debian.net/413611/
<sb0> but one is fine?
<rjo> sb0: yeah.
<rjo> sb0: about the replacement: yes. that is ok for ttl where you can handle it gracefully like that. but for multi-cycle ops like dds and spi, that should be a collision (or busy) imho.
<sb0> in that last code you probably need to sync the dds before the break_realtime
<rjo> sync the dds?
<sb0> yes, otherwise break_realtime can set now() to a lower value
<sb0> all those special cases add a lot of branches and cruft in the rtio core code.
<sb0> hm, actually i already changed break_realtime() so it doesn't lower now()
<rjo> sb0: but replacement should be special case, not the collision. it should be done right.
<sb0> whatever. there are now two cases, with and without support for replaces.
<sb0> complexity += 1
<rjo> yeah. exactly. whatever.
<sb0> ?
<rjo> it's fixing a bug. increasing complexity may be the price to pay here, right?
<sb0> in practical cases, it's not doing a replace with dds, since it doesn't write again to the same addresses
<rjo> maybe we should rewrite spi to exploit the same accidental work around then.
<GitHub41> [artiq] jordens pushed 2 new commits to rtiobusy: https://git.io/vakx7
<GitHub41> artiq/rtiobusy 703fc5a Robert Jordens: hardware_testbench: also print artiq_core_exeption
<GitHub41> artiq/rtiobusy 58e0e67 Robert Jordens: tests: test spi business
rohitksingh has joined #m-labs
<GitHub120> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaIqr
<GitHub120> artiq/master 1c706fa Sebastien Bourdeauducq: examples: dds_bus -> core_dds
<sb0> sigh
<GitHub118> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaIY5
<GitHub118> artiq/master 03b53c3 Sebastien Bourdeauducq: rtio: disable replace on rt2wb channels
<bb-m-labs> build #372 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/372 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<bb-m-labs> build #373 of artiq is complete: Failure [failed python_unittest] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/373 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
sb0 has quit [Ping timeout: 244 seconds]
<bb-m-labs> build #169 of artiq-pipistrello-nist_qc1 is complete: Failure [failed conda_build] Build details are at http://buildbot.m-labs.hk/builders/artiq-pipistrello-nist_qc1/builds/169
<GitHub82> [artiq] jordens pushed 1 new commit to master: https://git.io/vaIcp
<GitHub82> artiq/master 3f8e431 Robert Jordens: rtio/core: fix syntax
<GitHub93> [artiq] jordens force-pushed rtiobusy from 703fc5a to b50e3fa: https://git.io/vaIWr
<GitHub93> artiq/rtiobusy b50e3fa Robert Jordens: hardware_testbench: also print artiq_core_exeption
<GitHub45> [artiq] jordens pushed 1 new commit to master: https://git.io/vaI8d
<GitHub45> artiq/master b32217c Robert Jordens: coredevice: fix _DDSGeneric __init__ args
<bb-m-labs> build #170 of artiq-pipistrello-nist_qc1 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-pipistrello-nist_qc1/builds/170
<bb-m-labs> build #374 of artiq is complete: Exception [exception] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/374 blamelist: Robert Jordens <rj@m-labs.hk>
<bb-m-labs> build #375 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/375 blamelist: Robert Jordens <rj@m-labs.hk>
<GitHub13> [artiq] jordens pushed 3 new commits to rtiobusy: https://git.io/vaIVH
<GitHub13> artiq/rtiobusy 9a661bd Robert Jordens: hardware_testbench: clean up artiq_core_exeption printing
<GitHub13> artiq/rtiobusy 8f6653e Robert Jordens: test_spi: simplify test, add collision vs busy test
<GitHub13> artiq/rtiobusy 349a661 Robert Jordens: Merge branch 'master' into rtiobusy...
<GitHub193> [artiq] jordens pushed 1 new commit to rtiobusy: https://git.io/vaI11
<GitHub193> artiq/rtiobusy 10a0912 Robert Jordens: test_spi: break_realtime
rohitksingh has quit [Ping timeout: 252 seconds]
<GitHub151> [artiq] jordens pushed 1 new commit to rtiobusy: https://git.io/vaIFD
<GitHub151> artiq/rtiobusy 107e5cf Robert Jordens: gateware/rtio: factor _BlindTransfer
gric_ has joined #m-labs
ylamarre has joined #m-labs
<GitHub63> [artiq] jordens pushed 2 new commits to master: https://git.io/vaLwQ
<GitHub63> artiq/master 9edaf16 Robert Jordens: exceptions: clarify RTIOBusy
<GitHub63> artiq/master cb6c280 Robert Jordens: Merge branch 'rtiobusy' (closes #308)...
<GitHub124> [artiq] jordens deleted rtiobusy at 107e5cf: https://git.io/vaLwd
<bb-m-labs> build #376 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/376 blamelist: Robert Jordens <rj@m-labs.hk>
zoobab has quit [Remote host closed the connection]
zoobab has joined #m-labs