Bug 24145

Summary: projectM-pulseaudio segfaults
Product: Mageia Reporter: Ben McMonagle <westel>
Component: RPM PackagesAssignee: Nicolas Lécureuil <mageia>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: geiger.david68210, marja11
Version: CauldronKeywords: 7beta2
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: libprojectm CVE:
Status comment:
Attachments: Terminal output from working projectM-pulseaudio

Description Ben McMonagle 2019-01-06 04:48:04 CET
Description of problem: invoking projectM-pulseaudio segfaults:

$ projectM-pulseaudio 
dir:/usr/share/projectM/config.inp 
reading ~/.projectM/config.inp 
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
unconnected: connecting...
connectHelper:  "alsa_input.pci-0000_00_1b.0.analog-stereo"
CREATED
READY
Segmentation fault (core dumped)



Version-Release number of selected component (if applicable):
Mageia-7-beta2-Live-PLASMA5-x86_64.iso
DATE.txt: Fri Jan  4 12:24:52 CET 2019
md5sum:   eccafd237f551eeaf4829763142f38ae

How reproducible: every time


Steps to Reproduce:
1.install above .iso and reboot
2.
3.
Ben McMonagle 2019-01-06 04:48:23 CET

Keywords: (none) => 7beta1

Comment 1 David GEIGER 2019-01-06 09:17:24 CET
Please install gdb to debug it, then launch:

gdb -q -batch -ex run -ex backtrace projectM-pulseaudio


And attach the output.

CC: (none) => geiger.david68210

Comment 2 David GEIGER 2019-01-06 09:20:16 CET
Also reporting this issue upstream would be better at:

https://github.com/projectM-visualizer/projectm
Comment 3 Marja Van Waes 2019-01-08 13:42:13 CET
It doesn't crash here, in an updated "old" cauldron.
(The visualization works great. There's no sound, is that because it's intended for deaf people? If not, then I'll file a separate bug report if I can reproduce it in a different cauldron)

Source RPM: (none) => libprojectm
Keywords: 7beta1 => 7beta2
CC: (none) => marja11
Assignee: bugsquad => mageia

Comment 4 Ben McMonagle 2019-01-12 01:03:45 CET
seems to be hardware dependent

(intel-810 or later) seems ok.
Nvidia340 has the issue .

@localhost ~]$ lspcidrake
unknown         : Intel Corporation|Mobile PM965/GM965 KT Controller [COMMUNICATION_SERIAL] (rev: 0c)
ehci_pci        : Intel Corporation|82801H (ICH8 Family) USB2 EHCI Controller #1 [SERIAL_USB] (rev: 03)
unknown         : Intel Corporation|82801H (ICH8 Family) PCI Express Port 5 [BRIDGE_PCI] (rev: 03)
ehci_pci        : Intel Corporation|82801H (ICH8 Family) USB2 EHCI Controller #2 [SERIAL_USB] (rev: 03)
yenta_socket    : Ricoh Co Ltd|RL5c476 II [BRIDGE_CARDBUS] (rev: b9)
iwl4965         : Intel Corporation|PRO/Wireless 4965 AG or AGN [Kedron] Network Connection [NETWORK_OTHER] (rev: 61)
uhci_hcd        : Intel Corporation|82801H (ICH8 Family) USB UHCI Controller #1 [SERIAL_USB] (rev: 03)
sdhci_pci       : Ricoh Co Ltd|R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev: 20)
uhci_hcd        : Intel Corporation|82801H (ICH8 Family) USB UHCI Controller #4 [SERIAL_USB] (rev: 03)
uhci_hcd        : Intel Corporation|82801H (ICH8 Family) USB UHCI Controller #3 [SERIAL_USB] (rev: 03)
ata_piix        : Intel Corporation|82801HM/HEM (ICH8M/ICH8M-E) IDE Controller [STORAGE_IDE] (rev: 03)
mei_me          : Intel Corporation|Mobile PM965/GM965 MEI Controller [COMMUNICATION_OTHER] (rev: 0c)
unknown         : Intel Corporation|82801H (ICH8 Family) PCI Express Port 2 [BRIDGE_PCI] (rev: 03)
unknown         : Intel Corporation|Mobile PM965/GM965/GL960 Memory Controller Hub [BRIDGE_HOST] (rev: 0c)
ata_generic     : Intel Corporation|Mobile PM965/GM965 PT IDER Controller [STORAGE_IDE] (rev: 0c)
unknown         : Intel Corporation|82801 Mobile PCI Bridge [BRIDGE_PCI] (rev: f3)
e1000e          : Intel Corporation|82566MM Gigabit Network Connection [NETWORK_ETHERNET] (rev: 03)
yenta_socket    : Ricoh Co Ltd|RL5c476 II [BRIDGE_CARDBUS] (rev: b9)
snd_hda_intel   : Intel Corporation|82801H (ICH8 Family) HD Audio Controller [MULTIMEDIA_AUDIO_DEV] (rev: 03)
Card:NVIDIA GeForce 8100 to GeForce 415: NVIDIA Corporation|G84GLM [Quadro FX 570M] [DISPLAY_VGA] (rev: a1)
firewire_ohci   : Ricoh Co Ltd|R5C832 IEEE 1394 Controller [SERIAL_FIREWIRE] (rev: 03)
uhci_hcd        : Intel Corporation|82801H (ICH8 Family) USB UHCI Controller #2 [SERIAL_USB] (rev: 03)
unknown         : Intel Corporation|Mobile PM965/GM965/GL960 PCI Express Root Port [BRIDGE_PCI] (rev: 0c)
lpc_ich         : Intel Corporation|82801HEM (ICH8M-E) LPC Interface Controller [BRIDGE_ISA] (rev: 03)
uhci_hcd        : Intel Corporation|82801H (ICH8 Family) USB UHCI Controller #5 [SERIAL_USB] (rev: 03)
unknown         : Intel Corporation|82801H (ICH8 Family) PCI Express Port 1 [BRIDGE_PCI] (rev: 03)
unknown         : Intel Corporation|82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] [STORAGE_SATA] (rev: 03)
hub             : Linux 4.19.13-desktop-1.mga7 ehci_hcd|EHCI Host Controller [Hub|Unused|Full speed (or root) hub]
hub             : Linux 4.19.13-desktop-1.mga7 ehci_hcd|EHCI Host Controller [Hub|Unused|Full speed (or root) hub]
hub             : Linux 4.19.13-desktop-1.mga7 uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
btusb           : Broadcom Corp|HP Integrated Module [Wireless|Radio Frequency|Bluetooth]
hub             : Linux 4.19.13-desktop-1.mga7 uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
hub             : Linux 4.19.13-desktop-1.mga7 uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
unknown         : AuthenTec, Inc.|Fingerprint Sensor
hub             : Linux 4.19.13-desktop-1.mga7 uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
hub             : Linux 4.19.13-desktop-1.mga7 uhci_hcd|UHCI Host Controller [Hub|Unused|Full speed (or root) hub]
Comment 5 Ben McMonagle 2019-01-12 01:25:34 CET
(In reply to David GEIGER from comment #1)
> Please install gdb to debug it, then launch:
> 
> gdb -q -batch -ex run -ex backtrace projectM-pulseaudio
> 
> 
> And attach the output.

$ gdb -q -batch -ex run -ex backtrace projectM-pulseaudio
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe8d21700 (LWP 18908)]
[New Thread 0x7fffe21de700 (LWP 18918)]
[Detaching after fork from child process 18919]
dir:/usr/share/projectM/config.inp 
reading ~/.projectM/config.inp 
[New Thread 0x7fffd7ea7700 (LWP 18921)]
[New Thread 0x7fffd76a6700 (LWP 18922)]
libGL error: No matching fbConfigs or visuals found
[Thread 0x7fffd7ea7700 (LWP 18921) exited]
[Thread 0x7fffd76a6700 (LWP 18922) exited]
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
[New Thread 0x7fffd76a6700 (LWP 18923)]
[New Thread 0x7fffd7ea7700 (LWP 18924)]
[Thread 0x7fffd76a6700 (LWP 18923) exited]
unconnected: connecting...
connectHelper:  "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor"
CREATED
READY

