RTEMS 6.1 assertion fail in _Chain_Append_unprotected in ATA driver

Jens Gollasch jens.gollasch at lss-lighting.de
Tue May 20 11:11:41 UTC 2025


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

*** 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?


-- 
Mit freundlichen Grüßen
Jens Gollasch

Licht-, Steuer- und Schaltanlagenbau GmbH
NL Dresden
Warnemünder Straße 1, 01109 Dresden
Tel.: 0351/79565691
mail: jens.gollasch at lss-lighting.de
www.lss-lighting.de

-------------------------------------------------------------------
LSS Licht-, Steuer- und Schaltanlagenbau GmbH
Gesellschaft mit beschränkter Haftung
Sitz der Gesellschaft: Am Eichenberg 1, 04600 Altenburg
Registergericht: AmtsgerichtJena, HRB 206496
Geschäftsführer: Markus Kaminski
Steuer-Nummer: 161/113/04371; Finanzamt Altenburg
USt-ID: DE 150 516 887
-------------------------------------------------------------------



More information about the users mailing list