enwi / dartzmq

A simple dart zeromq implementation/wrapper around the libzmq C++ library
https://pub.dev/documentation/dartzmq/latest/
MIT License
26 stars 17 forks source link

Linux (Arch): ZeroMQException(22): EINVAL #39

Open hilpara opened 4 months ago

hilpara commented 4 months ago

I cloned the repository and wanted to test the example and got exception:

` ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ The following ZeroMQException was thrown building Builder: ZeroMQException(22): EINVAL

The relevant error-causing widget was: MaterialApp MaterialApp:file:///xxx/dartzmq/example/lib/main.dart:19:12

When the exception was thrown, this was the stack:

0 _checkErrorCode (package:dartzmq/src/exception.dart:56:5)

1 _checkReturnCode (package:dartzmq/src/exception.dart:49:5)

2 new ZMonitor (package:dartzmq/src/monitor.dart:216:5)

3 new MonitoredZSocket (package:dartzmq/src/socket.dart:360:16)

4 ZContext.createMonitoredSocket (package:dartzmq/src/zeromq.dart:228:23)

5 _MyHomePageState.initState (package:dartzmq_example/main.dart:45:24)

6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5618:55)

7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5463:5)

... Normal element mounting (228 frames)

235 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)

236 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6904:36)

237 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6916:32)

... Normal element mounting (489 frames)

726 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)

727 Element.updateChild (package:flutter/src/widgets/framework.dart:3849:18)

728 _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:291:16)

729 _RawViewElement.mount (package:flutter/src/widgets/view.dart:314:5)

... Normal element mounting (7 frames)

736 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)

737 Element.updateChild (package:flutter/src/widgets/framework.dart:3849:18)

738 RootElement._rebuild (package:flutter/src/widgets/binding.dart:1581:16)

739 RootElement.mount (package:flutter/src/widgets/binding.dart:1550:5)

740 RootWidget.attach. (package:flutter/src/widgets/binding.dart:1503:18)

741 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2845:19)

742 RootWidget.attach (package:flutter/src/widgets/binding.dart:1502:13)

743 WidgetsBinding.attachToBuildOwner (package:flutter/src/widgets/binding.dart:1239:27)

744 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:1221:5)

745 WidgetsBinding.scheduleAttachRootWidget. (package:flutter/src/widgets/binding.dart:1207:7)

749 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

(elided 3 frames from class _Timer and dart:async-patch) `

Any ideas what went wrong and how to fix it?

enwi commented 4 months ago

It seems that the supplied endpoint is wrong: EINVAL: The endpoint supplied is invalid.

Taken from https://libzmq.readthedocs.io/en/zeromq4-1/zmq_socket_monitor.html

enwi commented 4 months ago

It seems like this line of code needs some rework https://github.com/enwi/dartzmq/blob/70030a9f2dbf329aaebbbcbe67134baa14a6b175/lib/src/monitor.dart#L210