Thread 7 "threaded-ml" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd7ea7700 (LWP 18924)]
0x000000000041f305 in QProjectM_MainWindow::addPCM(float*, unsigned int) ()
#0  0x000000000041f305 in QProjectM_MainWindow::addPCM(float*, unsigned int) ()
#1  0x000000000041c2e9 in QPulseAudioThread::stream_read_callback(pa_stream*, unsigned long, void*) ()
#2  0x00007ffff7f8e929 in ?? () from /usr/lib64/libpulse.so.0
#3  0x00007ffff6848fb5 in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#4  0x00007ffff684b96b in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#5  0x00007ffff684bd09 in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#6  0x00007ffff684c53a in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#7  0x00007ffff7fa2e88 in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0
#8  0x00007ffff7fa315c in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#9  0x00007ffff7fa3200 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#10 0x00007ffff7fb0c66 in ?? () from /usr/lib64/libpulse.so.0
#11 0x00007ffff685c118 in ?? () from /usr/lib64/pulseaudio/libpulsecommon-12.2.so
#12 0x00007ffff6778037 in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff698c8af in clone () from /usr/lib64/libc.so.6
Comment 6 Lewis Smith 2019-02-01 13:21:57 CET
Created attachment 10706 [details]
Terminal output from working projectM-pulseaudio

M7beta2round2 end Jan Classic x64 ISO, from Xfce via SDDM
Radeon video. I cannot find the pkg name for its version, but:

This thing works for me, both from Sound & Video menu and terminal (but what is its role in life?). NO crashes. Run repeatedly.
@Ben: please confirm or otherwise.

The attachment is the joined STDOUT + STDERR terminal output.

CC: (none) => lewyssmith

Comment 7 David GEIGER 2019-02-22 10:10:48 CET
Here on my cauldron system it works without segfault:

$ projectM-pulseaudio 
dir:/usr/share/projectM/config.inp 
reading ~/.projectM/config.inp 
[projectM] config file: /home/david/.projectM/config.inp
Failed to compile shader 'Fragment: blur1'. Error: 0:39(2): error: value of type int cannot be assigned to variable of type float

Failed to link program: error: linking with uncompiled/unspecialized shader
Failed to compile shader 'Fragment: blur2'. Error: 0:30(62): error: could not implicitly convert operands to arithmetic operator
0:30(12): error: no matching function for call to `min(float, error)'; candidates are:
0:30(12): error:    float min(float, float)
0:30(12): error:    vec2 min(vec2, float)
0:30(12): error:    vec3 min(vec3, float)
0:30(12): error:    vec4 min(vec4, float)
0:30(12): error:    vec2 min(vec2, vec2)
0:30(12): error:    vec3 min(vec3, vec3)
0:30(12): error:    vec4 min(vec4, vec4)
0:30(12): error:    int min(int, int)
0:30(12): error:    ivec2 min(ivec2, int)
0:30(12): error:    ivec3 min(ivec3, int)
0:30(12): error:    ivec4 min(ivec4, int)
0:30(12): error:    ivec2 min(ivec2, ivec2)
0:30(12): error:    ivec3 min(ivec3, ivec3)
0:30(12): error:    ivec4 min(ivec4, ivec4)
0:30(12): error:    uint min(uint, uint)
0:30(12): error:    uvec2 min(uvec2, uint)
0:30(12): error:    uvec3 min(uvec3, uint)
0:30(12): error:    uvec4 min(uvec4, uint)
0:30(12): error:    uvec2 min(uvec2, uvec2)
0:30(12): error:    uvec3 min(uvec3, uvec3)
0:30(12): error:    uvec4 min(uvec4, uvec4)
0:31(11): warning: `t' used uninitialized
0:35(2): error: value of type int cannot be assigned to variable of type float

Failed to link program: error: linking with uncompiled/unspecialized shader
[PresetFactory] url is idle://Geiss & Sperl - Feedback (projectM idle HDR mix).milk
unconnected: connecting...
connectHelper:  "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor"
CREATED
READY
TERMINATED
$
Lewis Smith 2019-02-23 09:34:50 CET

CC: lewyssmith => (none)

Comment 8 Ben McMonagle 2019-02-24 00:39:25 CET
fixed in m7-beta2 rnd#3

Resolution: (none) => FIXED
Status: NEW => RESOLVED