[solved] trap invalid opcode in process after migration to pve6 from pve5

Denis Kulikov

Member
Feb 28, 2018
26
2
23
42
Hello.
We have updated one of our server in cluster from pve5 to pve6 and found several problems.
One of them:

After we migrate our PBX container (Asterisk, FreePBX) to pve6 it`s doesn`t start with:
traps: asterisk[47551] trap invalid opcode ip:81f0e19 sp:ffed1cd0 error:0 in asterisk[8048000+24a000]

Arch is i386 (change to amd64 doesn`t help).

CPU is the same on all servers:

[root@pve5 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
stepping : 2
microcode : 0x1f
cpu MHz : 1653.136
cache size : 12288 KB
physical id : 0
siblings : 12
core id : 2
cpu cores : 6
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 11
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 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid dtherm ida arat flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 4799.81
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:


[root@pve6 /]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
stepping : 2
microcode : 0x1f
cpu MHz : 2400.298
cache size : 12288 KB
physical id : 0
siblings : 12
core id : 2
cpu cores : 6
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 11
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 pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid dtherm ida arat flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 4800.49
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

root@pve6:~# pveversion -v
proxmox-ve: 6.1-2 (running kernel: 5.3.18-3-pve)
pve-manager: 6.1-8 (running version: 6.1-8/806edfe1)
pve-kernel-helper: 6.1-8
pve-kernel-5.3: 6.1-6
pve-kernel-4.15: 5.4-12
pve-kernel-5.3.18-3-pve: 5.3.18-3
pve-kernel-5.3.18-2-pve: 5.3.18-2
pve-kernel-5.3.18-1-pve: 5.3.18-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: residual config
ifupdown2: 2.0.1-1+pve8
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-17
libpve-guest-common-perl: 3.0-5
libpve-http-server-perl: 3.0-5
libpve-storage-perl: 6.1-5
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 4.0.1-pve1
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-23
pve-docs: 6.1-6
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.0-10
pve-firmware: 3.0-7
pve-ha-manager: 3.0-9
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-4
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-7
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1

root@pve5:~# pveversion -v
proxmox-ve: 5.4-2 (running kernel: 4.15.18-27-pve)
pve-manager: 5.4-13 (running version: 5.4-13/aee6f0ec)
pve-kernel-4.15: 5.4-16
pve-kernel-4.13: 5.2-2
pve-kernel-4.15.18-27-pve: 4.15.18-55
pve-kernel-4.15.18-24-pve: 4.15.18-52
pve-kernel-4.15.18-23-pve: 4.15.18-51
pve-kernel-4.15.18-21-pve: 4.15.18-48
corosync: 3.0.2-pve4~bpo9
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-12
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-56
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-14
libpve-storage-perl: 5.0-44
libqb0: 1.0.5-1~bpo9+2
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-7
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
proxmox-widget-toolkit: 1.0-28
pve-cluster: 5.0-38
pve-container: 2.0-41
pve-docs: 5.4-2
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-22
pve-firmware: 2.0-7
pve-ha-manager: 2.0-9
pve-i18n: 1.1-4
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 3.0.1-4
pve-xtermjs: 3.12.0-1
pve-zsync: 1.7-4
qemu-server: 5.0-55
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.13-pve1~bpo2


__PRETTY_FUNCTION__ = "start_resource"
#8 0x0816caeb in load_resource_list (load_order=0xffe47614, global_symbols=0, mod_count=0xffe4761c) at loader.c:1370
mod = 0x94e7d88
lres = <value optimized out>
resource_heap = {elems = 0x9354e90, max = 500, current = 177}
order = <value optimized out>
load_retries = <value optimized out>
count = <value optimized out>
res = 0
i = <value optimized out>
__PRETTY_FUNCTION__ = "load_resource_list"
#9 0x0816d3a6 in load_modules (preload_only=0) at loader.c:1508
cfg = 0x933ebb0
order = <value optimized out>
v = 0x0
load_count = <value optimized out>
load_order = {first = 0x0, last = 0x0}
res = 0
config_flags = {flags = 0}
---Type <return> to continue, or q <return> to quit---
modulecount = 25
dirent = <value optimized out>
dir = <value optimized out>
__PRETTY_FUNCTION__ = "load_modules"
#10 0x08096987 in asterisk_daemon (isroot=<value optimized out>, runuser=<value optimized out>, rungroup=<value optimized out>) at asterisk.c:4279
f = <value optimized out>
sigs = {__val = {134238211, 0 <repeats 31 times>}}
num = 0
buf = <value optimized out>
pbx_uuid = "1b8dc15c-b11e-4cc2-9fc2-39fcdf3d8f70"
__func__ = "asterisk_daemon"
__PRETTY_FUNCTION__ = "asterisk_daemon"
#11 0x080984d6 in main (argc=<value optimized out>, argv=Cannot access memory at address 0x9b156
) at asterisk.c:4032
c = <value optimized out>
xarg = 0x0
x = <value optimized out>
isroot = 1
rundir_exists = <value optimized out>
runuser = 0x0
rungroup = 0x0
remotesock = 0x0
l = {rlim_cur = 1048576, rlim_max = 1048576}

(gdb) frame 0
#0 ast_samp2tv (t=0x9351588, when=<value optimized out>) at /usr/src/asterisk-certified-13.21-cert3/include/asterisk/time.h:184
184 AST_INLINE_API(

I'm not sure, but maybe this worked on a previous kernel version - 5.3.18-2

Can someone help us (without needs to recompile asterisk by hands) or we need to create bug at Bugzilla?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!