Вопрос или проблема
Я попробовал установить эти две версии для amd64:
- https://github.com/mongodb-js/compass/releases/tag/v1.44.7
- https://github.com/mongodb-js/compass/releases/tag/v1.45.0
Установка проходит без ошибок
sudo apt install ./mongodb-compass_1.45.0_amd64.deb
which mongodb-compass
/usr/bin/mongodb-compass
Но при запуске обеих получаю ошибку
mongodb-compass --version
Illegal instruction (core dumped)
Информация о моей системе, краткий вывод команды fastfetch
OS: Ubuntu 24.10 x86_64
Kernel: Linux 6.11.0-13-generic
DE: GNOME
CPU: Intel(R) Celeron(R) G530 (2) @ 2.40 GHz
Я читал, что это может быть связано с инструкциями процессора
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Celeron(R) CPU G530 @ 2.40GHz
stepping : 7
microcode : 0x2f
cpu MHz : 1596.394
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid xsaveopt dtherm arat pln pts vnmi md_clear flush_l1d
vmx flags : vnmi preemption_timer invvpid ept_x_only flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_unknown
bogomips : 4789.13
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Celeron(R) CPU G530 @ 2.40GHz
stepping : 7
microcode : 0x2f
cpu MHz : 1596.376
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid xsaveopt dtherm arat pln pts vnmi md_clear flush_l1d
vmx flags : vnmi preemption_timer invvpid ept_x_only flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_unknown
bogomips : 4789.13
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
По запросу @waltinator
file $(type -p mongodb-compass)
/usr/bin/mongodb-compass: symbolic link to ../lib/mongodb-compass/MongoDB Compass
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 36 bits physical, 48 bits virtual
Byte order: Little Endian
...
Решение было следующим.
Я удалил пакет, который не работал.
sudo apt purge mongodb-compass
Для уверенности я очистил кэш.
sudo apt clean
По моим записям последняя версия, которую я использовал на старой системе Ubuntu 22.04, была – 1.42.0
Так что я нашел последнюю доступную версию 1.42.*, установил ее, и она работает.
sudo apt install ./mongodb-compass_1.42.5_amd64.deb
Я пошел дальше, 1.43.6 – тоже работает.
sudo apt install ./mongodb-compass_1.43.6_amd64.deb
Если установить 1.44.7, все ломается. Конечно, вы можете продолжить изучение и попробовать начать с 1.44.0 и двигаться дальше.
https://github.com/mongodb-js/compass/releases/tag/v1.43.6
Но я решил просто вернуться к рабочей 1.43.6.
Ответ или решение
Ошибка "Illegal instruction (core dumped)" при запуске MongoDB Compass: как решить
Определение проблемы
Вы столкнулись с ошибкой "Illegal instruction (core dumped)" при запуске MongoDB Compass на вашей системе. Это может происходить из-за несовместимости версии приложения с процессором, который используется в вашей системе.
Анализ проблемы
Ваша система работает на базе процессора Intel Celeron G530, который поддерживает инструкции fpu, vme, de, pse и другие, но, вероятно, не поддерживает дополнительные инструкции, на которые полагается MongoDB Compass версии 1.44.7 и 1.45.0. Эти новые версии, видимо, требуют более новых технологий, таких как AVX, которые отсутствуют в процессорах более старого поколения, как ваш.
Решение проблемы
-
Удаление несоответствующих версий:
- Чтобы решить эту проблему, вы удаляете установленную версию MongoDB Compass:
sudo apt purge mongodb-compass sudo apt clean
- Чтобы решить эту проблему, вы удаляете установленную версию MongoDB Compass:
-
Установка более ранней версии:
- Ваша система успешно работала с MongoDB Compass версии 1.42.5 и 1.43.6, которые не используют новейшие инструкции процессора. Установите одну из этих версий, чтобы избежать проблемы:
sudo apt install ./mongodb-compass_1.42.5_amd64.deb sudo apt install ./mongodb-compass_1.43.6_amd64.deb
- Ваша система успешно работала с MongoDB Compass версии 1.42.5 и 1.43.6, которые не используют новейшие инструкции процессора. Установите одну из этих версий, чтобы избежать проблемы:
-
Руководство по тестированию других версий:
- Если вам нужно использовать версию новее 1.43.6, проведите тестирование, начиная с 1.44.0 и выше, чтобы определить точную версию, где начинается проблема:
sudo apt install ./mongodb-compass_1.44.0_amd64.deb
- Если вам нужно использовать версию новее 1.43.6, проведите тестирование, начиная с 1.44.0 и выше, чтобы определить точную версию, где начинается проблема:
Дополнительные рекомендации
- Проверка документации: Убедитесь, что версия MongoDB Compass, которую вы используете, совместима с архитектурой вашего процессора и поддерживаемыми им инструкциями.
- Мониторинг обновлений: Отслеживайте обновления от разработчиков MongoDB Compass, так как они могут предложить решения или обновления, устраняющие проблему совместимости.
- Альтернативные решения: Если MongoDB Compass необходим в более новой версии, рассмотрите возможность обновления аппаратных средств для поддержки современных технологий или изучите возможность использования других инструментов для работы с MongoDB.
Заключение
Эта ошибка является следствием несовместимости программного обеспечения и аппаратных возможностей вашего процессора. Установив более раннюю версию, вы сможете использовать MongoDB Compass без ошибки "Illegal instruction". Важно оставаться в курсе документации и обновлений от разработчиков для решения подобных проблем в будущем.