-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
tests/drivers/uart/uart_basic_api/drivers.uart.cdc_acm fails to build #38181
Comments
Looks like the original handle generation had some issues that was hidden by the extra
The final dependencies can apparently be larger than the initial dependencies, which is why the assert triggers. |
So there is a fundamental conflict between how devicetree is outputting device dependencies and what
The obvious solution is to change the behaviour of @mbolivar-nordic @galak thoughts? |
@mbolivar-nordic, @jfischer-no - are you able to have a look at this? |
This was slightly inaccurate.
If both Only generating direct dependencies is a bad idea, because for this board, the parent USB node does not result in a devicetree device, which would mean the Unfortunately at devicetree parse time, we don't know which nodes result in devices, so we can only output three things:
Using 1 for the initial array is a non-starter, as this is what causes the bug, and 2 is strictly worse than 3.
1 is the technically nicer solution, but is worse from a ROM footprint perspective (the vast majority of boards work with the current setup). 2 feels like a giant hack, but ROM footprint won't change for most boards, as a fudge factor of 0 will work fine. |
I don't have a good short term solution. Computing the worst case fanout and padding all the devices like that just doesn't feel like a good idea for an LTS release. I hate to say it, but I think our best bet might be to revert for 2.7 until we have a chance to look at #32129. @tejlmand, any thoughts on that? |
Reverting doesn't solve the problem, the problem existed before the commit. |
If I'm understanding this correctly, the problem is that we need additional entries between I can't see generating Does the At the source / object level, the |
Yes, as this feature was initially reverted in the v2.5 stabilization period because they weren't constant (See #31548). Hashing of kernel objects is used with |
Trying to work out a 'real fix' for after 2.7 here: #38836 |
still in 2.7 branch |
The following fails:
./scripts/twister -p waveshare_open103z -s tests/drivers/uart/uart_basic_api/drivers.uart.cdc_acm
Git bisect shows the issue is related to:
ec331c6
The text was updated successfully, but these errors were encountered: