Pyzor crashes on system startup

Bug #2055253 reported by Erlandas Kareckas
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pyzor (Ubuntu)
New
Undecided
Unassigned

Bug Description

On Ubuntu 22.04 Pyzor crashes twice on startup most likely due to a start before network is initialized as error reported is DNS related:

File "/usr/lib/python3/dist-packages/pyzor/client.py", line 116, in check
sock = self.send(msg, address)
File "/usr/lib/python3/dist-packages/pyzor/client.py", line 138, in send
return self._send(msg, address)
File "/usr/lib/python3/dist-packages/pyzor/client.py", line 143, in _send
for res in socket.getaddrinfo(addr[0], addr[1], 0, socket.SOCK_DGRAM,
File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

A guess of what is happening (but would need debug startup logs to confirm):

    init system starts (probably systemd those days in Ubuntu)
    init system parses startup files
    init system decides to start networking in background
    init system decides to start MTA (like exim, postfix, sendmail, ...) in background
    init system decides to start spamassassin in background (in parallel with already running startup scripts)
    init system finishes starting up spamassassin
    init system finishes starting MTA
    MTA delivers previously queued mail to spamassassin to process
    spamassassin calls pyzor
    pyzor bails out with error as networking has not finished starting up yet (might be unrelated issue - why your network takes longer then usual to start?)
    networking finally starts
    MTA delivers (new) mail to spamassassin to process
    spamassassin calls pyzor again
    as network is now working, this and subsequent calls to pyzor work just fine

The issue is likely that step 5. (init system decides to start spamassassin) should have been delayed until network startup is finished (i.e. step 11. in example above), as spamassassin with network test enabled (like pyzor) requires networking to be working beforehand.

Package: pyzor 1:1.0.0-6
PackageArchitecture: all
ProcCpuinfoMinimal:
 processor : 11
 vendor_id : GenuineIntel
 cpu family : 6
 model : 167
 model name : Intel(R) Xeon(R) E-2386G CPU @ 3.50GHz
 stepping : 1
 microcode : 0x5d
 cpu MHz : 4587.793
 cache size : 12288 KB
 physical id : 0
 siblings : 12
 core id : 5
 cpu cores : 6
 apicid : 11
 initial apicid : 11
 fpu : yes
 fpu_exception : yes
 cpuid level : 27
 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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap avx512ifma clflushopt intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm md_clear flush_l1d arch_capabilities
 vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple shadow_vmcs pml ept_mode_based_exec tsc_scaling
 bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs mmio_stale_data retbleed eibrs_pbrsb gds
 bogomips : 7008.00
 clflush size : 64
 cache_alignment : 64
 address sizes : 39 bits physical, 48 bits virtual
 power management:
ProcVersionSignature: Ubuntu 5.15.0-97.107-generic 5.15.136
Python3Details: /usr/bin/python3.10, Python 3.10.12, python3-minimal, 3.10.6-1~22.04
PythonDetails: N/A
SourcePackage: pyzor
Tags: jammy uec-images
Title: pyzor crashed with socket.gaierror in getaddrinfo(): [Errno -3] Temporary failure in name resolution
Uname: Linux 5.15.0-97-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
_MarkForUpload: True
modified.conffile..etc.logrotate.d.apport: [modified]
mtime.conffile..etc.logrotate.d.apport: 2022-12-01T10:58:39.330821

Revision history for this message
Matija Nalis (mnalis) wrote :

ref. upstream bugreports which led to it being reported to Ubuntu instead:
https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8215
https://github.com/SpamExperts/pyzor/issues/167

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.