ElvishArtisan / rivendell

A full-featured radio automation system targeted for use in professional broadcast and media environments
197 stars 63 forks source link

Rdirplay Crashes when user Logs In #913

Closed tmisilo closed 7 months ago

tmisilo commented 9 months ago

We have experienced 2 times where when A user logs using rdlogin and changes users, or returns to the default user rdairpaly crashes.

From /var/log/messages

First Occurance Sep 22 18:18:01 RivendellStudioA rdairplay: user changed to 'TJ' Sep 22 18:18:02 RivendellStudioA kernel: rdairplay[1978]: segfault at 68 ip 00007ff70712616d sp 00007ffcd3573330 error 4 in librd-4.1.0.so[7ff706c96000+a6b000] Sep 22 18:18:47 RivendellStudioA rdairplay: log machine 1 mode set to AUTO Sep 22 18:18:47 RivendellStudioA rdairplay: log machine 2 mode set to AUTO Sep 22 18:18:47 RivendellStudioA rdairplay: log machine 3 mode set to AUTO Sep 22 18:18:47 RivendellStudioA rdairplay: RDAirPlay started Sep 22 18:18:47 RivendellStudioA rdairplay: user changed to 'TJ' Sep 22 18:18:53 RivendellStudioA ripcd: received rml: "LL 1 Default_1800!" from ::ffff:127.0.0.1 Sep 22 18:18:53 RivendellStudioA ripcd: received rml: "LL 2 WFIT-0922!" from ::ffff:127.0.0.1 Sep 22 18:18:53 RivendellStudioA rdairplay: loaded log 'Default_1800' in Main Log Sep 22 18:18:55 RivendellStudioA rdairplay: loaded log 'WFIT-0922' in Aux 1 Log Sep 22 18:18:55 RivendellStudioA ripcd: received rml: "MN 1 1!" from ::ffff:127.0.0.1 Sep 22 18:18:55 RivendellStudioA ripcd: received rml: "MN 2 736!" from ::ffff:127.0.0.1 Sep 22 18:18:55 RivendellStudioA ripcd: received rml: "PN 2!" from ::ffff:127.0.0.1 Sep 22 18:18:55 RivendellStudioA caed: LoadPlayback Card: 0 Stream: 0 Name: /var/snd/100561_001.wav Handle: 67 Sep 22 18:18:55 RivendellStudioA rdairplay: log engine: started audio cart: Line: 736 Cart: 100561 Cut: 1 Pos: 0 Card: 0 Stream: 0 Port: 0 Sep 22 18:18:55 RivendellStudioA caed: PlaybackPosition - Card: 0 Stream: 0 Pos: 0 Handle: 67 Sep 22 18:18:55 RivendellStudioA caed: Play - Card: 0 Stream: 0 Handle: 67 Length: 3477003 Speed: 100075 Pitch: 0

Second Event: Sep 22 18:59:44 RivendellStudioA rdairplay: user changed to 'FundDriveUser' Sep 22 18:59:45 RivendellStudioA kernel: rdairplay[26381]: segfault at 68 ip 00007f98cc44816d sp 00007ffe62b4cb70 error 4 in librd-4.1.0.so[7f98cbfb8000+a6b000] Sep 22 18:59:59 RivendellStudioA rdairplay: log machine 1 mode set to AUTO Sep 22 18:59:59 RivendellStudioA rdairplay: log machine 2 mode set to AUTO Sep 22 18:59:59 RivendellStudioA rdairplay: log machine 3 mode set to AUTO Sep 22 18:59:59 RivendellStudioA rdairplay: RDAirPlay started Sep 22 18:59:59 RivendellStudioA rdairplay: user changed to 'FundDriveUser' Sep 22 19:00:05 RivendellStudioA ripcd: received rml: "LL 1 Default_1900!" from ::ffff:127.0.0.1 Sep 22 19:00:05 RivendellStudioA ripcd: received rml: "LL 2 WFIT-0922!" from ::ffff:127.0.0.1 Sep 22 19:00:05 RivendellStudioA rdairplay: loaded log 'Default_1900' in Main Log Sep 22 19:00:08 RivendellStudioA rdairplay: loaded log 'WFIT-0922' in Aux 1 Log Sep 22 19:00:08 RivendellStudioA ripcd: received rml: "MN 1 1!" from ::ffff:127.0.0.1 Sep 22 19:00:08 RivendellStudioA ripcd: received rml: "MN 2 737!" from ::ffff:127.0.0.1 Sep 22 19:00:08 RivendellStudioA ripcd: received rml: "PN 2!" from ::ffff:127.0.0.1 Sep 22 19:00:08 RivendellStudioA rdairplay: log engine: started macro cart: Line: 737 Cart: 50056 Sep 22 19:00:19 RivendellStudioA caed: LoadPlayback Card: 0 Stream: 0 Name: /var/snd/100561_001.wav Handle: 72

Third Event:

Sep 23 11:59:55 RivendellStudioA rdairplay: user changed to 'Mary' Sep 23 11:59:57 RivendellStudioA kernel: traps: rdairplay[27068] general protection ip:7f8a96e8a16d sp:7ffe47cd83a0 error:0 in librd-4.1.0.so[7f8a969fa000+a6b000] Sep 23 11:59:57 RivendellStudioA kernel: traps: rdpanel[7307] general protection ip:7fe8c9b9e16d sp:7ffceab622d0 error:0 in librd-4.1.0.so[7fe8c970e000+a6b000] Sep 23 12:00:59 RivendellStudioA rdairplay: log machine 1 mode set to AUTO Sep 23 12:00:59 RivendellStudioA rdairplay: log machine 2 mode set to AUTO Sep 23 12:00:59 RivendellStudioA rdairplay: log machine 3 mode set to AUTO Sep 23 12:00:59 RivendellStudioA rdairplay: RDAirPlay started Sep 23 12:00:59 RivendellStudioA rdairplay: user changed to 'Mary'

I will work on finding a repeatable method to reproduce.

OS: CentOS 7 Rivendell Version 4.1.0, upgraded from 2.19 to 3.6 then 4.1

tmisilo commented 9 months ago

This appears to happen when changing users when airplay is actively playing audio.

ElvishArtisan commented 9 months ago

Confirmed here.

ElvishArtisan commented 9 months ago

Fixed in branch 'v4'.

This turned into a fairly aggressive refactoring of the SoundPanel code. Please test it as throughly as you are able!

vizubeat commented 8 months ago

@ElvishArtisan Hi Fred, just wondering if there's any ETA on this fix being released? This with the other reported 4.1.0 bugs are holding us back from moving away from 1.7.1 on the old RRAbuntu release! I will also reach out to Paravel directly about support. Thank you.

ElvishArtisan commented 8 months ago

Planning to cut a release after knocking out the current set of reported issues here.