Hi Soeren, You should have the CRT source code with VS2008. Please check the comment over there. It's saying that __setlc_active and __setlc_active_func are obsolete, and just left for binary compability.
It's possible though that this was real code with older runtimes, or maybe that the compiler somehow knows about them (open coding intrinsics) and generates different code. setlc is related to the locale, could it be related to it? I compile ZeroMQ with my own batch file, and target MSVCRT.DLL, instead of MSVCRxx.DLLs. I chose that route, as it seems to be mingw compatible, and works back to Windows 2000. This is only doable with Windows DDK 7.1 (also called WDK 7.1), and it takes a bit of tricks to get zeromq compiled with it (it needs to be compiled with the static C++ library version, and there are two included - 6 and 7 - with 6 it does not work, but it does with 7). But I'm not sure whether this still is going to work for you. My project is open, and it's here http://github.com/malkia/ufo - please locate bin/Windows/x86 and bin/Windows/x64 - but all zeromq code there is from the "master" branch of zeromq (so 3.1). I can compile 2.1 for you, if you are interrested though, or you can extract the piece from my batch files (build/Windows, then there is zmq.cmd, but it might require cygwin for some unixy tools). There are couple of other pointers how to target MSVCRT.DLL (again if that works for you) that should be easier than mine. Thanks, Dimiter 'malkia' Stanev On 1/24/2012 1:11 PM, soeren wrote: > Hi, > > I am currently trying to integrate the ZMQ library in multiple > versions of the same software; a trading frontend which cames in > different flavour but almost same ingredients from different brokers. > I compiled it out of the box, small wrapper around it and finally got > all the nasty DLL stuff on Windows working. > Currently I have ZMQ running on 5 different frontends, but on another > 2 it crashes the frontend upon the first call to create a socket (init > and version retrieval works perfect). Unfortunately the stack > information is most I've got: > > 75BCB964:000058 [75BCB9BC] RaiseException (kernelbase.dll) > 594436B6:00000F [594436C5] __setlc_active (msvcr90.dll) > 594433EF:0000D8 [594434C7] _endthreadex (msvcr90.dll) > 76E53665:000012 [76E53677] AcquireSRWLockExclusive (kernel32.dll) > 77AD9E9F:000063 [77AD9F02] RtlInsertElementGenericTableAvl (ntdll.dll) > 77AD9E9F:000036 [77AD9ED5] RtlInsertElementGenericTableAvl (ntdll.dll) > > > My OS information is > > OS : Windows 7 Server 6.1 (Build 7600) > Processors : 24 x Intel Xeon X5650 @ 2.67GHz > Memory : 4095 free of 4095 Mb > Virtual : 1916 free of 2047 Mb > Exception : 40000015 at 75BCB9BC NA to 00000000 > > Compiler: MSVC 2008 professional **NOT SP1** / 32 Bit; the same for > the frontend software. The frontend blocks (damn!) to start it in > debug mode from my compiler, so I cannot test anything with the > debugger - unfortunately. > > All I found was this link: https://github.com/lestrrat/ZeroMQ-Perl/issues/12. > Crash looks very similar, but different action in his code. > > > Thanks for any hints to look after, > Soeren Gerlach _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
