Problems with zypper and Yast repository after update

Hi,
Today I make update on my opensuse thumbleweed and finished with not working zypper and YaST software manager. The update have been done via YaST Online Update.
When I try to start YaST Software Manager I receive the following error messages:

An error occurred during repository initialization.

and

Warning. No enabled repository configured. Only installed packages are displayed.

When I try to start YaST Software Repositories I receive the following error messages:

Errors occurred while restoring the repository configuration.

If I click on Continue button I have an empty repository list. I tried to add manually all repositories but receive following error:

Internal error. Please report a bug report with logs. Run save_y2logs to get complete logs. 
Caller: /usr/share/YaST2/include/packager/repositories_include.rb:211:in `block in createSourceImpl'   Details: undefined method `[]' for nil

When I try to start YaST oline Update I receive the following error messages:

Warning 
There was an error in the repository initialization.

and

No update repository configured yet. Run configuration workflow now?

If I click on Yes button, the repository manager with my repositories is started but after that, Online Update don’t recognize any software other than already installed.

I have try to use zypper (v1.14.76). When use “zypper lr”, the repository list is available, but on “zypper lp” or “zypper lu” I receive the following error

terminate called after throwing an instance of 'std::optional<zypp::repo::ServicePluginInformalException>'
Aborted (core dumped)

When error happens in /var/log/messages appears following:

2024-07-06T12:45:41.869600+03:00 localhost systemd[1]: Started Process Core Dump (PID 34801/UID 0).
2024-07-06T12:45:41.877516+03:00 localhost systemd[1]: Started Pass systemd-coredump journal entries to relevant user for potential DrKonqi handling.
2024-07-06T12:45:42.008068+03:00 localhost systemd-coredump[34802]: Process 34769 (Zypp-main) of user 0 dumped core.#012#012Stack trace of thread 34769:#012#0  0x00007f6d698949dc __pthread_kill_implementation (libc.so.6 + 0x949dc)#012#1  0x00007f6d69841176 raise (libc.so.6 + 0x41176)#012#2  0x00007f6d698289a1 abort (libc.so.6 + 0x289a1)#012#3  0x00007f6d69cadc4d n/a (libstdc++.so.6 + 0xadc4d)#012#4  0x00007f6d69cbf2ec n/a (libstdc++.so.6 + 0xbf2ec)#012#5  0x00007f6d69cad7f5 _ZSt9terminatev (libstdc++.so.6 + 0xad7f5)#012#6  0x00007f6d69cad80e n/a (libstdc++.so.6 + 0xad80e)#012#7  0x00005595336a76b8 n/a (zypper + 0x716b8)#012#8  0x00007f6d6982a1f0 __libc_start_call_main (libc.so.6 + 0x2a1f0)#012#9  0x00007f6d6982a2b9 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a2b9)#012#10 0x00005595336a8bf5 _start (zypper + 0x72bf5)#012#012Stack trace of thread 34796:#012#0  0x00007f6d6990578f __poll (libc.so.6 + 0x10578f)#012#1  0x00007f6d6971432f n/a (libglib-2.0.so.0 + 0x5f32f)#012#2  0x00007f6d69714a3c g_main_context_iteration (libglib-2.0.so.0 + 0x5fa3c)#012#3  0x00007f6d69714a81 n/a (libglib-2.0.so.0 + 0x5fa81)#012#4  0x00007f6d6974130e n/a (libglib-2.0.so.0 + 0x8c30e)#012#5  0x00007f6d69892ba2 start_thread (libc.so.6 + 0x92ba2)#012#6  0x00007f6d6991400c __clone3 (libc.so.6 + 0x11400c)#012#012Stack trace of thread 34795:#012#0  0x00007f6d69911bcd syscall (libc.so.6 + 0x111bcd)#012#1  0x00007f6d6976ed50 g_cond_wait (libglib-2.0.so.0 + 0xb9d50)#012#2  0x00007f6d696dd0db n/a (libglib-2.0.so.0 + 0x280db)#012#3  0x00007f6d69741aa2 n/a (libglib-2.0.so.0 + 0x8caa2)#012#4  0x00007f6d6974130e n/a (libglib-2.0.so.0 + 0x8c30e)#012#5  0x00007f6d69892ba2 start_thread (libc.so.6 + 0x92ba2)#012#6  0x00007f6d6991400c __clone3 (libc.so.6 + 0x11400c)#012#012Stack trace of thread 34797:#012#0  0x00007f6d6990578f __poll (libc.so.6 + 0x10578f)#012#1  0x00007f6d6971432f n/a (libglib-2.0.so.0 + 0x5f32f)#012#2  0x00007f6d69714c5f g_main_loop_run (libglib-2.0.so.0 + 0x5fc5f)#012#3  0x00007f6d67938206 n/a (libgio-2.0.so.0 + 0x127206)#012#4  0x00007f6d6974130e n/a (libglib-2.0.so.0 + 0x8c30e)#012#5  0x00007f6d69892ba2 start_thread (libc.so.6 + 0x92ba2)#012#6  0x00007f6d6991400c __clone3 (libc.so.6 + 0x11400c)#012ELF object binary architecture: AMD x86-64
2024-07-06T12:45:42.014803+03:00 localhost systemd[1]: systemd-coredump@8-34801-0.service: Deactivated successfully.
2024-07-06T12:45:42.141970+03:00 localhost drkonqi-coredump-processor[34803]: "/usr/bin/zypper" 34769 "/var/lib/systemd/coredump/core.Zypp-main.0.cf8e144c91574778995ee1a0649c0a0c.34769.1720259141000000.zst"
2024-07-06T12:45:42.142363+03:00 localhost drkonqi-coredump-processor[34803]: The socket path doesn't exist @ "/run/user/0/drkonqi-coredump-launcher"
2024-07-06T12:45:42.151916+03:00 localhost systemd[1]: drkonqi-coredump-processor@8-34801-0.service: Deactivated successfully.

