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
mumptai has quit [Remote host closed the connection]
<GitHub14> [misoc] sbourdeauducq pushed 1 new commit to master: https://git.io/vaBe7
<GitHub14> misoc/master 8c0e0ff Sebastien Bourdeauducq: interconnect/stream: cleanup
<whitequark> sb0: artiq_flash_1 is the board reset before windows tests
<sb0> yup. working on the analyzer now. hopefully that can go soon...
fengling has joined #m-labs
rohitksingh_work has joined #m-labs
rohitksingh_wor1 has joined #m-labs
rohitksingh_work has quit [Ping timeout: 260 seconds]
mumptai has joined #m-labs
<mithro> sb0: are you okay with me posting about TimVideos and GSoC to the m-labs list?
mumptai has quit [Remote host closed the connection]
<sb0> mithro, i don't like google, but yes
<sb0> whitequark, any update on the 1.0 compiler/runtime issues?
<whitequark> not yet
<whitequark> what do we do with watchdogs?
<sb0> raise a better exception on host
<sb0> to differentiate from connection dropping for another reason
<whitequark> ok
<whitequark> sb0: remember I told you not to install cygwin on the buildserver?
<whitequark> turns out it DID cause some problems we could never figure out. http://help.appveyor.com/discussions/problems/3712-git-remote-https-seems-to-be-broken
<whitequark> "The problem is that conda picks the cygwin path (ignoring what is PATH environment variable)"
<sb0> " Deleting the cygwin directory worked for me:"
<sb0> hahaha
<kyak> there are many Windows products that ship various unix utilities or set crazy environment flags that break shit
<kyak> another that comes in mind is QNX
<kyak> it sets MAKEFLAGS (like it's the one and only IDE in the world) and breaks many things, starting from Visual Studio and ending with Code Composer Studio
<kyak> setting SHELL environment variable to their liking also seems like a good practice
<sb0> mithro, you may want to post it on the qi-hardware list too (if anyone is still around...)
rohitksingh_wor1 has quit [Read error: Connection reset by peer]
FabM has joined #m-labs
<mithro> sb0: okay, will do
FabM has quit [Client Quit]
FabM has joined #m-labs
<GitHub0> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaBAS
<GitHub0> artiq/master 8a6873c Sebastien Bourdeauducq: analyzer: use EOP, flush pipeline on stop
<bb-m-labs> build #410 of artiq is complete: Failure [failed artiq_flash] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/410 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<sb0> whitequark, what's going on with the board?
<sb0> did it lose power?
FabM has quit [Quit: ChatZilla 0.9.92 [Iceweasel 38.7.0/20160308234001]]
FabM has joined #m-labs
fengling has quit [Quit: WeeChat 1.4]
<whitequark> yes
<whitequark> I took out and replaced the power plug and it started again
<whitequark> well, after I did that two times. so it seems the connector is flaky.
<GitHub53> [artiq] sbourdeauducq pushed 3 new commits to master: https://git.io/vaRkD
<GitHub53> artiq/master a172d8b Sebastien Bourdeauducq: logo: use Unix EOLs
<GitHub53> artiq/master a142d40 Sebastien Bourdeauducq: gui: handle better changing MDI area background colors
<GitHub53> artiq/master e13d424 Sebastien Bourdeauducq: analyzer: strip final StoppedMessage for VCD output
<sb0> yeah, it is...
<sb0> and i've seen the same problem on another kc705 at nist
FabM has quit [Remote host closed the connection]
<sb0> rjo, did you start a pipistrello build/are you testing the analyzer?
<rjo> both are afirm
FabM has joined #m-labs
<rjo> sb0: but you can cancel that if you want the builder. i'll test it in an hour or so at the earliest.
<whitequark> oh yes, I ought to make the parallelism more sensible...
<whitequark> trigger steps shouldn't prevent hold other builders just like compile steps
<sb0> let's wait for those builds to complete for now ...
<sb0> though it seems the pipistrello is stuck
<sb0> bb-m-labs, stop build artiq-pipistrello-nist_qc1 router stuck
<bb-m-labs> build 181 interrupted
<bb-m-labs> build #181 of artiq-pipistrello-nist_qc1 is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq-pipistrello-nist_qc1/builds/181
<sb0> rjo, if the analyzer is responsible for this, adding another small FIFO (2-4 entries) right before the DMA writer may help
<sb0> that should break potentially long timing paths on the DRAM bus
<sb0> bb-m-labs, stop build artiq
<bb-m-labs> try 'stop build WHICH <REASON>'
<sb0> bb-m-labs, stop build artiq of course it doesnt work
<bb-m-labs> build 411 interrupted
<bb-m-labs> build #411 of artiq is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/411 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> this requirement of reason is stupid
<sb0> _florent_, EOP doesn't go through the FIFOs, which is why the analyzer is crashing right now ...
<sb0> ah no, it's fine
<GitHub5> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaRnx
<GitHub5> artiq/master b5ec979 Sebastien Bourdeauducq: analyzer: drive wishbone cyc signal
<sb0> why does wishbone have this idiotic signal
<sb0> afaict it's useless, and it causes bugs
<sb0> wishbone is still far from an ACPI-level clusterfuck, but the trend is there
<cr1901_modern> I don't remember why it's there; I do recall thinking it made sense for maybe like 1% of configurations and is otherwise redundant.
<larsc> atomic operations I'd guess
<sb0> that would have been better done with a 'lock' signal you can ignore and leave at 0 when not needed
<sb0> i.e. in virtually all cases
<larsc> but it probably saves half a LUT somewhere this way ;)
<bb-m-labs> build #412 of artiq is complete: Failure [failed] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/412 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<whitequark> did it die again?
<sb0> no
<sb0> i had a flterm running that delayed startup enough for the ping to fail
<whitequark> I don't like how flaky this setup is...
<whitequark> well, most of our CI, frankly
<sb0> whitequark, is this expected behavior? http://paste.debian.net/415521/
<whitequark> yes.
<whitequark> do you not see why?
<whitequark> I mean... given that you explicitly have a raise there
<sb0> yes, and if an exception is raised, then r is not actually used.
<whitequark> oh, right
<whitequark> yep that's a bug.
<sb0> it's fine if the compiler isn't capable of determining this, just want to make sure this situation is understood and there aren't some bugs hiding
<whitequark> no, it shouldn't do this. the existing algorithm is supposed to be smart enough.
<sb0> there is the case where the exception is caught (if there were an except clause), and execution continues to return, the case where the except clause re-raises
<sb0> it's kinda tricky
<whitequark> no, not really.
<whitequark> it operates on the CFG, where this is never ambiguous.
<whitequark> I'm quite puzzled as to why it can't determine this, as I mentioned.
<whitequark> so, please open an issue
<cr1901_modern> sb0: Have you ever used Avalon?
<sb0> cr1901_modern, not really
<sb0> just ran the altera soc gui a couple times
<sb0> whitequark, another thing. @kernel should use self.core
<whitequark> it doesn't?
<sb0> it doesn't do it consistently, e.g. if object A has a kernel that calls a kernel in object B, and object B doesn't have a 'core' attribute, there is no error atm
<sb0> it should actually test for "A.core is B.core"
<whitequark> ah yes
<sb0> what to do if not - throw an error, RPC - is fine right now, we don't really have real-world multi-core-device setups yet
<GitHub92> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vaR0S
<GitHub92> artiq/master 85ea70a Sebastien Bourdeauducq: analyzer: fix byte_count
<GitHub92> artiq/master 62ac4e3 Sebastien Bourdeauducq: analyzer: fix EOP generation
<sb0> okay, it should work now
<sb0> seems it does!
<bb-m-labs> build #413 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/413 blamelist: Sebastien Bourdeauducq <sb@m-labs.hk>
<sb0> ah, no
<sb0> fuck
<GitHub98> [artiq] sbourdeauducq pushed 1 new commit to master: https://git.io/vaRgO
<GitHub98> artiq/master 1bbef94 Sebastien Bourdeauducq: analyzer: fix byte_count (again)
<cr1901_modern> rjo: Refactoring. Please do not commit any changes until I'm done. They will surely lead to misery and pain on my end.
<bb-m-labs> build #414 of artiq is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/414
<cr1901_modern> well, tbf, they'll probably lead to misery and pain on your end too. So I'll make a bunch of small commits
<rjo> cr1901_modern: you should always do small commits. but go ahead.
<sb0> whitequark, can you remove the board reset? analyzer is fixed.
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
bb-m-labs has joined #m-labs
<GitHub27> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/931972d6de15d484cfcaa92599c7314cae0059eb
<GitHub27> buildbot-config/master 931972d whitequark: Don't reset the board.
<sb0> bb-m-labs, force build artiq-pipistrello-nist_qc1
<bb-m-labs> build #182 forced
<bb-m-labs> I'll give a shout when the build finishes
<GitHub105> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vaRD7
<GitHub105> artiq/master 6a9957a Sebastien Bourdeauducq: analyzer: fix get_dds_sysclk
<GitHub105> artiq/master 9ffaf82 Sebastien Bourdeauducq: test/analyzer: check that last message is StoppedMessage
ylamarre has joined #m-labs
ylamarre has quit [Quit: ylamarre]
<sb0> bb-m-labs, stop build artiq-pipistrello-nist_qc1 stuck
<bb-m-labs> build 182 interrupted
<bb-m-labs> build #182 of artiq-pipistrello-nist_qc1 is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq-pipistrello-nist_qc1/builds/182
<whitequark> sb0: I can lower the timeouts on that if you want
<whitequark> right now it's like 1 hour
<sb0> should be okay. the main problem is it blocks the other build
<whitequark> yes. in fact let me fix that.
<GitHub4> [artiq] sbourdeauducq pushed 2 new commits to master: https://git.io/vaRA3
<GitHub4> artiq/master 0076fc4 Sebastien Bourdeauducq: analyzer: fix AD9914 FTW decoding
<GitHub4> artiq/master cb8e497 Sebastien Bourdeauducq: analyzer: fix DDSHandler setup
<sb0> rjo, besides that, the analyzer should work fine on pipistrello now
<whitequark> restart it once it's done...
<GitHub170> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/3b82734e6154982f6ae02dec065ccde5353e2124
<GitHub170> buildbot-config/master 3b82734 whitequark: Limit concurrency via locks rather than max_builds.
<whitequark> now I allow for 2 concurrent builds, unless low-latency step is executing, then it is one.
<whitequark> and trigger steps aren't counted.
<sb0> _florent_, the EOP trick is nice. thanks!
<_florent_> great if it works!
<sb0> whitequark, isn't qt supposed to display a horizontal scroll bar in the log, when words are too long to be wrapped?
<sb0> it does, miserably, display a horizontal scrollbar sometimes (at inappropriate times)
<whitequark> it's supposed.
<sb0> the layout of table columns seems to be particularly loaded with bugs. like window embedding. now they are coming back in the schedule ...
<sb0> Qt SerialBus
<sb0> New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus
<sb0> wtf
<sb0> they'd better fix the table bugs instead of this mission creep
<whitequark> lol yes
<whitequark> well, maybe not so much mission creep, Qt Embedded has existed for almost a decade
<whitequark> maybe not even almost
<cr1901_modern> Surprised that one of realStart/realStop was set but not the other (NoneType is only during init. It shouldn't be there by the time the widget is shown)
key2 has joined #m-labs
<sb0> rjo, how should we call the new ARTIQ hardware?
<cr1901_modern> sb0: I have to create a new conda environment for python 3.5.1 (if it will even let me) before I can fix this bug
<sb0> cr1901_modern, that should work fine, no? everything artiq is packaged now
<cr1901_modern> Well, conda, being the hot trash that it is, won't let me upgrade python to 3.5.1
<cr1901_modern> But I'm glad that everything's packaged now. Building HDF5 from ssource wasn't fun
<sb0> just install a new conda somewhere else
<cr1901_modern> Yup, will do
rohitksingh has joined #m-labs
<bb-m-labs> build #183 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/183
mumptai has joined #m-labs
mumptai has quit [Remote host closed the connection]
mumptai has joined #m-labs
mumptai has quit [Remote host closed the connection]
mumptai has joined #m-labs
rohitksingh has quit [Ping timeout: 250 seconds]
<cr1901_modern> rjo: Refactoring part one is done
<cr1901_modern> rjo: I removed the layout and now the scanwidget manually handles the slider's dimensions and ensures that its width and position are correct. Axis class was collapsed into scanwidget.
<cr1901_modern> I'm not prepared to remove handleWidth(). It really is important to make a distinction between the slider's actual width and the width that is usable for moving the slider.
<cr1901_modern> rjo: resizeEvent is also fixed: range is preserved
key2 has quit [Ping timeout: 240 seconds]
<cr1901_modern> rjo (Last thing for now): I do not feel I should get rid of the slider class. I feel that it is better as a separate entity whose geometry/layout is manually controlled by a parent.
<cr1901_modern> sb0: On your Windows VM, which Miniconda or Anaconda do you install? The default installer wants to install 2.7? I can't remember if I had this problem last time I installed conda or not
<rjo> sb0: that depends on what it is. if it is just the generic drtio part (fast serial link to fpga) then i would call it drtio-amc. if it is split drtio-aio4 (4 dacs, some adcs) and drtio-dio64 for the 64 ttls. but maybe that is to specialized already and the "drtio" should be dropped alltogether...
<rjo> cr1901_modern: there is miniconda3 and a miniconda installer. they are different.
<cr1901_modern> rjo: Thank you. Now let's see if conda actually LETS me install Python 3.5.1
<rjo> cr1901_modern: yes. you still need the handle width. but not the way you did it before. isn't the divergence of widths and offsets between the sliders and the axis coordinates the root of all evil? why do you need that separation? all the event forwarding and method wiring is just boilerplate code.
<rjo> cr1901_modern: the ten or so times that i did it it was fine.
<cr1901_modern> rjo: I'm a strong adherent to Single Responsibility Principle. Seems like that backfired on me
<cr1901_modern> axis widget should handle painting axis. ticker should handle figuring out tick divisions. slider should handle slider state. proxy handles linear transforms. scanwidget encapsulates everything else
<cr1901_modern> IMO, doesn't sound like a bad idea on paper
<rjo> that sounds like another phrase for encapsulation. but if you need to forward signals it already breaks the concept. for the ticker it works because you can define the interface and encapsulate it.
<rjo> then write a class that does linear transforms. but not one that does linear transforms _and_ forwards signals to/from the sliders
<cr1901_modern> Fair enough.
<cr1901_modern> Okay everything's installed. When I try to run artiq, I consistently get ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection (WTAF?!)
<cr1901_modern> it's fucking localhost. Why would my own computer refuse a connection?
<rjo> you need to start an artiq_master.
<cr1901_modern> I did... that's the problem
<rjo> what is "run artiq" for you?
<cr1901_modern> rjo: Hold that thought... Windows thinks the port is still in use
<cr1901_modern> even though I killed artiq
<cr1901_modern> rjo: Fixed. This was my own incompetence, sorry
<cr1901_modern> Killed the wrong python instance
<cr1901_modern> (And took down my IPython notebook server in the process ._.)
mumptai has quit [Quit: Verlassend]
<rjo> cr1901_modern: now it doesn't render at all in artiq_gui
<cr1901_modern> What do you mean? I haven't fixed the bug yet
<cr1901_modern> that causes a crash. Are you telling me that the changes I made broke the widget AGAIN?!
<cr1901_modern> I swear to God, I cannot believe nobody on Qt forums knew how to make QGraphicsView keep the viewport anchored
<cr1901_modern> rjo: What revision of artiq are you ussing and what version of the scanwidget?
<rjo> master and master. i patched the crash by explicitly setting the scanwidget values. i guess the paint gets triggered before the other pending signals.
<rjo> it's not necessarily breakage, maybe now it's just exposing another bug that was already there.
<cr1901_modern> rjo: I'm sorry, I'm just fatigued with the bugs, and it showed just then.
<cr1901_modern> If QGraphicsView wasn't broken in that ONE way, the widget would've been done a month ago
<cr1901_modern> rjo: Can you try with bb12fa582?
<cr1901_modern> ^scanwidget revision*
<rjo> i did a while back. what do you want to know.
<rjo> ?
<cr1901_modern> Does it ALSO not paint anything?
<rjo> that worked fine.
<cr1901_modern> %PYTHONPATH% isn't picking up my local copy of artiq, naturally
<cr1901_modern> (when has PYTHONPATH ever worked correctly?)
<cr1901_modern> rjo: How'd you force your conda environment to use the git artiq? Did you just install all the dependencies but not artiq itself?
<rjo> pretty much. it is actually easy to install it, then uninstall just artiq and then setup.py develop
<cr1901_modern> Which is what I'm doing now and Cython is generating about 10,000 file
<rjo> no need for pythonpath trickery.
<cr1901_modern> yea, I've found PYTHONPATH really doesn't work like I expect it to 90% of the time anyway. In any case, problem solved, back to work
<cr1901_modern> rjo: Presumably, you also took out the disable_scroll_wheel(scanner.axis) code when testing?
<cr1901_modern> rjo: Yes, can confirm what you are seeing. So let's figure out the "why" part...
<rjo> yes
<cr1901_modern> paintEvent is never being called for the widget. Makes perfect sense
<cr1901_modern> rjo: bisect points to this commit for the problem sb0 found: https://github.com/m-labs/scanwidget/commit/2d3bc9b8d64621c059a1082169e9ede2c06e39aa#diff-7dbdce37beb539e7c106840ef65eb401R317 Perhaps we need to pass in initialization arguments since we can't control whether the widget will paint itself before it'll receive valid start/stop/num?