On Sat, Sep 25, 2021 at 5:10 PM Alexander Ploumistos
<alex.ploumis...@gmail.com> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to