On Sat, Sep 25, 2021 at 5:10 PM Alexander Ploumistos <alex.ploumistos@xxxxxxxxx> wrote: > I built the latest avogadro2 and avogadro2-libs from the srpm in your > copr for F34 and I hit some graphical glitches again. On Wayland, > Avogadro2 for X11 has a transparent canvas, whereas the other one (I > guess Wayland) doesn't, but as soon as I add a fourth atom to the > drawing, it crashes: > > /usr/include/c++/11/bits/stl_vector.h:1045: std::vector<_Tp, > _Alloc>::reference std::vector<_Tp, > _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = > Eigen::Matrix<double, 3, 1>; _Alloc = > std::allocator<Eigen::Matrix<double, 3, 1> >; std::vector<_Tp, > _Alloc>::reference = Eigen::Matrix<double, 3, 1>&; std::vector<_Tp, > _Alloc>::size_type = long unsigned int]: Assertion '__n < > this->size()' failed. > Aborted (core dumped) I don't know if this is the same as the inchi-related abort, but that one is caused by this code, on lines 178-180 of molecule_smiles.cpp, in Molecule::ToInChI(): std::string s = ostream.str(); s[s.length() - 1] = '\0'; // Abort happens here return ( QString( s.c_str() ) ); The abort happens because s is the empty string, so s.length() == 0, and assigning to s[-1] just isn't a good idea. I'm pretty sure that line isn't needed anyway. Isn't s.c_str() guaranteed to provide a null-terminated C string? -- Jerry James http://www.jamezone.org/ _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure