SIGBUS (signal SIGBUS: illegal alignment)

Hi, guys,I Created a FTextBlockStyle with Slate as an initialization parameter of FSlateTextRun. It works fine on the Visual Studio side, but crashes on the Android side.

This is my code:

const FTextBlockStyle& MessageTextStyle =
	FTextBlockStyle(FCoreStyle::Get().GetWidgetStyle<FTextBlockStyle>("NormalText"))
	.SetColorAndOpacity(TextBlockColor)
	.SetFont(FCoreStyle::GetDefaultFontStyle("Regular", LogFontSize))
	.SetSelectedBackgroundColor(LogColor_SelectionBackground);

TSharedRef<FString> LineText = Message->Message;
FRunInfo TempRunInfo = FRunInfo();
TSharedRef<IRun> TempIRunRef = FSlateTextRun::Create(TempRunInfo, LineText, MessageTextStyle); //crash 

I got this error:SIGBUS (signal SIGBUS: illegal alignment)

I printed the addresses of the two variables in Android Studio and found that the addresses are the same, I guess they are in the same memory block without memory alignment.
image

I moved the initialization of TextRunInfo to the front of MessageTextStyle, and there is no more crash on the Android side.

	FRunInfo TextRunInfo = FRunInfo();
	const FTextBlockStyle& MessageTextStyle = ...

I’m a UE5 novice, and I have two questions that I don’t understand. I hope someone can give me some pointers:

  1. Why are these two variables in the same memory block?
  2. Why did I advance the initialization position of TextRunInfo, the two variables are not in the same memory block.