Fedora 4.10.8-200.fc25.i686+PAE
dnf is crashing with ‘segmentation fault (core dumped)’.
I have tried to run ‘dnf clean all’ without success.
When running ‘dnf upgrade’, this is logged in dnf.log:
Apr 30 20:17:21 INFO --- logging initialized ---
Apr 30 20:17:21 DDEBUG timer: config: 7 ms
Apr 30 20:17:21 DEBUG cachedir: /var/cache/dnf
Apr 30 20:17:21 DEBUG Loaded plugins: reposync, Query, noroot, needs-restarting, protected_packages, builddep, playground, config-manager, copr, download, system-upgrade, debuginfo-install, generate_completion_cache
Apr 30 20:17:21 DEBUG DNF version: 1.1.10
Apr 30 20:17:21 DDEBUG Command: dnf upgrade
Apr 30 20:17:21 DDEBUG Installroot: /
Apr 30 20:17:21 DDEBUG Releasever: 25
Apr 30 20:17:21 DDEBUG Base command: upgrade
Apr 30 20:17:21 DDEBUG Extra commands: []
Apr 30 20:17:51 DDEBUG repo: downloading from remote: updates, _Handle: metalnk: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f25&arch=i386, mlist: None, urls [].
This is logged in ‘messages’:
Apr 30 20:17:51 emil2 audit: ANOM_ABEND auid=0 uid=0 gid=0 ses=10 pid=23817 comm="dnf" exe="/usr/libexec/system-python" sig=11
Apr 30 20:17:51 emil2 kernel: dnf[23817]: segfault at 24 ip b64a9c81 sp bfe10cc0 error 4 in libssl3.so[b6496000+49000]
Apr 30 20:17:51 emil2 abrt-hook-ccpp: Process 23817 (system-python) of user 0 killed by SIGSEGV - dumping core
Apr 30 20:17:52 emil2 abrt-server: Deleting problem directory ccpp-2017-04-30-20:17:51-23817 (dup of ccpp-2017-04-28-22:02:01-6627)
Apr 30 20:17:52 emil2 dbus-daemon[721]: [system] Activating service name='org.freedesktop.problems' requested by ':1.699' (uid=0 pid=23827 comm="/usr/bin/python3 /usr/bin/abrt-action-notify -d /v") (using servicehelper)
Apr 30 20:17:52 emil2 dbus-daemon[721]: [system] Successfully activated service 'org.freedesktop.problems'
What can I do to troubleshoot?
Ошибка сегментирования в Linux является одной из самых распространенных и досадных проблем для разработчиков. Как правило, она возникает при попытке получить доступ к памяти, которая не является вашей, или при попытке выполнить операцию над памятью, которая была уже освобождена. В данной статье мы поговорим об этой проблеме более подробно и разберем ее причины, типы и способы ее устранения.
Итак, что же такое ошибка сегментирования? Как мы уже упоминали выше, это проблема, связанная с доступом к памяти. В операционной системе Linux все приложения работают в своих процессах, которые имеют свои собственные области памяти. Когда приложение пытается получить доступ к области памяти, которая не принадлежит ему, это вызывает ошибку сегментирования. Эта ошибка может произойти по многим причинам, например, из-за ошибок в коде, нехватке памяти или поврежденных данных.
Но давайте попробуем разобраться с типами ошибок сегментирования. Они делятся на два типа: со стеком и с кучей.
Ошибки сегментирования со стеком происходят, когда ваше приложение пытается записать данные в область памяти, которая находится за пределами стека. Стек — это область памяти, которая используется для хранения временных данных в вашем приложении. Эта область памяти специально выделена под функции и переменные в стековой памяти, а все остальное — в куче или динамической памяти. Если попытаться записать данные за пределами стековой памяти, это вызовет ошибку со стеком.
Ошибки сегментирования с кучей происходят, когда ваше приложение пытается работать с блоком памяти, который уже освобожден, или по которому нет прав на запись. Куча — это область памяти, куда вы можете выделить память во время выполнения вашего приложения. Обычно это делается с помощью функций, таких как malloc () или calloc (), которые выделяют блоки памяти в куче. Если попытаться работать с уже освобожденным блоком памяти или записывать в блок, который выделялся только для чтения, это вызовет ошибку с кучей.
Теперь, когда вы знаете все о типах ошибок сегментирования, давайте поговорим о причинах, которые могут вызвать эту проблему.
Одной из главных причин ошибок сегментирования является неправильное использование указателей. Указатели — это переменные, которые хранят адреса памяти. Если вы используете указатель неправильно, это может привести к ошибке сегментирования. Например, вы можете попытаться использовать указатель, который не был инициализирован, или указатель, который указывает на уже освобожденную память.
Ошибки сегментирования могут также возникнуть из-за недостаточного выделения памяти. Если вы не выделили достаточно памяти для вашего приложения, это может привести к ошибкам сегментирования.
Другой причиной ошибок сегментирования может служить несовместимость между пакетами или версиями программного обеспечения. Например, вы можете использовать устаревшие библиотеки или установить пакет, который не является совместимым с вашей операционной системой. Это может привести к ошибкам сегментирования в вашей программе.
Наконец, ошибки сегментирования могут возникать из-за багов в самом ядре вашей операционной системы Linux. Хотя это происходит редко, это все же может быть причиной проблемы, так как ядро Linux контролирует всю работу с памятью в вашей системе. Если ядро работает неправильно, это может привести к ошибкам сегментирования и другим проблемам.
Теперь давайте рассмотрим некоторые способы устранения проблем со сбоем сегментирования.
Первый и самый простой способ устранения ошибки сегментирования заключается в том, чтобы перезапустить ваше приложение или систему. Обычно после перезапуска эта проблема исчезает, так как ядро Linux обновляет все связанные с памятью данные и области памяти, которые могли вызвать ошибки.
Если перезапуск не помог, следующим шагом может быть проверка кода вашей программы на наличие ошибок. Ошибки сегментирования часто вызываются проблемами в коде, так что если ваша программа вызывает ошибку сегментирования, попробуйте обратить внимание на ее код и найти и исправить ошибку.
Еще один способ исправления ошибки сегментирования заключается в увеличении объема памяти в вашей системе. Если проблема связана с недостаточным объемом памяти, увеличение памяти может помочь решить эту проблему.
Также можно попробовать установить обновленные версии библиотек и программного обеспечения, чтобы избежать конфликтов между совместимыми версиями на вашей системе.
Наконец, если проблема не решается, вы можете проконсультироваться с командой поддержки Linux, чтобы узнать, что может быть проблемой, и как ее решить.
В заключение хотелось бы сказать, что ошибка сегментирования — это довольно распространенная проблема, которая может произойти во время работы вашей программы на Linux. Часто она вызвана ошибками в коде, недостаточным объемом памяти или конфликтами между совместимыми версиями программного обеспечения. Чтобы решить эту проблему, можно попробовать перезапустить ваше приложение или систему, проверить код вашей программы, увеличить объем памяти, установить обновленные версии библиотек и программного обеспечения, а также проконсультироваться с командой поддержки Linux. Надеемся, что эта статья помогла вам разобраться в этой проблеме и найти ее решение.
Installed a fresh Fedora 35 MATE-Compiz spin, installed the nvidia drivers following these steps:
dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
dnf -y install nvidia-driver nvidia-settings
dnf -y nvidia-driver-libs.i686
Rebooted my OS after installation and while I could see the login screen, desktop session wouldn’t start. Switched back to the console and tried to run the startx
command, got the following error in the Xorg.1.log:
[ 102.932] (EE)
[ 102.932] (EE) Backtrace:
[ 102.932] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x139) [0x564ff2286d09]
[ 102.933] (EE) 1: /lib64/libc.so.6 (__sigaction+0x50) [0x7f812fbf7750]
[ 102.933] (EE) 2: ? (?+0x0) [0x0]
[ 102.933] (EE) 3: /usr/libexec/Xorg (present_event_notify+0xa18) [0x564ff220ec18]
[ 102.933] (EE) 4: /usr/libexec/Xorg (miGlyphs+0x5951) [0x564ff2209741]
[ 102.933] (EE) 5: /usr/libexec/Xorg (miPutImage+0x1591) [0x564ff21172d7]
[ 102.933] (EE) 6: /lib64/libc.so.6 (__libc_start_call_main+0x80) [0x7f812fbe2560]
[ 102.933] (EE) 7: /lib64/libc.so.6 (__libc_start_main+0x7c) [0x7f812fbe260c]
[ 102.934] (EE) 8: /usr/libexec/Xorg (_start+0x25) [0x564ff2117675]
[ 102.934] (EE)
[ 102.934] (EE) Segmentation fault at address 0x0
[ 102.934] (EE)
Fatal server error:
[ 102.934] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 102.934] (EE)
[ 102.934] (EE)
What have I done wrong? 🙈
Xorg.1.log
0
1
Здравствуйте. Помогите пожалуйста. Есть ноутбук:
OS: Fedora 33 (Workstation Edition) x86_64
Host: 80XR Lenovo ideapad 320-15IAP
Kernel: 5.9.12-200.fc33.x86_64
Packages: 2713 (rpm), 6 (flatpak)
Shell: bash 5.0.17
Resolution: 1366×768
DE: GNOME 3.38.2
Terminal: gnome-terminal
CPU: Intel Pentium N4200 (4) @ 2.500GHz
GPU: AMD ATI Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile
GPU: Intel Celeron N3350/Pentium N4200/Atom E3900 Series
Memory: 1069MiB / 3752MiB
После очередного включения, как я понял после небольшого обновления, начала появляться ошибка: Ошибка сегментирования (стек памяти сброшен на диск).
Появляется она в терминале после любой команды содержавшую SUDO. Тоесть то немногое что я за гуглил по этой ошибке, я не могу использовать.