This is a newer problem that started in late September 2022 after I updated to NextPVR 6.0.0.220904 Available (5th Sept 2022) and Linux Mint 21(.0 ie latest version in late September) at the same time, but I was likely still on the Jan or Feb 2022 release of NextPVR before late September. The assignment of recordings to available tuners hadn't been a problem during the prior 1-2 years of NextPVR releases.
Logs of the issue happening at 2 separate times are attached, this has been a nearly nightly problem of early recording termination while the tuner is reassigned to the next recording on a different channel while idle tuners are still available, so I can ~easily retest with any alternate log levels and settings. I've tested recording 4 different channel's recordings at once in the same NextPVR server instance (without restarting to clear any potential problems) and the four tuners are active and used as expected by NextPVR without errors.
I thought in the distant past I had come across a setting something like 'favor newer recordings over ending recordings on tuner conflicts' but haven't been able to locate that setting in the current NextPVR config xml files or interface. The closest setting in name is a <ForceRecordingServiceUse>true</ForceRecordingServiceUse> defaulted to true as it has been set in NextPVR versions since at least 2020-12 per incomplete history I've tracked.
The first occurrence of the tuner assignment issue can be found in nrecord.log search for timestamp 13:25:01.017
The 2nd occurrence of the tuner assignment issue can be found in nrecord.log search for timestamp 16:55:01.374
The log messages indicate the new recording fails on stream unavailable (presume means tuner in use?) so it ends the in-process recording to start the newer recording (when on a different channel frequency), rather than assign it to an idle tuner. I presume the service status (included below) errors are after affects of the tuner-in-use root cause and not truly the errors indicated of Can't retrieve DVB information for the new delivery system.: Bad file descriptor and adapterX.log entries of [ERROR] dvb_fe_set_parms failed and similar errors that stem from the Tuner In Use issue.
The systemctl status nextpvr-server output is below, I don't believe this gets captured into some of the NextPVR logs
● nextpvr-server.service - NextPVRServer
Loaded: loaded (/lib/systemd/system/nextpvr-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-11-13 08:29:47 PST; 9h ago
Process: 1633 ExecStart=/opt/nextpvr/shell/server.sh start (code=exited, status=0/SUCCESS)
Main PID: 1664 (dotnet)
Tasks: 55 (limit: 9284)
Memory: 3.5G
CPU: 47min 35.997s
CGroup: /system.slice/nextpvr-server.service
├─ 1664 /opt/dotnet/dotnet /opt/nextpvr/system/NextPVRServer.dll
├─ 2380 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:34295 -type:ATSC -device:adapter2/frontend0 -instance:1 -parent:1664
├─ 2433 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:32843 -type:ATSC -device:adapter3/frontend0 -instance:1 -parent:1664
├─ 2512 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:40103 -type:ATSC -device:adapter1/frontend0 -instance:1 -parent:1664
└─ 4372 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:41313 -type:ATSC -device:adapter0/frontend0 -instance:1 -parent:1664
Nov 13 16:58:00 ota-dvr-i7b server.sh[4372]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[4372]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[4372]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[4372]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
In late Sep when I updated Linux Mint 20.3 to 21.0 it wiped out the installed software including NextPVR, so NextPVR was a clean install and the LOG_LEVEL was defaulted to DEBUG but let me know if you want additional flags set to capture info during another instance of the tuner assignments. Thanks for your assistance!
Logs of the issue happening at 2 separate times are attached, this has been a nearly nightly problem of early recording termination while the tuner is reassigned to the next recording on a different channel while idle tuners are still available, so I can ~easily retest with any alternate log levels and settings. I've tested recording 4 different channel's recordings at once in the same NextPVR server instance (without restarting to clear any potential problems) and the four tuners are active and used as expected by NextPVR without errors.
I thought in the distant past I had come across a setting something like 'favor newer recordings over ending recordings on tuner conflicts' but haven't been able to locate that setting in the current NextPVR config xml files or interface. The closest setting in name is a <ForceRecordingServiceUse>true</ForceRecordingServiceUse> defaulted to true as it has been set in NextPVR versions since at least 2020-12 per incomplete history I've tracked.
The first occurrence of the tuner assignment issue can be found in nrecord.log search for timestamp 13:25:01.017
The 2nd occurrence of the tuner assignment issue can be found in nrecord.log search for timestamp 16:55:01.374
The log messages indicate the new recording fails on stream unavailable (presume means tuner in use?) so it ends the in-process recording to start the newer recording (when on a different channel frequency), rather than assign it to an idle tuner. I presume the service status (included below) errors are after affects of the tuner-in-use root cause and not truly the errors indicated of Can't retrieve DVB information for the new delivery system.: Bad file descriptor and adapterX.log entries of [ERROR] dvb_fe_set_parms failed and similar errors that stem from the Tuner In Use issue.
The systemctl status nextpvr-server output is below, I don't believe this gets captured into some of the NextPVR logs
● nextpvr-server.service - NextPVRServer
Loaded: loaded (/lib/systemd/system/nextpvr-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-11-13 08:29:47 PST; 9h ago
Process: 1633 ExecStart=/opt/nextpvr/shell/server.sh start (code=exited, status=0/SUCCESS)
Main PID: 1664 (dotnet)
Tasks: 55 (limit: 9284)
Memory: 3.5G
CPU: 47min 35.997s
CGroup: /system.slice/nextpvr-server.service
├─ 1664 /opt/dotnet/dotnet /opt/nextpvr/system/NextPVRServer.dll
├─ 2380 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:34295 -type:ATSC -device:adapter2/frontend0 -instance:1 -parent:1664
├─ 2433 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:32843 -type:ATSC -device:adapter3/frontend0 -instance:1 -parent:1664
├─ 2512 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:40103 -type:ATSC -device:adapter1/frontend0 -instance:1 -parent:1664
└─ 4372 /opt/nextpvr/system/DeviceHost/x64/DeviceHostLinux -listen:41313 -type:ATSC -device:adapter0/frontend0 -instance:1 -parent:1664
Nov 13 16:58:00 ota-dvr-i7b server.sh[4372]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[4372]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 16:58:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[4372]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[4372]: ERROR FE_SET_PROPERTY: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR Can't retrieve DVB information for the new delivery system.: Bad file descriptor
Nov 13 17:00:00 ota-dvr-i7b server.sh[2433]: ERROR FE_SET_PROPERTY: Bad file descriptor
In late Sep when I updated Linux Mint 20.3 to 21.0 it wiped out the installed software including NextPVR, so NextPVR was a clean install and the LOG_LEVEL was defaulted to DEBUG but let me know if you want additional flags set to capture info during another instance of the tuner assignments. Thanks for your assistance!