Page MenuHomeWildfire Games

Fix rP24740 issue revealed by mac tests
ClosedPublic

Authored by wraitii on Jan 21 2021, 9:22 AM.

Details

Reviewers
vladislavbelov
Commits
rP24742: Fix issue with rP24740
Trac Tickets
#5950
Summary

See rP24740
I believe short string optimisation invalidates the pointers in string_view and breaks the code. Using a deque no longer invalidates the pointers, and things work.

Given that this is a rather annoying breakage, particularly since it prevents making bundles, I'll commit ASAP and let Vladislav fix it differently if he wants to.

Test Plan

Run mac tests.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

wraitii created this revision.Jan 21 2021, 9:22 AM
Owners added a subscriber: Restricted Owners Package.Jan 21 2021, 9:22 AM

This says SSO max size is "15 GCC/MSVC - 23 for clang", and #line 1\n42\n#line 4 is 20, which falls right in the middle, so I'm fairly sure it's that.

Build is green

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics_dbg.a(precompiled.o) has no symbols
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/C

See https://jenkins.wildfiregames.com/job/macos-differential/3001/display/redirect for more details.

vladislavbelov published this revision for review.Jan 21 2021, 9:33 AM
vladislavbelov accepted this revision.
This revision is now accepted and ready to land.Jan 21 2021, 9:33 AM
vladislavbelov added inline comments.Jan 21 2021, 9:33 AM
source/graphics/PreprocessorWrapper.cpp
29 โ†—(On Diff #15593)

Replace vector by deque.

๐Ÿ‘

source/graphics/PreprocessorWrapper.cpp
232 โ†—(On Diff #15593)

I'll add a comment specifying why we use deque

This revision was automatically updated to reflect the committed changes.