Downgrading zypper to “zypper-1.14.74-1.2.x86_64” doesn’t work, and the error was the same.

I searched for “zypp::repo::ServicePluginInformalException” and it looks like, it is part of libzypp. Trying to downgrade libzypp to “libzypp-17.34.1-1.1.x86_64” but there were a lot of software that depends on new version, and trying to follow all dependencies in order to manually (without packet manager) downgrade all these software, doesn’t sound good idea for me (there is a big probability I would miss some of them).

I am not sure how to fix this problem and if you have some suggestions, please tell me.
Thanks in advance.

YOU is NOT supported on Tumbleweed!

ONLY sudo zypper dup

Can you perform a sudo zypper in openSUSE-repos-Tumbleweed
This will install fresh repo definitions. A restart/logout may be required to properly show the fresh repos in YaST repositories afterwards.

1 Like

Roll back to the snapshot before this update and continue with zypper dup.

Thank you for suggestions.

Can you perform a sudo zypper in openSUSE-repos-Tumbleweed

I tried and the result was:

zypper in openSUSE-repos-Tumbleweed
Refreshing service 'openSUSE'.
Refreshing service 'service'.
terminate called after throwing an instance of 'std::optional<zypp::repo::ServicePluginInformalException>'
Aborted (core dumped)

YOU is NOT supported on Tumbleweed!
ONLY sudo zypper dup

I am not sure what to say. I am using Tumbleweed from more than an year and always make updates via “YaST Online Update”. Before today, I never had problems with this.

I always cross the street on the red light. Before today I never had the problems with it.

2 Likes

I don’t think this analogy is correct because traffic lights are a tool that should be used by vehicles and pedestrians, and if it is not used, accidents are inevitable. Whereas in Tumbleweed it is recommended not to use a pre-installed tool (YaST Software or GNOME Software or Discover), because if you do, it will break the system one day. Telling casual users “don’t use any GUI, only zypper dup inside a Screen or Tmux or Teletype session.” is not a solution either. I want to repeat what I said in another thread: if no GUI is recommended for system upgrades to Tumbleweed, why do they exist?

Because YaST has countless modules which are used to administrate an openSUSE system. One big tool for several openSUSE flavors. And not all modules can/should be used with every flavor.

Also Tumbleweed is the development model for the distribution releases, so when the time comes get tested in those releases …

Obviously, in my own thread I have expressed my thoughts about informing users about the ideal system upgrade method, etc. My reply to this will be parallel to that thread: In 10 years the YaST Software tool could be made capable of upgrading to Tumbleweed, the Welcome tool could have a link to the Tumbleweed Portal page instead of just links to the official Leap documentation. So that users can learn ideal system upgrade method at the beginning, etc.

Let me warn: We will not accept the propagation of unsupported methods to other users. More: we also consider it rude and blunt to ignore advice asked for. This is not your platform, it’s openSUSE’s. And spreading misinformation to end with is a violation of the CoC.

Nothing prevents you from refining software selection in default Tumbleweed and submitting your SR. I would agree that at least YOU should not be included by default. Repeating it over and over again is not going to change anything.

1 Like

To whom is this warning addressed?

It was to you. If you would be well informed you’d know that in 10 years there will be no YaST. It is outdated, the code is unmaintainable, and you’re telling people to rely on it. The devs are very clear: YaST Software cannot do distribution upgrades. Full stop. Hence all the docs say that dup is the only supported way. There is absolutely no opinion to have in this matter, it’s fact.

I did not integrate the openSUSE’s own tool into the upstream distribution of SLE. Because others have integrated it and because newcomers are not properly informed at the beginning, they are upgrading their systems with the wrong tools and methods. Nowhere did I write that we should use the YaST Software, on the contrary, it was the Portal page itself that made this recommendation a few months ago.

Rolling release means no updates, only urgent patches and upgrades
When updating Tumbleweed, you can use YaST or the system update applet just as on Leap.

And even in this thread a member wrote that he/she has been using YaST for years for system upgrades without any problems.

Also in this FAQ Tumbleweed users are misinformed.

For casual users, leaving the update process to packagekit is best, as it handles updates automatically and applies these updates in the safest way possible.

I am trying to make it clear that newcomers should be better informed that people should not use any GUI at all, and that even using only the terminal is not a safe way to upgrade a system.

They are not. PackageKit is using the equivalent of zypper dup on Tumbleweed.

But which front end do casual users use for their GNOME or Plasma setup? Mostly they use the Software and Discover GUIs. Are these two GUIs recommended or not?

Both GNOME Software and Discover use PackageKit as backend. Didn’t test it myself, but if the said above is true and PackageKit actually uses zypper dup, then those two also should. Correct me, if I’m wrong.

Nonetheless, what is the point of this discussion? If zypper dup is the way to go, then why not just accept it? It might not be as convenient as a GUI, but you’ll have a lot more control over the process, because you’ll see what gets updated, newly installed and removed before something bad happens. GUI Tools often hide important stuff.

Yes, you are correct. Updating with Discover or with Gnome Software should mostly be fine.

Occasionally there might be an error due to a conflict. In that case, it is better to use “zypper dup” directly at the command line to deal with the conflict.

Why do you think it is not on Portal:Tumbleweed - openSUSE Wiki ? Read what it says there.

If that page could be corrected to limit use of term “update” to the one limited place its use is appropriate for TW, the problem might be less widespread. I tried to fix it earlier today, but that section is edit-proof except to wiki superusers.