Modules not connecting to Edgehub on Azure ML Compute Instance (Developer Environment)
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 32/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- azure, docker, python
- 领域
- cloud, devtools, networking
调研方向
使用开发环境和记录的 Python module path,在 Azure ML Compute Instance 中重现该故障。先从 Docker 和网络设置开始,然后通过 paho MQTT 和 azure.iot.device 跟踪连接。当模块能够在不出现 OSError 99 故障的情况下连接到 IoT Hub 时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
We are trying to get our development environment with iotedgedevhub in running in an Azure ML Compute Instance (because it is already used extensively in our development processes, it offers GPU options we need for our use case and the integration of VS Code is superb).
Unfortunately when we try to debug our solution (which works on many other devices we tested them on) we receive an error: 'Cannot assign request address'. We have the feeling that problem is either Docker Environment or Networking related but are struggling to find the reason.
Logs from module:
SceletonModule | User's Environment variable:
SceletonModule | IoT Hub Client for Python
SceletonModule | Subscribe for input failed. Not enabling feature
SceletonModule | ./main.py:38: RuntimeWarning: coroutine 'execute_patch_for_async.<locals>.shutdown' was never awaited
SceletonModule | client.shutdown()
SceletonModule | RuntimeWarning: Enable tracemalloc to get the object allocation traceback
SceletonModule | Traceback (most recent call last):
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/common/mqtt_transport.py", line 395, in connect
SceletonModule | rc = self._mqtt_client.connect(
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/paho/mqtt/client.py", line 914, in connect
SceletonModule | return self.reconnect()
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/paho/mqtt/client.py", line 1044, in reconnect
SceletonModule | sock = self._create_socket_connection()
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
SceletonModule | return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
SceletonModule | File "/usr/lib/python3.8/socket.py", line 807, in create_connection
SceletonModule | raise err
SceletonModule | File "/usr/lib/python3.8/socket.py", line 796, in create_connection
SceletonModule | sock.connect(sa)
SceletonModule | OSError: [Errno 99] Cannot assign requested address
SceletonModule |
SceletonModule | The above exception was the direct cause of the following exception:
SceletonModule |
SceletonModule | Traceback (most recent call last):
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/aio/async_clients.py", line 33, in handle_result
SceletonModule | return await callback.completion()
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/common/async_adapter.py", line 91, in completion
SceletonModule | return await self.future
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/common/pipeline/pipeline_stages_mqtt.py", line 199, in _run_op
SceletonModule | self.transport.connect(password=password)
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/common/mqtt_transport.py", line 418, in connect
SceletonModule | raise exceptions.ConnectionFailedError(cause=e)
SceletonModule | azure.iot.device.common.transport_exceptions.ConnectionFailedError: ConnectionFailedError(None) caused by OSError(99, 'Cannot assign requested address')
SceletonModule |
SceletonModule | The above exception was the direct cause of the following exception:
SceletonModule |
SceletonModule | Traceback (most recent call last):
SceletonModule | File "./main.py", line 84, in <module>
SceletonModule | main()
SceletonModule | File "./main.py", line 57, in main
SceletonModule | client = create_client()
SceletonModule | File "./main.py", line 35, in create_client
SceletonModule | client.on_message_received = receive_message_handler
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/abstract_clients.py", line 875, in on_message_received
SceletonModule | self._generic_receive_handler_setter(
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/aio/async_clients.py", line 161, in _generic_receive_handler_setter
SceletonModule | fut.result()
SceletonModule | File "/usr/lib/python3.8/concurrent/futures/_base.py", line 439, in result
SceletonModule | return self.__get_result()
SceletonModule | File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
SceletonModule | raise self._exception
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/aio/async_clients.py", line 113, in _enable_feature
SceletonModule | await handle_result(callback)
SceletonModule | File "/usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/aio/async_clients.py", line 37, in handle_result
SceletonModule | raise exceptions.ConnectionFailedError(message="Could not connect to IoTHub", cause=e)
SceletonModule | azure.iot.device.exceptions.ConnectionFailedError: ConnectionFailedError('Could not connect to IoTHub') caused by ConnectionFailedError(None)
SceletonModule | Task was destroyed but it is pending!
SceletonModule | task: <Task pending name='Task-7' coro=<AsyncHandlerManager._receiver_handler_runner() running at /usr/local/lib/python3.8/dist-packages/azure/iot/device/iothub/aio/async_handler_manager.py:43> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/lib/python3.8/asyncio/futures.py:357, <TaskWakeupMethWrapper object at 0x7fbdf2a581f0>()]> cb=[_chain_future.<locals>._call_set_state() at /usr/lib/python3.8/asyncio/futures.py:364]>
SceletonModule | Task was destroyed but it is pending!
SceletonModule | task: <Task pending name='Task-8' coro=<_AsyncQueueProxy.get() running at /usr/local/lib/python3.8/dist-packages/janus/__init__.py:552> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fbdf2a4ffa0>()]> cb=[_chain_future.<locals>._call_set_state() at /usr/lib/python3.8/asyncio/futures.py:364]>
- 主要语言
- Python
- 星标
- 91
- 派生
- 38
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Azure/iotedgehubdev 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 42/100
Azure/iotedgehubdev#416 · 1 条评论 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 25/100
Azure/iotedgehubdev#415 ·
-
难度 4/5 3-5 天 新手友好度 25/100
Azure/iotedgehubdev#413 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 35/100
Azure/iotedgehubdev#412 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
Azure/iotedgehubdev#411 · 1 条评论 ·
查看 Azure/iotedgehubdev 的全部 Issue
相似的 Issue
-
area/profiles comp/cli P3 type/feature
难度 2/5 1-3 小时 新手友好度 74/100
NousResearch/hermes-agent#146372 ·
维护者通常 1 天内回复
-
[BUG] OpenAI-compatible embedding model alias breaks embedder construction可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistencies可能已有人在做 @github-actions 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
GeoSeries scale and skew tests fail with pytest 9.2.0可能已有人在做 @jiayuasu 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
admission-deferred priority: medium status: ready work-class: scoped
难度 2/5 1-3 小时 新手友好度 70/100
melodic-software/claude-code-plugins#10887 · 4 条评论 ·
维护者通常 1 天内回复