Frequent connection lost, error 1016, for several days

For the past several days, I’ve been experiencing frequent instances of connection loss in the middle of games (as often as every 3-5 minutes sometimes). Each time, I get an Error 1016 Connection Lost dialog, and when I look at the Battle.net app, it shows I’m disconnected.

Something like this shows up in the D3Debug.txt file:

2020.11.10 23:04:19.399443031  Initializing client world X1_LR_Level_04...
2020.11.10 23:04:52.649856785  [Telemetry] (TELE): Requested sending batch messages by multi-part http POST messages count 1
2020.11.10 23:05:17.636669035  Enabling loading screen for 4, 4
2020.11.10 23:05:17.638414569  Disposing UI for World
2020.11.10 23:05:17.656923629  Disabling loading screen for 1, 4
2020.11.10 23:05:19.856812299  Error purging stream from bank 'X1_WorldAmbience_Catacombs', (sample index = 7)
2020.11.10 23:05:19.858378668  Error purging stream from bank 'Weather', (sample index = 0)
2020.11.10 23:05:19.925957135  Error purging stream from bank 'X1_WorldAmbience_Catacombs', (sample index = 7)
2020.11.10 23:05:19.927347922  Error purging stream from bank 'Weather', (sample index = 0)
2020.11.10 23:05:20.169957593  Error purging stream from bank 'X1_WorldAmbience_Catacombs', (sample index = 7)
2020.11.10 23:05:20.171196360  Error purging stream from bank 'Weather', (sample index = 0)
2020.11.10 23:05:20.362207427  Disabling loading screen for 2, 4
2020.11.10 23:05:20.362320884  Disabling loading screen for 4, 0
2020.11.10 23:05:35.746273526  Presence update failed error:1016 request:entity_id { high: 144115192370840627 low: 7956863 } field_operation { field { key { program: 16974 group: 2 field: 8 unique_id: 0 } value { message_value: "\r3D\000\000\025srpr\030e" } } } field_operation { field { key { program: 16974 group: 2 field: 8 unique_id: 458757 } value { message_value: "\r3D\000\000\025lvlh\030\023" } } }     field_operation { field { key { program: 16974 group: 2 field: 8 unique_id: 458758 } value { message_value: "\r3D\000\000\025lvlr\030\377\377\377\377\017" } } }
2020.11.10 23:05:35.746431100  >>> Wythil BnetGames::SetCrossTitlePresence: RichPresence PublishFieldCallback code=1016
2020.11.10 23:05:35.746780839  I 05:05:35.753420 [BGS] |event=Disconnected|method=OnDisconnectComplete|address=us.actual.battle.net|port=1119|status=1016 (/opt/blizzard/buildserver/data.noindex/repositories/    d3/branches/2_6_10/Contrib/Contrib/bgs_low/src/low/core/connection_handler.cpp:226)
2020.11.10 23:05:35.747054692  >>> Wythil ===== Battle.net Disconnected logoutRequested=no =====
2020.11.10 23:05:35.747160961  >>> Settings::ResetGameAccountSettings
2020.11.10 23:05:35.747525866  ---------------- ModalNotificationManager::SetOkNotification: There was an error. (Code 1016)
2020.11.10 23:05:35.806456484  >>> (no hero selected) ===== Battle.net Logged Out =====
2020.11.10 23:05:37.546658039  UI_PopDialog(): Couldn't find UIID 'Root.NormalLayer.BattleNetCampaign_main'
2020.11.10 23:05:37.546796890  UI_PopDialog(): Couldn't find UIID 'Root.NormalLayer.BattleNetLogin_main'
2020.11.10 23:05:37.547313444  GameDisposeGames()
2020.11.10 23:05:37.547391314  ENDING GAME
2020.11.10 23:05:37.548780382  Disposing UI for World
2020.11.10 23:05:37.552104475  Client Disposed world.

I’m running macOS Catalina, 10.15.7. Here’s my system info:

