Skip to content

[BUG][BYT-NOCODEC][BDW_WSB_RT286]Input/output error when simultaneous-playback-capture / multiple-pipeline-playback #3170

Closed

Description

@Liviali155

Describe the bug
Input/output error when do simultaneous-playback-capture test
After error occured all the pipeline can work

To Reproduce
1."sudo reboot" to reboot system
2.cd sof-test
3.cd test-case
4.export TPLG=sof-byt-nocodec.tplg
5../simultaneous-playback-capture.sh -l 100

Reproduction Rate
1 round: failed at 13/100

Expected behavior
No error occured

Impact
Input/output error when do simultaneous-playback-capture test of aplay(0,0) and arecord (0,0)

Capture

ubuntu@jf-byt-mb-nocodec-1:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofnocodec [sof-nocodec], device 0: PCM (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 1: PCM Deep Buffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0


ubuntu@jf-byt-mb-nocodec-1:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofnocodec [sof-nocodec], device 0: PCM (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

No error dmesg,no error sof error trace

Environment
Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
Kernel: {sof-dev fa7850de}
SOF: {master:318dc9f7}
Name of the topology file
Topology: {sof-byt-nocodec.tplg }
Name of the platform(s) on which the bug is observed.
Platform: {BYT MB with nocodec}

dmesg0713.log
sof-logger0713.log

Activity

  1. added
    bugSomething isn't working as expected
    BYTApplies to Baytrail platform
    P2Critical bugs or normal features
    on Jul 13, 2020
  2. Liviali155 commented on Jul 14, 2020

    @Liviali155
    Author

    On BSW with onboard codec MAX98090 in I2S mode also has this issue with sof-dev(9eb3d58)+master(5564a90)
    Capture

    Failed at 39/50

    ubuntu@jf-bsw-cyn-max98090-3:~/sof-test/test-case$ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: max98090 [sof-bytcht max98090], device 0: PCM (*) []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: max98090 [sof-bytcht max98090], device 1: PCM Deep Buffer (*) []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    
    
    ubuntu@jf-bsw-cyn-max98090-3:~/sof-test/test-case$ arecord -l
    **** List of CAPTURE Hardware Devices ****
    card 0: max98090 [sof-bytcht max98090], device 0: PCM (*) []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    dmesg0714.log
    sof-logger0714.log

  3. mengdonglin commented on Jul 14, 2020

    @mengdonglin
    Collaborator

    @slawblauciak sof-byt-nocodec.tplg is created from "sof-cht-nocodec.m4", updated in #3080 to remove SRC for Baytrail and CherryTrail by @plbossart

  4. plbossart commented on Jul 28, 2020

    @plbossart
    Member

    @Liviali155 can you retry with the SOF PR #3245

    The symptoms of no dmesg error, no trace and the -EIO error seem completely aligned with my findings on those platforms.

  5. Liviali155 commented on Jul 29, 2020

    @Liviali155
    Author

    After applied #3245,issue still can be reproduced on BSW with onboard codec MAX98090 in I2S mode and BYT MB with nocodec
    Capture
    dmesg0729.log
    sof-logger0729.log

  6. plbossart commented on Jul 29, 2020

    @plbossart
    Member

    @Liviali155 can you retry with both #3245 and #3257

    Somehow I have the feeling we have the same problem of not having enough memory resulting in some sort of underflow error. It's not clear e.g. why we have these repeated sof-logger messages in both issues

    [241094039.427083] (241094032.000000) c0 buffer       3.18        src/audio/buffer.c:211  comp_update_buffer_consume(), no bytes to consume, source->comp.id = 16, source->comp.type = 5, sink->comp.id = 1, sink->comp.type = 6
    [241094042.916667] (        3.489583) c0 buffer       1.5         src/audio/buffer.c:172  comp_update_buffer_produce(), no bytes to produce, source->comp.id = 1, source->comp.type = 6, sink->comp.id = 2, sink->comp.type = 5
    [241095038.958333] (      996.041687) c0 buffer       3.18        src/audio/buffer.c:211  comp_update_buffer_consume(), no bytes to consume, source->comp.id = 16, source->comp.type = 5, sink->comp.id = 1, sink->comp.type = 6
    [241095043.697917] (        4.739583) c0 buffer       1.5         src/audio/buffer.c:172  comp_update_buffer_produce(), no bytes to produce, source->comp.id = 1, source->comp.type = 6, sink->comp.id = 2, sink->comp.type = 5
    

    Seems to me like the firmware gets lost with bad pointers and can't recover in both #3170 and #3171

    @mmaka1 @lgirdwood FYI

  7. plbossart commented on Jul 29, 2020

    @plbossart
    Member

    @Liviali155 Also wondering if 61a2c75 (' dma: dw: fix locking and calculations in dw_dma_get_data_size') has an impact on multiple pipelines. This changes the behavior for dmic, I am trying to see if reverting it can help. Can you also try on your side.

  8. plbossart commented on Jul 29, 2020

    @plbossart
    Member

    @Liviali155 Adding PR#3245, @3257 and reverting 61a2c75 seems to solve the issue for 100 iterations. branch here: https://github.com/plbossart/sof/tree/fix/multi-pipelines
    I will launch a longer test on my side.

  9. Liviali155 commented on Jul 30, 2020

    @Liviali155
    Author

    @plbossart Used https://github.com/plbossart/sof/tree/fix/multi-pipelines(commit:d9c6405a) to test,issue still can be reproduced on byt-nocodec , failed at 287/1000, seems the reproduce rate is lower than before
    Capture

    sof-logger0730.log
    dmesg0730.log

  10. plbossart commented on Jul 30, 2020

    @plbossart
    Member

    Ack @Liviali155, same on my side. My first run worked for 100 iteration, but on the second a failure happened on iteration 9/1000.

    We need to figure this one out, something's not right with scheduling/concurrency. @lgirdwood FYI

  11. lgirdwood commented on Aug 4, 2020

    @lgirdwood
    Member

    and will result in the above warnings. @plbossart can you turn on mixer debug and see if this aligns, I'm also wondering if mixers is used on the other platforms.

    I don't know how to turn on mixer debug?

    Mixers are used in all platforms, but here indeed the use of the mixer is different: it's the first element in a 'DAI' pipeline

  12. lgirdwood commented on Aug 5, 2020

    @lgirdwood
    Member

    and will result in the above warnings. @plbossart can you turn on mixer debug and see if this aligns, I'm also wondering if mixers is used on the other platforms.

    I don't know how to turn on mixer debug?

    Oh, I think individual debug is still blocked on UUID PR, Maybe just be easier to change trace_dbg to trace_err in mixer_copy().

    Mixers are used in all platforms, but here indeed the use of the mixer is different: it's the first element in a 'DAI' pipeline

    Yep, but I no longer see a sof-byt-nocodec.m4 topology in master, so could your topology binary be stale here and potentially causing an issue ?

    I do suspect that mixer is not correctly getting the state of it's sources/sinks and this results in 0 bytes to copy, but then I've no idea why does not complain about over/under runs....

  13. 29 remaining items

  14. plbossart commented on Jan 27, 2022

    @plbossart
    Member

    FWIW we seem to have an interrupt issue on Broadwell thesofproject/linux#3400

  15. marc-hb commented on Feb 14, 2022

    @marc-hb
    Collaborator

    Still happening in daily 10146?model=BDW_WSB_RT286&testcase=multiple-pipeline-capture-50

    Start Time: 2022-02-11 22:27:26 UTC
    Kernel Branch: topic/sof-dev
    Kernel Commit: 98119478
    SOF Branch: main
    SOF Commit: b8954754f055

  16. added
    P1Blocker bugs or important features
    and removed
    P2Critical bugs or normal features
    on Feb 15, 2022
  17. added
    P3Low-impact bugs or features
    won't fixThis will not be worked on atm (e.g. a bug closed for lack of user request, hardware etc)
    and removed
    P1Blocker bugs or important features
    on Feb 22, 2022
  18. mengdonglin commented on Feb 22, 2022

    @mengdonglin
    Collaborator

    As Broadwell (BDW) is a very old platform, we lower its priority and will not fix issues with multi-pipeline test cases on BDW.

  19. marc-hb commented on Feb 22, 2022

    @marc-hb
    Collaborator

    The test still failed yesterday in 10402?model=BDW_WSB_RT286&testcase=multiple-pipeline-capture-50, let's close this when thesofproject/sof-test#863 is merged so we stop testing this every day like someone is assigned to it.

    We had only 6 distinct failures in 10402 and this was one of them.

  20. XiaoyunWu6666 commented on Feb 23, 2022

    @XiaoyunWu6666
    Contributor

    @marc-hb I think we can close this again since https://github.com/intel-innersource/drivers.audio.ci.sof-framework/pull/185 got merged and also see current test 10444
    image
    [console]

    test case multiple-pipeline-capture-50.sh is SKIP!
    Catch ignore field of test-case: won't fix https://github.com/thesofproject/sof/issues/3170!
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BSWBraswellBYTApplies to Baytrail platformIntel Linux Daily testsThis issue can be found in internal Linux daily testsP3Low-impact bugs or featuresbugSomething isn't working as expectedwon't fixThis will not be worked on atm (e.g. a bug closed for lack of user request, hardware etc)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions