Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Android][New Arch][Dev Mode] App crashes with error in RN core, if a property name is long (but less than kPropNameLengthHardCap) #39019

Closed
birdofpreyru opened this issue Aug 15, 2023 · 11 comments
Labels
Needs: Attention Issues where the author has responded to feedback. Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Needs: Version Info Platform: Android Android applications. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)

Comments

@birdofpreyru
Copy link
Contributor

birdofpreyru commented Aug 15, 2023

Description

Hi folks 👋 Can you have a quick look at this issue I've opened in react-native-webview repo (especially my second message there)? I was troubleshooting it crashing my app if I enable the new arch and run it in dev (and only in dev mode — no crash in the release one); and I seemingly traced it down to an assertion tripped inside RN core's RawPropsKeyMap.cpp, if I use a property which name is 38 symbols long... and I have no issue if I just shorten the property name down to 10 symbols... and from a brief look at the RN code, it seems the current prop name limit is supposed to be 64 symbols. Soo... my current impression, it is either I found a bug in RN core, or RN does not gracefully report a component violating some internal limit.

React Native Version

0.72.4

Output of npx react-native info

N/A

Steps to reproduce

N/A

Snack, code example, screenshot, or link to a repository

N/A

@birdofpreyru birdofpreyru added Needs: Triage 🔍 Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules) labels Aug 15, 2023
@github-actions
Copy link

⚠️ Add or Reformat Version Info
ℹ️ We could not find or parse the version number of React Native in your issue report. Please use the template, and report your version including major, minor, and patch numbers - e.g. 0.70.2

@github-actions
Copy link

⚠️ Missing Reproducible Example
ℹ️ We could not detect a reproducible example in your issue report. Please provide either:
  • If your bug is UI related: a Snack
  • If your bug is build/update related: use our Reproducer Template. A reproducer needs to be in a GitHub repository under your username.

@github-actions github-actions bot added Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Needs: Author Feedback Platform: Android Android applications. labels Aug 15, 2023
@birdofpreyru
Copy link
Contributor Author

One step further, I've added debug logging prior to the following line, where my example crashes:

and the values I got when the assertion trips:

  • nameinjectedJavaScriptBeforeContentLoaded
  • length37
  • lower255
  • upper0

Without yet fully understanding what that code does, seeing 255 and 0 as lower and upper bounds in a place where you do some operations with unsigned 1-byte integer, makes me thing there is some rollover mistake, like you expect 0-1 = -1, but rather get 0-1 = 255 in this case.

And in the release mode, it is not a crash, because the assertion is not executed there, and the binary search below, presumably, still able to find the necessary element even with this mistake.

@github-actions github-actions bot added Needs: Attention Issues where the author has responded to feedback. and removed Needs: Author Feedback labels Aug 15, 2023
@birdofpreyru
Copy link
Contributor Author

And here are all bucket values prior to the crash:

08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 0: 0
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 1: 0
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 2: 0
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 3: 3
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 4: 5
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 5: 8
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 6: 14
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 7: 19
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 8: 28
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 9: 44
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 10: 51
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 11: 66
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 12: 79
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 13: 89
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 14: 103
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 15: 116
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 16: 133
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 17: 149
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 18: 162
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 19: 176
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 20: 190
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 21: 205
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 22: 213
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 23: 222
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 24: 225
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 25: 230
08-15 19:19:43.573  5039  5093 E ReactNativeJNI:  > 26: 231
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 27: 234
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 28: 236
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 29: 238
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 30: 242
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 31: 247
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 32: 251
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 33: 252
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 34: 254
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 35: 255
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 36: 255
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 37: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 38: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 39: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 40: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 41: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 42: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 43: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 44: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 45: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 46: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 47: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 48: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 49: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 50: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 51: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 52: 1
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 53: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 54: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 55: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 56: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 57: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 58: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 59: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 60: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 61: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 62: 2
08-15 19:19:43.574  5039  5093 E ReactNativeJNI:  > 63: 2

@birdofpreyru
Copy link
Contributor Author

And here are all bucket names:

