Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »NEW IQFEED FORUMS »New IQFeed Forum »iqconnect crashes under wine on zeromq exception
Author Topic: iqconnect crashes under wine on zeromq exception (5 messages, Page 1 of 1)

quietnote
-Interested User-
Posts: 10
Joined: Dec 4, 2022


Posted: Dec 4, 2022 06:32 PM          Msg. 1 of 5
Hello DTN!

I've been running iqconnect.exe just fine under wine, with an X11server for gui, until recently it stopped working. When I investigated, I see it throwing an exception inside zeromq.cpp:

Assertion failed: Socket operation on non-socket (C:\Source\IQClient\Shared\third_party\zeromq\zeromq-4.0.5\src\select.cpp:170

It appears there may be a bad cast in the code -- see the stackoverflow below.

Or perhaps there is another reason for this?

Please advise. Thank you.


# export DISPLAY=:1; /usr/bin/wine /root/.wine/drive_c/Program\ Files/DTN/IQFeed/iqconnect.exe

fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:nls:GetThreadPreferredUILanguages 00000038, 0x23fa94, 0x23fab0 0x23fa90
fixme:nls:get_dummy_preferred_ui_language (0x38 0x23fa94 0x23fab0 0x23fa90) returning a dummy value (current locale)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:nls:GetThreadPreferredUILanguages 00000038, 0x23d844, 0x23d860 0x23d840
fixme:nls:get_dummy_preferred_ui_language (0x38 0x23d844 0x23d860 0x23d840) returning a dummy value (current locale)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:nls:GetThreadPreferredUILanguages 00000038, 0x23d7b4, 0x23d7d0 0x23d7b0
fixme:nls:get_dummy_preferred_ui_language (0x38 0x23d7b4 0x23d7d0 0x23d7b0) returning a dummy value (current locale)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:wer:WerRegisterFile (L"C:\\users\\root\\My Documents\\DTN\\IQFeed\\IQConnectLog.txt", 2, 0) stub!
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
fixme:module:load_library unsupported flag(s) used (flags: 0x00000060)
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:wer:WerRegisterFile (L"C:\\users\\root\\My Documents\\DTN\\IQFeed\\IQConnectLog.txt", 2, 0) stub!
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
Assertion failed: Socket operation on non-socket (C:\Source\IQClient\Shared\third_party\zeromq\zeromq-4.0.5\src\select.cpp:170)
wine: Unhandled exception 0x40000015 in thread 2e at address 0x7b44f037 (thread 002e), starting debugger...
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf options 26 not handled
fixme:msvcrt:MSVCRT__stdio_common_vsprintf_s options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled
fixme:msvcrt:MSVCRT__stdio_common_vfprintf options 24 not handled


root@host: ~/.wine/drive_c/users/root/My Documents/DTN/IQFeed^G

root@host:~/.wine/drive_c/users/root/My Documents/DTN/IQFeed# cat IQConnectLog.txt
cat IQConnectLog.txt
=== IQConnect Log File Opened On Sun Dec 04 23:36:52 ===
Current Log Levels,Connectivity,Information,Admin
Current IQFeed Version,6.2.0.25
STATUS Connectivity 43 0 2022-12-04 23:36:52 Creating trader account verification thread. Status idle
STATUS Connectivity 45 0 2022-12-04 23:36:52 Initializing the login thread
STATUS Information 44 0 2022-12-04 23:36:52 Unable to start Authentication Server. Error (13): Permission denied

root@host:~/.wine/drive_c/users/root/My Documents/DTN/IQFeed#


https://stackoverflow.com/questions/44229404/why-zeromq-poll-throws-an-error-socket-operation-on-non-socket

Given ZeroMQ API / C++ binding documentation recommends to do so, one ought follow a practice to:

To obtain a ØMQ socket for use in a zmq_pollitem_t structure, you should cast an instance of the socket_t class to (void *).

comment:
I've always thought that this is a nasty little thing in the C++ bindings. It relies on the first member variable in the zmq::socket_t class being the C zm\
q socket. If you edit the definition of zmq::socket_t to change the member variable order it breaks stuff, badly. –
bazza
May 29, 2017 at 22:29

comment:
Good to know, thanks for user3666197's answer. Although cast an object to a void* pointer making me feel weired zmq reference with an example –
r0n9
Feb 16, 2018 at 3:01

comment:
Instead of C-style casting you can use socket_t::operator void*() explicitly –
stijn
May 16, 2019 at 16:43

quietnote
-Interested User-
Posts: 10
Joined: Dec 4, 2022


Posted: Dec 5, 2022 03:29 AM          Msg. 2 of 5
Ah. I see from the zeromq socket.cpp line number indicated that problem has nothing to do with the stack overflow issue which is distinct and so should be ignored; from reading the zeromq source:
https://github.com/zeromq/libzmq/blob/538e5d47421f45d88a8b3b005ed9ee4026623a7b/src/select.cpp#L170

Anyway. I'm on ubuntu 18.04 using Wine 3.6.1, specifically:

ii fonts-wine 3.0-1ubuntu1 all Windows API implementation - fonts
ii libkwineffects11:amd64 4:5.12.9.1-0ubuntu0.1 amd64 KDE window manager effects library
ii libwine-development:amd64 3.6-1 amd64 Windows API implementation - library
ii libwine-development:i386 3.6-1 i386 Windows API implementation - library
ii playonlinux 4.3.4 all This program is a front-end for wine.
ii wine-development 3.6-1 all Windows API implementation - standard suite
ii wine32-development:i386 3.6-1 i386 Windows API implementation - 32-bit binary loader
ii wine64-development 3.6-1 amd64 Windows API implementation - 64-bit binary loader
ii winetricks 0.0+20180217-1 all package manager for Wine to install software easily

quietnote
-Interested User-
Posts: 10
Joined: Dec 4, 2022


Posted: Dec 5, 2022 05:41 AM          Msg. 3 of 5
nevermind. I'm not sure what the root cause was, but it seems to be related to X11 stuff under wine and not to iqconnect.

quietnote
-Interested User-
Posts: 10
Joined: Dec 4, 2022


Posted: Dec 6, 2022 10:21 AM          Msg. 4 of 5
root cause was: Xvfb-run will fill up the /tmp/X$i-lock files and then quietly send your X session into garbage land. I now avoid Xvfb-run and just figure out a free DISPLAY for Xvfb myself and then everything works again. Avoid Xvfb-run is my recommendation; its a garbage bash script. Just use Xvfb directly.

allhellish
-Interested User-
Posts: 1
Joined: Feb 22, 2024


Posted: Feb 22, 2024 01:57 AM          Msg. 5 of 5
same isssue
 

 

Time: Sat July 27, 2024 3:47 AM CFBB v1.2.0 9 ms.
© AderSoftware 2002-2003