Skip to content

[iOS] Multiple request handler error when trying to show an image #16159

@tsjamm

Description

@tsjamm

Is this a bug report?

Yes

Have you read the Contributing Guidelines?

Yes

Environment

Environment:
OS: macOS Sierra 10.12.6
Node: 6.11.2
Yarn: Not Found
npm: 3.10.10
Watchman: 4.6.0
Xcode: Xcode 9.0 Build version 9A235
Android Studio: 2.3 AI-162.4069837

Packages: (wanted => installed)
react: 16.0.0-alpha.12 => 16.0.0-alpha.12
react-native: 0.48.4 => 0.48.4

Target Platform: iOS (11)

Issue

simulator screen shot - iphone 6s - 2017-10-01 at 19 56 15

RCTImageStoreManager and RCTBlobManager both have a priority of 0.

I sat debugging in XCode and printed the following list of handlers and their corresponding priorities in the function handlerForRequest in RCTNetworking.mm

<RCTImageLoader: 0x6040000f1680>
Priority=1.000000
<RCTImageStoreManager: 0x604000238120>
Priority=0.000000
<RCTBlobManager: 0x60000025d760>
Priority=0.000000
<RCTFileRequestHandler: 0x60400000d2f0>
Priority=0.000000
<RCTDataRequestHandler: 0x60400000d360>
Priority=0.000000
<RCTHTTPRequestHandler: 0x6040000ab760>
Priority=0.000000

I am assuming the priority should be given to the ImageStoreManager over the BlobManager.
This further implies that ImageLoader's Priority should be higher.

When I went and manually changed the priorities, it seemed to not crash, but not sure if this is the right fix.

<RCTImageLoader: 0x6040000f1680>
Priority=2.000000
<RCTImageStoreManager: 0x604000238120>
Priority=1.000000
<RCTBlobManager: 0x60000025d760>
Priority=0.000000
<RCTFileRequestHandler: 0x60400000d2f0>
Priority=0.000000
<RCTDataRequestHandler: 0x60400000d360>
Priority=0.000000
<RCTHTTPRequestHandler: 0x6040000ab760>
Priority=0.000000

This issue had been faced by others in the closed issue: 9031
#9031 (comment)

For more context, I was using HTMLView from the react-native-htmlview npm package
https://www.npmjs.com/package/react-native-htmlview
and happens when I load html fetched from a server, which contains an image tag with this source. I'm not sure if this issue is specific to HTMLView but seems more like a ReactNative issue, so posting here. Let me know if you think otherwise, or need more information

Metadata

Metadata

Assignees

No one assigned

    Labels

    StaleThere has been a lack of activity on this issue and it may be closed soon.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions