RTEMS 6.1 assertion fail in _Chain_Append_unprotected in ATA driver
Chris Johns
chrisj at rtems.org
Wed May 28 02:35:09 UTC 2025
On 26/5/2025 11:24 am, Chris Johns wrote:
> On 20/5/2025 9:11 pm, Jens Gollasch wrote:
>> Hi all,
>>
>> i have a project (i386/pc686) running for some years fine in RTEMS 5.1, now
>> changed to 6.1.
>> Without any changes in my project I get now an assertion fail in the ATA driver.
>> This is the call in my init task:
>>
>> ...
>> sc = rtems_bdbuf_init();
>> assert(sc == RTEMS_SUCCESSFUL);
>> ...
>> if ((sc = rtems_bdpart_register_from_disk(CF_DISK)) == RTEMS_SUCCESSFUL)
>> ...
>>
>>
>> I traced the problem down thru
>> rtems_bdpart_read( disk_name, &format, pt, &count);
>> rtems_bdbuf_read( dd, index, block);
>> rtems_bdbuf_execute_transfer_request (dd, req, true);
>>
>> to the ata_ioctl
>> ata_add_to_controller_queue(ctrl_minor, areq);
>> and end up in
>> ata.c, ata_add_to_controller_queue(), line 540, in an call to
>> rtems_chain_append(&ata_ide_ctrls[ctrl_minor].reqs, &areq->link);
>>
>> chainprotected.c, 97: _Chain_Append_unprotected( chain, node );
>> and in
>> chainimpl.h, 688: _Assert( _Chain_Is_node_off_chain( the_node ) );
>> give an assertion fail.
>>
>> --------
>> assertion "_Chain_Is_node_off_chain( the_node )" failed: file "../../../cpukit/
>> include/rtems/score/chainimpl.h", line 69
>> 1, function: _Chain_Append_unprotected
>
> I have seen this recently when getting a build for the FatFS GSoC project. I
> disabled `RTEMS_DEBUG` to move on. It would be appreciated if you could raise an
> issue in https://gitlab.rtems.org/?
Issue raise on 7:
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5253
Chris
More information about the users
mailing list