-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade futures-lite #5
Conversation
It is not published on |
Done :) |
Give me a couple of hours to return, to tag the current git repo surface and to merge your changes. Does it work for you btw? I mean async-io-mini? If yes, I'll publish the version with your changes at crates.io |
I personally had just some struggle getting the embassy timers to work. In my point of view, it would be great if that were explained somewhere easy to find. What I had to do for the ESP was:
It would probably be good, if Finally, I had some issues when trying to use |
Just as a note: Since this is my work account, I will not be available until next Monday. So any additions to the PRs that might still need to be done by me will probably have to wait until then. |
Ah yes. Will think about that. Maybe the
Yes, this is necessary. In theory, you can also just enable feature
Yes, as per above, because
This, or you can enable the
Will do, BUT: The major difference between
This sounds weird to say the least. What the HTTP server does should not and does not have anything to do with Wifi. Can you share an example?
Could the reason for the panics be that in some cases you are missing to call this function of |
Thanks for that tip. I wasn't aware of that feature flag.
I am enabling this vfs before running the server code. Therefore, that should not be the root cause. |
I tried to reproduce the issue, but now, I am facing some other panics, which change if I include some logging or not. To me, that sounds like a race condition. I uploaded the code here, if you want to look into it. The README contains some more information. However, this is not critical for me, at least not now. My actual project seems to work, and since this is my job, I currently don't want to spend more time in debugging. |
You are running this project with the default stack size of the main esp-idf task which is very small (3k). Increase it. The http server needs more, as it internally allocates two large buffers. |
But the server code itself is run in a separate thread with a 32k stack, at least that's what I intended? |
Yes I noticed in the meantime. Unlikely, but you might still be running out of stack, because you are allocating the |
It still seems to panic, even without executor and with the server passed at mutable reference to the future. The root cause for the panic now seems to be at least consistent, though. Interestingly still the exact same assertion, that fails, but with a different callstack:
|
It is still in |
@fko-kuptec Ah, yes! I think I might know what it is. You are missing a I haven't spend time so far figuring out how to setup the esp idf netif config in such a state, that it does not simply crash when you don't yet have a working wifi or eth netif first. I suspect though, that if we just create a loop back netif, like the one you have on regular os-es, it would stop crashing even if you don't have others available... |
@ivmarkov I don't think that this is the issue. As far as I could test, calling I tried a little more and came up with this updated code. I've described the issue in the README and the code comments. In short: The code works, if I simply use |
You are right. I did not notice that you are running AP rather than a STA. Truth is, I'm guessing as I don't have the physical time to do a proper test ATM. :(
Might be though I can't recall any other unnamed pthread besides the one of |
No problem for me, at least not at the moment. :) |
All tests are still passing. The upgrade does not seem to have had an impact on the code.
Open Questions
0.2.0
, since this is a breaking change in the public API?