Mojira Archive
MCM-1584

(Breaks existing content) Existing content using $title_shadow in custom UI files will hard lock and write massive content log data.

Partner Rank: 1

Verification Builds: 1.19.40

Regression Builds: 1.19.22

Summary: Changes made to the games hud_screen.json file that override the 'hud_title_text' element in 1.19.40 can cause existing content that also uses 'hud_title_text' from older versions to cause a hard lock on the client, requiring a restart to fix. Some existing content on the marketplace will use this method in older version, making then unable to function correctly. This has no visual feedback other than a client freeze.

Impact: Custom UI is being used more, and one of the most common methods of triggering custom animation sequences, such as cinematic fades, is to play a title with a pre defined value, such as

/title @s title client_crash

Using versions of 'hud_title_text' from 1.19.22 or lower that include '$text_shadow' via'"requires": "$title_shadow"', when played in 1.19.40 with a triggered title, the client will hard lock, and require a restart to recover. This requires content to be updated to 1.19.40 and ** cannot be backwards compatible due to 1.19.22 and below not supporting the new '$text_shadow' variable.

1.19.40 lines 1951, 1955, 2018, 2022

On developer versions this writes data to the content file. However, this lock can write very large log files, 20MB per second. This issue is somewhat hidden, can be a difficult to resolve if you are unaware of the change to the UI system.

Repro Steps:

  1. Download and install the world provided using 1.19.40
  1. Load world and enter /title @s title client_crash
  1. Game will hard lock, required termination to exit via task manager
  2. Open world files, navigate to resource_packs/0/ui/hud_screen.json
  1. Uncomment lines 55 to 62, and comment out lines 44 to 51
  1. Save and load world, enter /title @s title client_crash
  2. Game will no longer lock and will display the title normally

Repro Rate: 3/3

Observed Results: Instead of playing the title, the client will freeze and be unresponsive until terminated.

Expected Results: The title should play with a content warning, with the UI defaulting back to the vanilla behavior.

Notes: Content log line form logs

'16:38:08[UI][warning]-UI Control: hud_title_text | UI Control: title_frame | UI Control Key: title | Expected variable not found in ancestor tree: '$title_shadow''

Unresolved

hyperbeemex

2022-09-09, 06:55 PM

2022-09-12, 07:13 PM

3

1

Future Release

-