update van Leap-15.1 geeft foutmelding

Om te beginnen: ik hoop dat dit de juiste plek is voor het melden van een probleem bij het updaten (met zypper) van het systeem.


jopes:~ # zypper clean && zypper ref && zypper lp
All repositories have been cleaned up.
Repository 'Packman Repository' is up to date.                                                                               
Repository 'Non-OSS opslagruimte' is up to date.                                                                             
Repository 'Hoofd-opslagruimte' is up to date.                                                                               
Repository 'Hoofd-opslagruimte voor bijwerken' is up to date.                                                                
Repository 'Opslagruimte voor bijwerken (niet-Oss)' is up to date.                                                           
All repositories have been refreshed.
Loading repository data...
Reading installed packages...
/usr/include/c++/7/bits/stl_vector.h:797: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator](std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; std::vector<_Tp, _Alloc>::reference = std::__cxx11::basic_string<char>&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
Aborted (core dumped)
jopes:~ # 

Daarna met fsck de rootpartitie en de home partitie gecontroleerd: geen fouten.

Graag advies en/of commentaar.

Hans.

Hoi Hans, sorry voor de late reactie. Heb je ook al ‘gewoon’ ‘zypper up’ geprobeerd? Aan je repos kan het niet liggen, lijkt mij.

Ken jij zijn repos? Anders zou ik ze graag zien

zypper lr -d

Ik was al vol bewondering voor de alwetendheid van Knurpht, maar voor de volledigheid:


jopes:~ # zypper lr -d
#  | Alias                     | Name                                   | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                          | Service
---+---------------------------+----------------------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------------+--------
 1 | openSUSE-Leap-15.1-1      | openSUSE-Leap-15.1-1                   | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_60A44C3FAC1CBE31596B01BF-0:0-part2 | 
 2 | packman.inode.at-suse     | Packman Repository                     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_Leap_15.1/                                             | 
 3 | repo-debug                | Debug Repository                       | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.1/repo/oss/                          | 
 4 | repo-debug-non-oss        | Debug Repository (Non-OSS)             | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.1/repo/non-oss/                      | 
 5 | repo-debug-update         | Update Repository (Debug)              | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.1/oss/                                     | 
 6 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS)     | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.1/non-oss/                                 | 
 7 | repo-non-oss              | Non-OSS opslagruimte                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/                            | 
 8 | repo-oss                  | Hoofd-opslagruimte                     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.1/repo/oss/                                | 
 9 | repo-source               | Source Repository                      | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.1/repo/oss/                         | 
10 | repo-source-non-oss       | Source Repository (Non-OSS)            | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.1/repo/non-oss/                     | 
11 | repo-update               | Hoofd-opslagruimte voor bijwerken      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.1/oss                                            | 
12 | repo-update-non-oss       | Opslagruimte voor bijwerken (niet-Oss) | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.1/non-oss/                                       | 
jopes:~ # 


En aan Knurpht:

Briljant idee van dat


zypper up

Het werkt. Ik zou het mooi vinden als je dat wilt uitleggen :slight_smile:
Hoe dan ook, veel dank.

H.

Repos zien er inderdaad goed uit. Knurpht heeft kennelijk een onbegrensd vertrouwen in je.<br>│

Nee. Mijn logica was dat ‘zypper clean’ alles megmikt behalve de keys, en elke repo dus ook ververst zou moeten worden. En dat ‘zypper lp’ triggert dat ook, en daar zie je alleen de repos actief die behalve Packman van de systeeminstallatie in de output. Als er URLs niet zouden kloppen zou je dat daar ook zien als foutmelding.

Je redenatie klopt.

Sorry Hans, geen vertrouwen, maar ouderwets kijken wat het systeem beweert. lol!

Wat betreft het originele probleem, dat is gewoon een bug in de code en eigenlijk zou het goed zijn daar een ticket van te maken, zeker als het reproduceerbaar is.
Ik denk dat je het probleem triggert omdat er niet veel mensen zijn die “zypper list-patches” doen, om eerlijk te zeggen, ik had het nog nooit gebruikt en de drie keer dat ik het nu heb gerunt (onder Tumbleweed) krijg ik altijd “No updates found.”

Wat kan helpen om het probleem te onderzoeken is een zogenaamde call-stack, het bestand waar de foutmelding het over heeft, /usr/include/c++/7/bits/stl_vector.h:797 is niet onderdeel van de zypper code maar wordt via-via door zypper aangeroepen.

Om een call stack te krijgen kan je draaien

gdb --args zypper list-patches

Typ vervolgens “run” om te starten en als je op de “Assertion failed” loopt typ je “where”
Als het goed is komt daar een lijst van stukken code die elkaar aangeroepen heeft en daar staat ook zypper in.

Die soort informatie kan ontwikkelaars helpen om het probleem te pin-pointen.

Dat is logisch. Tumbleweed verstrekt nooit patches (dat zijn verbeterde (ge-“patchte”) pakketten in de Update repos). Tumbleweed wordt telkens al nieuwe distributie verstrekt (vandaar zypper dist-upgrade om Tumbleweedd bij te werken) en de Update repos van Tumbleweed zijn leeg.

Laten we maar bij het onderwerp Leap blijven in deze draad.