Skip to content

Bug-fixes: Various issues found during MBSF Uplift testing - #58

Merged
davidjwbbc merged 2 commits into
5G-MAG:developmentfrom
davidjwbbc:bug-fix/bad_weak_ptr-and-bad-transition
Apr 28, 2026
Merged

davidjwbbc merged 2 commits into
5G-MAG:developmentfrom
davidjwbbc:bug-fix/bad_weak_ptr-and-bad-transition

Conversation

@davidjwbbc

Copy link
Copy Markdown
Collaborator

Fixes for:

  • std::bad_weak_ptr raised in SubscriptionService objects during asynchronous event reporting.
  • Uncaught exception when a bad state transition is reported.

These were found during interactions with the MBSTF during testing for 5G-MAG/rt-mbs-function#27.

@davidjwbbc davidjwbbc added this to the Version 1.3.0 milestone Apr 15, 2026
@davidjwbbc davidjwbbc self-assigned this Apr 15, 2026
@davidjwbbc davidjwbbc added the bug Something isn't working label Apr 15, 2026
@jordijoangimenez

Copy link
Copy Markdown
Contributor

@davidjwbbc please do not hesitate to point us to particular test cases you would like to check. In any case, I believe next week we can have a full recap on this and make tests on the development branch if you prefer to start integrating all.

@davidjwbbc davidjwbbc moved this to Ready for review in 5MBS: User Services initial release Apr 15, 2026
@davidjwbbc

Copy link
Copy Markdown
Collaborator Author

Testing for this involved configuring the following UserDataIngSession on the MBSF using Insomnia and observing the state transitions happening on the MBSTF:

{
  "mbsUserServId": "{{ _.mbs_user_service_id }}",
  "mbsDisSessInfos": {
    "AP_MBS_SESSION_1": {
      "mbsSessionId": {
        "ssm": {
          "sourceIpAddr": {
            "ipv4Addr": "127.0.0.5"
          },
          "destIpAddr": {
            "ipv4Addr": "232.10.0.7"
          }
        }
      },
      "maxContBitRate": "10 Mbps",
      "distrMethod": "OBJECT",
      "objDistrInfo": {
        "operatingMode": "STREAMING",
        "objAcqMethod": "PULL",
        "objIngUri": "https://livesim2.dashif.org/livesim2/WAVE/vectors/cfhd_sets/12.5_25_50/t1/2022-10-17/",
        "objAcqIds": ["stream.mpd"],
        "objDistrUri": "http://127.0.0.2/"
      }
    }
  },
  "actPeriodsRepRule": {
    "startTime": "2026-04-07T10:30:00Z", "duration": 60, "repetitionInterval": 120
  },
  "suppFeat": "3"
}

The Distribution Session will be active (outputting a FLUTE session) during even numbered minutes and inactive (or preparing to activate) during odd numbered minutes.

@jordijoangimenez

Copy link
Copy Markdown
Contributor

Hi @davidjwbbc just to give you my log where I can see the expected behavior with the odd and even minutes: Giving you something between minute 36 and 38 with 37 with no activity:

04/23 14:36:48.027: [MBSTF] INFO: Object [003a6d3d-ce37-4157-8755-62d9c8479025] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:48.299: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:48.299: [MBSTF] INFO: Object added with ID: 6637a611-446b-4e86-80ed-f9163eb4d413 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:48.334: [MBSTF] INFO: Transmitted: Object with TOI: 1 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:48.334: [MBSTF] INFO: Object [6637a611-446b-4e86-80ed-f9163eb4d413] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:50.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:50.015: [MBSTF] INFO: Object added with ID: 2e292b7f-b76b-4dab-b18f-d2e64c03484e (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:50.034: [MBSTF] INFO: Transmitted: Object with TOI: 8 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:50.034: [MBSTF] INFO: Object [2e292b7f-b76b-4dab-b18f-d2e64c03484e] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:52.023: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:52.023: [MBSTF] INFO: Object added with ID: 32165bf2-54ed-42c8-b76b-5b85ecb9f9e6 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:52.034: [MBSTF] INFO: Transmitted: Object with TOI: 9 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:52.034: [MBSTF] INFO: Object [32165bf2-54ed-42c8-b76b-5b85ecb9f9e6] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:54.023: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:54.023: [MBSTF] INFO: Object added with ID: edbf54c3-4b7c-4cb7-9afb-039609974ef8 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:54.042: [MBSTF] INFO: Transmitted: Object with TOI: 10 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:54.042: [MBSTF] INFO: Object [edbf54c3-4b7c-4cb7-9afb-039609974ef8] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:56.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:56.015: [MBSTF] INFO: Object added with ID: fd66b3d3-5364-43a6-a0d4-3b4590401f12 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:56.032: [MBSTF] INFO: Transmitted: Object with TOI: 11 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:56.032: [MBSTF] INFO: Object [fd66b3d3-5364-43a6-a0d4-3b4590401f12] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:58.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:58.015: [MBSTF] INFO: Object added with ID: 7d6e67f6-1629-48d9-a6cd-f58158724de3 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:58.029: [MBSTF] INFO: Transmitted: Object with TOI: 12 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:58.029: [MBSTF] INFO: Object [7d6e67f6-1629-48d9-a6cd-f58158724de3] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:36:58.314: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:36:58.315: [MBSTF] INFO: Object added with ID: 6637a611-446b-4e86-80ed-f9163eb4d413 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:36:58.336: [MBSTF] INFO: Transmitted: Object with TOI: 1 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:36:58.336: [MBSTF] INFO: Object [6637a611-446b-4e86-80ed-f9163eb4d413] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:37:00.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:37:00.015: [MBSTF] INFO: Object added with ID: 30cac874-454f-48a8-9b00-a1edd4eca2cd (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:37:00.029: [MBSTF] INFO: Transmitted: Object with TOI: 13 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:37:00.029: [MBSTF] INFO: Object [30cac874-454f-48a8-9b00-a1edd4eca2cd] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:00.962: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:00.962: [MBSTF] INFO: Object added with ID: 6637a611-446b-4e86-80ed-f9163eb4d413 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:00.965: [MBSTF] INFO: Transmitted: Object with TOI: 1 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:00.965: [MBSTF] INFO: Object [6637a611-446b-4e86-80ed-f9163eb4d413] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:00.976: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:00.976: [MBSTF] INFO: Object added with ID: 6637a611-446b-4e86-80ed-f9163eb4d413 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:00.977: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:00.978: [MBSTF] INFO: Object added with ID: 6637a611-446b-4e86-80ed-f9163eb4d413 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:00.978: [MBSTF] INFO: Transmitted: Object with TOI: 1 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:00.978: [MBSTF] INFO: Object [6637a611-446b-4e86-80ed-f9163eb4d413] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:00.980: [MBSTF] INFO: Transmitted: Object with TOI: 1 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:00.980: [MBSTF] INFO: Object [6637a611-446b-4e86-80ed-f9163eb4d413] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:02.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:02.016: [MBSTF] INFO: Object added with ID: 8a86ec23-abf8-474f-9504-f2f424cd0279 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:02.016: [MBSTF] INFO: Transmitted: Object with TOI: 14 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:02.016: [MBSTF] INFO: Object [8a86ec23-abf8-474f-9504-f2f424cd0279] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:04.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:04.015: [MBSTF] INFO: Object added with ID: ad9c2968-e651-4d05-b324-951a77108fb1 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:04.016: [MBSTF] INFO: Transmitted: Object with TOI: 15 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:04.016: [MBSTF] INFO: Object [ad9c2968-e651-4d05-b324-951a77108fb1] sent (../src/mbstf/ObjectController.cc:78)
04/23 14:38:06.015: [MBSTF] INFO: ETag header not found. (../src/mbstf/Curl.cc:121)
04/23 14:38:06.015: [MBSTF] INFO: Object added with ID: 3bd2eb62-2713-417e-8b09-73825a3be9a9 (../src/mbstf/ObjectStreamingController.cc:108)
04/23 14:38:06.015: [MBSTF] INFO: Transmitted: Object with TOI: 16 (../src/mbstf/ObjectListPackager.cc:188)
04/23 14:38:06.015: [MBSTF] INFO: Object [3bd2eb62-2713-417e-8b09-73825a3be9a9] sent (../src/mbstf/ObjectController.cc:78)

@jordijoangimenez

jordijoangimenez commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

@davidjwbbc, can you comment about the events INFO: ETag header not found. and the object with TOI=1 being repeated in between the sequence of increasing TOIs?

@davidjwbbc

davidjwbbc commented Apr 23, 2026

Copy link
Copy Markdown
Collaborator Author

@davidjwbbc, can you comment about the events INFO: ETag header not found. and the object with TOI=1 being repeated in between the sequence of increasing TOIs?

[edit: just noticed this is a STREAMING, not CAROUSEL mode Distribution Session]

The INFO: ETag header not found. is an output from the Curl class to indicate it didn't see an ETag header in the object fetch. This means it cannot make requests with the If-None-Match header to determine if an object from the server hasn't been updated.

The TOI=1 object will be MPD from the stream and is reinserted at its refresh time. It is therefore repeated several times during stream output. The other TOIs are the initialisation segments or media segments, hence the incrementing number for those.

By the way, the PR I did for the rt-mbs-examples updates the express server to output ETags

@davidjwbbc
davidjwbbc merged commit 33f80b6 into 5G-MAG:development Apr 28, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Ready for review to Done in 5MBS: User Services initial release Apr 28, 2026
@davidjwbbc
davidjwbbc deleted the bug-fix/bad_weak_ptr-and-bad-transition branch April 28, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

Development

Successfully merging this pull request may close these issues.

3 participants