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/? Thanks Chris > > *** FATAL *** > fatal source: 7 (RTEMS_FATAL_SOURCE_ASSERT) > fatal code: 7049152 (0x006b8fc0) > RTEMS version: 6.1.0.not-released > RTEMS tools: 13.3.0 20240521 (RTEMS 6, RSB no-repo, Newlib 1b3dcfd) > executing thread ID: 0x0a010004 > executing thread name: UI1 > > FATAL ERROR - Executive shutdown! Any key to reboot... > -------- > > I'm not an insider in this chain implementation. > It seems that the chain for ata_ide_ctrls[] is not correct? > The disk_driver data seems all to be good, because it is the same physical > device and with RTEMS 5.1 the ATA/IDE device works very well. > Are there any new changes what I have to do in RTEMS 6.1 before I call > rtems_bdpart_register_from_disk? > > _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users