[SOLVED] IGMP proxy not releasing streams after upgrading to 24.7

Started by jorisvervuurt, July 25, 2024, 02:17:43 PM

Previous topic - Next topic
Quote from: franco on July 26, 2024, 08:05:55 PM
# opnsene-update -zkr 24.7_5

Last one for triage, then we should continue structurally in the ticket.


Thanks,
Franco

Thanks for this last try this evening on a Friday!
Unfortunately, this one didn't fix the issue either. :(

For now, we'll just have to be very careful not to 'zap' between TV channels too fast and better plan which channels to watch. I hope the people I live with accept that for now. :P Hopefully more luck next week; have a nice weekend!

Thanks so far. At least we have a starting point.


Cheers,
Franco

As i said yesterday i would test the updates, but just like Joris neither of them worked for me.  :-\

Thanks, but no worries. These were the obvious things to try, but it just showed us that we need to look elsewhere in the kernel which will take a bit more coordination and code review.


Cheers,
Franco

July 27, 2024, 03:30:21 PM #19 Last Edit: July 27, 2024, 03:36:35 PM by jorisvervuurt
Thanks Franco. Unfortunately I have just discovered another related issue.
After a day of OPNsense running and the TV being used occasionally, somehow TV channels start stuttering after a few seconds (even if the traffic graph does not show abnormal things). I have checked the logs but didn't see anything related to this.

Restarting the IGMP proxy service seems to have fixed the stuttering... probably related to all the streams that haven't been released?

While I'm happy to assist with the operational things pertaining to software I have no way to test this myself.


Cheers,
Franco

I understand. I think the main issue is that unsubscribe requests aren't handled correctly. That's just a multicast thing. IGMP proxy probably doesn't handle that properly causing the stuttering (which explains why restarting the service fixes the stuttering).

I think this issue will be fixed as well if the streams are correctly released after the unsubscribe request. I will be available to test stuff next week; I'm more than happy to test potential fixes.

Interesting. Im using IGMP to watch tv too.

So I tried to replicate issue (to know how Im affected), but it is not happening to me - cant replicated described behavior.

Can you please help me diagnose, how do you noticed that issue is happening?

Quote from: mnaim on July 28, 2024, 12:22:32 AM
Can you please help me diagnose, how do you noticed that issue is happening?

It's quite simple; basically open the OPNsense dashboard and watch the traffic graph. Turn on your TV and you should see the traffic increase to a certain level. Then switch to the next TV channel and you will see the traffic graph increase again. It should only increase shortly (it did before) but after the 24.7 update, the traffic no longer reduces. Now switch again to the next TV channel and you will see another increase. This keeps happening with each switch to the next TV channel.

Quote from: jorisvervuurt on July 27, 2024, 03:39:35 PM
I think this issue will be fixed as well if the streams are correctly released after the unsubscribe request. I will be available to test stuff next week; I'm more than happy to test potential fixes.

I seem to have the same problems. Restarting IGMP proxy is the workaround I use for now. Happy to help with testing/sharing my config when needed.

Best regards.

Good morning.

New test kernel:

# opnsense-update -zkr 24.7_9


Cheers,
Franco

Quote from: franco on July 29, 2024, 10:42:39 AM
Good morning.

New test kernel:

# opnsense-update -zkr 24.7_9


Cheers,
Franco

Already replied on GitHub, but that one seems to have fixed the problem!
Thanks so much. :)

Just out of curiosity; what was the actual issue? Not sure if it's too complex to explain of course.

Thanks for confirming.  8)

Here is the timeline...

1. Bad fix introduced to FreeBSD main 31.08.23 https://cgit.freebsd.org/src/commit/?id=fa03d37432
2. Bad fix cherry-picked to FreeBSD stable/14 branch07.09.23 https://cgit.freebsd.org/src/commit/?id=70fbe797c0
3. FreeBSD 14.0 released based on broken releng/14.0 (from stable/14) state 20.11.23
3. Bad fix removed from FreeBSD main 14.12.23 https://cgit.freebsd.org/src/commit/?id=c196e43243b8
4. Proper fix introduced to FreeBSD main 14.12.23 https://cgit.freebsd.org/src/commit/?id=c2e340452c1
5. FreeBSD 14.1 released based on broken releng/14.0 (from stable/14) state 04.06.24

I've added these two commits for 24.7.1 (which are in 24.7_9 as tested):

https://github.com/opnsense/src/commit/48570316
https://github.com/opnsense/src/commit/e81800f6a


Cheers,
Franco

July 29, 2024, 12:13:29 PM #28 Last Edit: July 29, 2024, 12:15:04 PM by jorisvervuurt
Cool! I noticed only the IPv4 file has changes; I haven't checked the IPv6 file, but should that one be changed as well? :)

https://github.com/opnsense/src/blob/stable/24.7/sys/netinet6/in6_mcast.c

No, no changes vs. FreeBSD main.

What I find odd is that the committer had 5 months to bring this to FreeBSD 14.1 after breaking it in FreeBSD 14.0 but it would rather have it remain broken in both versions. This is literally 10 seconds worth of work it would have needed to be fixed in FreeBSD 14.1. ;)


Cheers,
Franco