Model Name: MacBook Pro
Model Identifier: MacBookPro15,1
Processor Name: 6-Core Intel Core i9
Processor Speed: 2.9 GHz
Number of Processors: 1
Total Number of Cores: 6
L2 Cache (per Core): 256 KB
L3 Cache: 12 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
Boot ROM Version: 1037.147.4.0.0 (iBridge: 17.16.16610.0.0,0)
Activation Lock Status: Enabled

I’m also running a BlackMagic eGPU, and D3 is set to prefer running on it:

Radeon Pro 580:

  Chipset Model:	Radeon Pro 580
  Type:	External GPU
  Bus:	PCIe
  PCIe Lane Width:	x4
  VRAM (Total):	8 GB
  Vendor:	AMD (0x1002)
  Device ID:	0x67df
  Revision ID:	0x00c0
  Automatic Graphics Switching:	Supported
  gMux Version:	5.0.0
  Metal:	Supported, feature set macOS GPUFamily2 v1
  GPU is Removable:	Yes

Same here. The game is unplayable. I never had this problem until recently and no doubt Blizzard will blame our ISP.

Happens whether I’m connected via WiFi or Ethernet, regardless of time of day. And at no time do I see a lag spike. It just suddenly and abruptly loses connection. This has never been a problem for me, up to about 7-10 days ago, and since then it’s been every time I play.

Things that also do not matter (I’ve tried switching each of these):

  • Whether I’m directly plugged into my cable modem or not
  • Whether AV/Anti-malware software is running or not.
  • Whether Time Machine is making a backup or not.
  • Whether I have anything else running on the machine or not.
  • Whether the game files have been wiped and reinstalled fresh or not.

This is still happening. I’ve been tailing the logs in ~/Library/Application Support/Battle.net/Logs while playing, and this string of log entries (or something very similar) gets logged in the battle.net-timestamp.log before the connection lost error happens:

D 2020-11-22 17:50:16.826899 [BAPIGateway] {Main} API response: <unknown-status> content=
E 2020-11-22 17:50:16.826918 [BAPIGateway] {Main} API request failed. error=Resolving timed out after 10000 milliseconds
I 2020-11-22 17:50:16.826922 [BAPIGateway] {Main} Retrying request
D 2020-11-22 17:50:16.835591 [BAPIGateway] {Main} API request: https://us.api.blizzard.com/AccountInventoryService/v1/GetNewInventoryItemCount
D 2020-11-22 17:50:26.846856 [BAPIGateway] {Main} API response: <unknown-status> content=
E 2020-11-22 17:50:26.846877 [BAPIGateway] {Main} API request failed. error=Resolving timed out after 10000 milliseconds
E 2020-11-22 17:50:26.846882 [BAPIGateway] {Main} Retry threshold exceeded
E 2020-11-22 17:50:26.846886 [InventoryController] {Main} GetInventoryInfo error: 5300
W 2020-11-22 18:00:26.480489 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/alert?targetRegion=US statusCode=0 err=Resolving timed out after 10001 milliseconds
W 2020-11-22 18:00:26.480527 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/maintenance?targetRegion=US statusCode=0 err=Resolving timed out after 10000 milliseconds
W 2020-11-22 18:00:39.489791 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/D3/alert?targetRegion=US statusCode=0 err=Resolving timed out after 10000 milliseconds
W 2020-11-22 18:10:43.367594 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/alert?targetRegion=US statusCode=0 err=Resolving timed out after 11488 milliseconds
W 2020-11-22 18:10:43.367688 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/maintenance?targetRegion=US statusCode=0 err=Resolving timed out after 11488 milliseconds
W 2020-11-22 18:10:57.120319 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/D3/alert?targetRegion=US statusCode=0 err=Resolving timed out after 10002 milliseconds
E 2020-11-22 18:20:46.189687 [TactVersionWatcher] {Main} Catalog tact query failed. request=http://us.patch.battle.net:1119/catalogs/cdns?nocache=1606069217027800 httpCode=0
E 2020-11-22 18:20:46.189710 [CatalogLoader] {Main} An error was returned in the watcher response: errorCode=101
W 2020-11-22 18:21:06.234089 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/alert?targetRegion=US statusCode=0 err=Resolving timed out after 10004 milliseconds
W 2020-11-22 18:21:06.234128 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/App/maintenance?targetRegion=US statusCode=0 err=Resolving timed out after 10004 milliseconds
W 2020-11-22 18:21:07.332185 [RemoteContentManager] {http} Request failed. url=https://nydus.battle.net/App/enUS/client/D3/alert?targetRegion=US statusCode=0 err=Resolving timed out after 10003 milliseconds

I have no trouble resolving any of these host names when i use DNS lookup tools. No other piece of software on my mac but battle.net and/or the d3 client is having connectivity issues either.

Added:
This happens frequently right when I finish a greater rift, when I’ve killed the guardian. Imagine how frustrating that is. My pet is still running around in the background behind the modal connection lost dialog, picking up gold, which registers, so I know I’m not actually disconnected. I can also use vault to move, with it mapped to my middle mouse button, and it’ll pick up gold or shards.

I saw this in the D3Debug.txt file this time:

|020.11.27 11:28:48.666509141|SendLeaderboardMessage hero:pewpew id:201 attribute { name: "Version" value { string_value: "2.6.10.71510" } } attribute { name: "CustomMessageId" value { int_value: 201 } } attribute { name: "CustomMessage" value { message_value: "\020\026\030\213\341\237\004\030\346\205\376\t\030\365\330\276&\030\246\365\265\005\030\326\205\307\005\030\247\364\344\004\030\212\212\306\002\030\362\372\211\005\030\305\205\240\'\030\356\237\347\010\030\261\235\350\003\030\210\360\301\003\030\254\353\314\004\030\275\255\247\027\030\342\263\245x\030\206\301\322\004\030\361\322\247\037\030\306\371\365\005\030\254\317\210\004\030\363\225\201\004\030\361\301\351D\030\373\331\215\023\030\377\322\345\003 \004(\005" } } attribute { name: "CustomMessageDestination" value { uint_value: 3 } } count:0|
|---|---|
|2020.11.27 11:28:48.666843499|SendLeaderboardMessage hero:pewpew id:201 attribute { name: "Version" value { string_value: "2.6.10.71510" } } attribute { name: "CustomMessageId" value { int_value: 201 } } attribute { name: "CustomMessage" value { message_value: "\020\026\030\377\322\345\003 \004(\005" } } attribute { name: "CustomMessageDestination" value { uint_value: 3 } } count:1|
|2020.11.27 11:28:49.114100637|ProcessClientRequest RPC failed with error:1016, request:attribute { name: "Version" value { string_value: "2.6.10.71510" } } attribute { name: "CustomMessageId" value { int_value: 201 } } attribute { name: "CustomMessage" value { message_value: "\020\026\030\377\322\345\003 \004(\005" } } attribute { name: "CustomMessageDestination" value { uint_value: 3 } }|
|2020.11.27 11:28:49.114283748|I 17:28:49.117735 [BGS] |event=Disconnected|method=OnDisconnectComplete|address=us.actual.battle.net|port=1119|status=1016 (/opt/blizzard/buildserver/data.noindex/repositories/d3/branches/2_6_10/Contrib/Contrib/bgs_low/src/low/core/connection_handler.cpp:226)|
|2020.11.27 11:28:49.114943228|>>> pewpew ===== Battle.net Disconnected logoutRequested=no =====|
|2020.11.27 11:28:49.115080664|>>> Settings::ResetGameAccountSettings|
|2020.11.27 11:28:49.115444474|---------------- ModalNotificationManager::SetOkNotification: There was an error. (Code 1016)|
|2020.11.27 11:28:49.165489895|>>> (no hero selected) ===== Battle.net Logged Out =====|
|2020.11.27 11:28:54.117828226|[Telemetry] (TELE): Requested sending batch messages by multi-part http POST messages count 2|
|2020.11.27 11:29:39.598122746|UI_PopDialog(): Couldn't find UIID 'Root.NormalLayer.BattleNetCampaign_main'|
|2020.11.27 11:29:39.598263514|UI_PopDialog(): Couldn't find UIID 'Root.NormalLayer.BattleNetLogin_main'|
|2020.11.27 11:29:39.598942506|GameDisposeGames()|
|2020.11.27 11:29:39.599028164|ENDING GAME|