08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 0> end
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 1> gap
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 2> top
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 3> flex
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 4> left
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 5> right
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 6> start
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 7> width
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 8> bottom
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 9> height
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 10> margin
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 11> rowGap
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 12> testID
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 13> zIndex
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 14> bounces
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 15> display
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 16> hitSlop
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 17> opacity
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 18> padding
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 19> flexGrow
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 20> flexWrap
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 21> maxWidth
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 22> minWidth
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 23> nativeID
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 24> onLayout
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 25> overflow
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 26> position
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 27> textZoom
08-15 19:24:12.915  5218  5267 E ReactNativeJNI: ITEM 28> alignSelf
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 29> cacheMode
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 30> columnGap
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 31> direction
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 32> elevation
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 33> flexBasis
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 34> focusable
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 35> incognito
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 36> marginEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 37> marginTop
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 38> maxHeight
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 39> menuItems
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 40> minHeight
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 41> newSource
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 42> transform
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 43> userAgent
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 44> accessible
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 45> alignItems
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 46> flexShrink
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 47> marginLeft
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 48> onTouchEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 49> paddingEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 50> paddingTop
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 51> aspectRatio
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 52> borderColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 53> borderCurve
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 54> borderStyle
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 55> borderWidth
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 56> collapsable
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 57> contentMode
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 58> forceDarkOn
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 59> hasOnScroll
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 60> marginBlock
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 61> marginRight
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 62> marginStart
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 63> onTouchMove
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 64> paddingLeft
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 65> shadowColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 66> alignContent
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 67> borderRadius
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 68> cacheEnabled
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 69> contentInset
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 70> marginBottom
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 71> marginInline
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 72> onPointerOut
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 73> onTouchStart
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 74> paddingBlock
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 75> paddingRight
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 76> paddingStart
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 77> shadowOffset
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 78> shadowRadius
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 79> flexDirection
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 80> onPointerMove
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 81> onPointerOver
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 82> onTouchCancel
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 83> paddingBottom
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 84> paddingInline
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 85> pagingEnabled
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 86> pointerEvents
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 87> scrollEnabled
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 88> shadowOpacity
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 89> borderEndColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 90> borderEndStyle
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 91> borderEndWidth
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 92> borderTopColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 93> borderTopStyle
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 94> borderTopWidth
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 95> enableApplePay
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 96> justifyContent
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 97> marginBlockEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 98> marginVertical
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 99> onPointerEnter
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 100> onPointerLeave
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 101> onResponderEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 102> overScrollMode
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 103> allowFileAccess
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 104> backgroundColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 105> borderLeftColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 106> borderLeftStyle
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 107> borderLeftWidth
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 108> foregroundColor
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 109> marginInlineEnd
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 110> minimumFontSize
08-15 19:24:12.916  5218  5267 E ReactNativeJNI: ITEM 111> onResponderMove
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 112> paddingBlockEnd
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 113> paddingVertical
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 114> scalesPageToFit
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 115> shouldRasterize
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 116> androidLayerType
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 117> borderBlockColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 118> borderBlockStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 119> borderRightColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 120> borderRightStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 121> borderRightWidth
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 122> borderStartColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 123> borderStartStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 124> borderStartWidth
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 125> decelerationRate
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 126> marginBlockStart
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 127> marginHorizontal
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 128> messagingEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 129> mixedContentMode
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 130> onResponderGrant
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 131> onResponderStart
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 132> paddingInlineEnd
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 133> accessibilityHint
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 134> accessibilityRole
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 135> allowsLinkPreview
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 136> borderBottomColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 137> borderBottomStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 138> borderBottomWidth
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 139> borderEndEndCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 140> borderTopEndCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 141> dataDetectorTypes
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 142> domStorageEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 143> hasOnFileDownload
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 144> javaScriptEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 145> marginInlineStart
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 146> onResponderReject
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 147> paddingBlockStart
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 148> paddingHorizontal
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 149> accessibilityLabel
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 150> accessibilityState
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 151> accessibilityValue
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 152> backfaceVisibility
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 153> borderEndEndRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 154> borderTopEndRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 155> borderTopLeftCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 156> downloadingMessage
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 157> geolocationEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 158> injectedJavaScript
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 159> onAccessibilityTap
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 160> onResponderRelease
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 161> paddingInlineStart
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 162> basicAuthCredential
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 163> borderBlockEndColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 164> borderBlockEndStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 165> borderEndStartCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 166> borderStartEndCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 167> borderTopLeftRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 168> borderTopRightCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 169> borderTopStartCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 170> borderVerticalColor
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 171> borderVerticalStyle
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 172> borderVerticalWidth
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 173> hasTVPreferredFocus
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 174> messagingModuleName
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 175> nestedScrollEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 176> accessibilityActions
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 177> allowsProtectedMedia
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 178> borderBottomEndCurve
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 179> borderEndStartRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 180> borderStartEndRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 181> borderTopRightRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 182> borderTopStartRadius
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 183> hasOnOpenWindowEvent
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 184> onPointerMoveCapture
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 185> onResponderTerminate
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 186> pullToRefreshEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 187> saveFormDataDisabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 188> sharedCookiesEnabled
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 189> useSharedProcessPool
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 190> accessibilityLanguage
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 191> allowsFullscreenVideo
08-15 19:24:12.917  5218  5267 E ReactNativeJNI: ITEM 192> borderBlockStartColor
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 193> borderBlockStartStyle
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 194> borderBottomEndRadius
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 195> borderBottomLeftCurve
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 196> borderHorizontalColor
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 197> borderHorizontalStyle
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 198> borderHorizontalWidth
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 199> borderStartStartCurve
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 200> onAccessibilityAction
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 201> onAccessibilityEscape
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 202> onPointerEnterCapture
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 203> onPointerLeaveCapture
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 204> removeClippedSubviews
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 205> borderBottomLeftRadius
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 206> borderBottomRightCurve
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 207> borderBottomStartCurve
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 208> borderStartStartRadius
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 209> directionalLockEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 210> setBuiltInZoomControls
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 211> setDisplayZoomControls
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 212> textInteractionEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 213> accessibilityLabelledBy
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 214> accessibilityLiveRegion
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 215> allowingReadAccessToURL
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 216> borderBottomRightRadius
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 217> borderBottomStartRadius
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 218> nativeBackgroundAndroid
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 219> nativeForegroundAndroid
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 220> onAccessibilityMagicTap
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 221> webviewDebuggingEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 222> accessibilityViewIsModal
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 223> onMoveShouldSetResponder
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 224> thirdPartyCookiesEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 225> allowsInlineMediaPlayback
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 226> hideKeyboardAccessoryView
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 227> importantForAccessibility
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 228> onStartShouldSetResponder
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 229> setSupportMultipleWindows
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 230> autoManageStatusBarEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 231> accessibilityElementsHidden
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 232> allowFileAccessFromFileURLs
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 233> applicationNameForUserAgent
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 234> onShouldBlockNativeResponder
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 235> showsVerticalScrollIndicator
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 236> allowsAirPlayForMediaPlayback
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 237> onResponderTerminationRequest
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 238> contentInsetAdjustmentBehavior
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 239> needsOffscreenAlphaCompositing
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 240> renderToHardwareTextureAndroid
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 241> showsHorizontalScrollIndicator
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 242> fraudulentWebsiteWarningEnabled
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 243> lackPermissionToDownloadMessage
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 244> mediaCapturePermissionGrantType
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 245> mediaPlaybackRequiresUserAction
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 246> onMoveShouldSetResponderCapture
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 247> accessibilityIgnoresInvertColors
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 248> allowUniversalAccessFromFileURLs
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 249> automaticallyAdjustContentInsets
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 250> onStartShouldSetResponderCapture
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 251> keyboardDisplayRequiresUserAction
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 252> injectedJavaScriptForMainFrameOnly
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 253> limitsNavigationsToAppBoundDomains
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 254> allowsBackForwardNavigationGestures
08-15 19:24:12.918  5218  5267 E ReactNativeJNI: ITEM 255> injectedJavaScriptBeforeContentLoaded

@birdofpreyru
Copy link
Contributor Author

So... in react-native-webview there are a few props on this component larger than injectedJavaScriptBeforeContentLoaded, e.g. injectedJavaScriptBeforeContentLoadedForMainFrameOnly. I guess, the map code makes some mistakes, attempting to put them into buckets with indices above 255... but, sure, there is only 256 buckets with indices from 0 to 255, by design, I guess? :)

@birdofpreyru
Copy link
Contributor Author

Or... is there a hard limit of max 256 props on a component? Then the problem is that RN does not test it somewhere before, and does not interrupt the build with a clear error message.

@ecreeth
Copy link
Contributor

ecreeth commented Aug 15, 2023

#39008

@NickGerleman
Copy link
Contributor

Yep, fixed by the above commit. Feel free to make a pick request.

@birdofpreyru
Copy link
Contributor Author

@NickGerleman where do I ask for the pick?

@NickGerleman
Copy link
Contributor

@NickGerleman where do I ask for the pick?

reactwg/react-native-releases#85

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Needs: Attention Issues where the author has responded to feedback. Needs: Repro This issue could be improved with a clear list of steps to reproduce the issue. Needs: Version Info Platform: Android Android applications. Type: New Architecture Issues and PRs related to new architecture (Fabric/Turbo Modules)
Projects
None yet
Development

No branches or pull requests

3 participants