unknown network-related error only on deployed Qt application - windows

I've created a downloader application that downloads files via the http protocol.
I used the QNetworkAccessManager/QNetworkReply/QNetworkRequest classes to achieve this.
There are several error codes listed in the QNetworkReply docs--one of them is error code 99 which is an "unknown network-related error."
On my development machine, whenever I initiate a download with the application, it downloads smoothly, and I do not receive any error code 99's.
When I deploy my application and test it on another PC that does not have Qt installed, when I initiate the download, I get error code 99 immediately; however, other functions that use the QNetworkAccessManager class work just fine, even on PCs without Qt in their environment (for example the http POST method).
I've also deployed this application with the same exact code for OS X, and the deployed versions of it do NOT get any error code 99's, and everything functions normally.
Is there any reason why I would be getting unknown network-related error on PC systems that don't have a Qt development environment?
I checked dependency-walker for all the dependencies, etc. I'm kind of at a loss and don't know how to proceed.

The problem is that the QtNetwork API uses OpenSSL for some operations, apparently. This was not made super clear in the Qt Docs. There is a class for SSL support, and I figured that I'd only need to include the SSL DLLs if I used that class, not QNetworkAccessManager:
http://qt-project.org/doc/qt-5/ssl.html
The reason it worked on my development machine is because the OpenSSL DLLs are on my PATH variable.
Including the OpenSSL DLLs in the application directory fixed the problem.

Related

Problem installing/running Erlang OTP: Cannot find entry point for llround in beam.smp.dll

We use Erlang OTP because it is bundled with a business application my company uses (as part of a RabbitMQ installation). On our development and test servers, the entire installation went smoothly without any issues. On the production system, however, Erlang OTP installs but fails to launch afterwards. When I doubleclick erl.exe I get an error popup:
The entry point “llround” was not found in the DLL “C:\Program Files (x86)\…\Erlang-21.3\erts-10.3\bin\beam.smp.dll”. (Translated from German, path clipped)
I am completely new to Erlang, so I do not even know whether there are any logs that I should provide. In the Erlang directory, I cannot find anything that looks like a log. The Windows event log shows basically the abovementioned error message plus a message saying that the Erlang VM crashed instantly (wrong distribution name?) – but that seems to be just a follow-up to the root cause of the problem with the DLL.
As I said, erl.exe opens without problems and displays a command prompt when launched on the test or development system. The setup there is almost identical to our production server. We tried removing Erlang and reinstalling it but to no avail. We even restored the VM to an earlier point an did a fresh install of the entire application. Short of setting up another pristine VM, is there any way of getting Erlang to work on the existing system?

Cannot Register RESEDIT.DLL on Windows Server 2008

I have a legacy VB6 application that we are attempting to run on an RDP connection to a Windows 2008 Server. All of my other legacy applications seem to run fine, but this one fails. I've tried reinstalling the application from the Setup file, but it fails when it tries to register the file RESEDIT.DLL. I've attempted to register the file manually using regsvr32, but that just gives me the following error:
The module "C:\Windows\SysWOW64\RESEDIT.DLL" was loaded but the call to DllRegisterServer failed with error code 0x80004005.
As I've researched this, I've found discussions about possible file dependency issues, but I've gone through every associated DLL in the setup package and they all register successfully. I've made certain that I'm running the regsvr32 from an elevated command prompt, but it always comes up with the same error.
We installed the application on a Windows 7 VM, and it installed without error. The RESEDIT.DLL file apparently registered successfully, and the application comes up without error. However, running the application from the Windows Server 2008 system continues to throw errors. It started with an error that says "Out of Memory" (Error #7), but now I'm getting one that says "ActiveX component can't create object" (Error #429), probably due to the different troubleshooting steps we've followed so far.
Does anyone know how to get RESEDIT.DLL to install and correctly register on Windows Server 2008?

deployed pb App transaction not connected

I have deployed a PB App created with PB12.5 Classic. Its a PB winform app. I have managed to deployed it on a test unit to test its performance. I have created a custom runtime packager.
this runtime packager that i have created consists of basic PB runtime DLL, which is the PBDWE125.dll, PBSHR125.dll PBSNC125.dll, PBVM125.dll as per sybase's instruction in infocenter.sybase.com.
i have also packaged microsoft dlls which is the atl71.dll, libjcc.dll, libjtml.dll, msvcp71.dll, msvcp100.dll, msvcr71.dll, msvcr100.dll and nlwnsck.dll.
all of these dlls are installed in C:\Program Files\Sybase\Shared\PowerBuilder.
my problem is, my PB app is running BUT WHEN I TRY TO ESTABLISH CONNECTION my database server it prompt "Transaction not Connected"
is it the PBSNC problem? i tried registering it using regsvr32 and it didnt work. i have used PB runtime packager but still no luck. i have tried the app path registry and link it to the directory stated above and still no luck...
my question is
is there anything that i can do to make this work?
win 7 has c++ runtime libraries installed already right?
what can be the cause of "transaction not connected" error
what can i do to make it work?
note:
i have user access to the database server
i can access the database server
the app is working when the PB IDE is installed
please enlighten me! thank you :D
Does the computer that the app is deployed to have the SQL Server Native Client runtime installed? (I'm assuming you're using SQL Server because you mention PBSNC125.dll.) Here's some info from a blog post I wrote a while back (I was using PB 12 and SQL Server 2008, so things may be different for you.)
Files Required
On your client machines, in addition to the PB runtimes (including PBSNC120.dll, which is for SQL Server), you also need to install the SQL Server Native Client runtime. These come as an msi installer package from Microsoft. When you install the SQL Server client, you'll need to do so as an administrator. Otherwise you'll get a cryptic error message along the lines of "0: -1".
There's a 32-bit and a 64-bit version of the runtime. The 64-bit version won't run on a 32-bit version of Windows and vice versa.
Footnote: My project used PowerBuilder Classic version 12.1 and SQL Server 2008
"Transaction not connected" usually comes from a DataWindow being given a transaction object that isn't connected to the database. It sounds like there isn't much error trapping when you connect to the database, and you're getting a down stream symptom. You need to add error checking to your CONNECT routine, and that will give you more clues as to what is going on.
One of the more common problems with connections on deployment is when programs try to read connection parameters from an INI file, and on deployment the app can't find the INI file, so with no error checking on reading the INI, the program is trying to connect with an empty transaction object and fails. However, the information you've given us is too late to have any clues whether that is the problem or not.

zeromq: "External component has thrown an exception" at the time of creation of new Context - on one particular system

I am using 0mq with clr binding - version 3.2.2 - on Windows OS. On one particular Windows 7 64-bit system, 0mq always fails at the time of creation of a new Context. I initially thought it had something to do with windows services / IIS but it fails even for a simple console application
Error message below
Assertion failed: Connection timed out (..\..\..\signaler.cpp:260)
External component has thrown an exception.
Last error code (I am calling GetLastError from C#) is 10060 (which is connection tiemout)
Code below
var ctx = new Context(1);
I have checked the following links and tried the suggestions but no luck
http://grokbase.com/t/zeromq/zeromq-dev/126jmgg0aq/sehexception-when-calling-zmq-init-from-clrzmq
https://github.com/zeromq/clrzmq/issues/81
Calling Win32 CreateEvent() fails from an IIS 7.5 web application
I have tried the following
Used dependencychecker and ensured all referenced DLLs are present
Ensured VC++ 2010 runtime is installed
The account under which the console application ran has administrator privileges and I also gave explicit permissions to create global objects (one of the suggestions) in user account management
I am baffled by this bug. 0mq has worked great so far and I wanted to deploy it on a larger scale. Now this error is giving me second thoughts on the same. Any help will be greatly appreciated
It looks to me like your app isn't finding the appropriate ZMQ DLL. A couple things to check:
Make sure that libzmq.dll is in the same directory as your exe.
Make sure that you know whether libzmq.dll is 32 or 64 bit.
Make sure that you've explicitly specified an architecture in your C# Project File (either x86 or x64, not AnyCPU), and that the architecture you pick matches the architecture of the libzmq.dll file you're using.

VC++ app fails to start — but there's no error

I made a minor change to a legacy Visual C++ / MFC app built with VS 2008. I changed some UI resources in the .rc file and compiled without any problems, then deployed it on my client's system. However, the program which was previously doing fine now fails to run on exactly one of their servers. It works fine on my laptop and on their other servers, many of whom are basically identical to the one having the trouble.
The weird thing however is that there is absolutely no error message whatsoever. No message box, no errorlevel set (when run on command prompt), no Dr. Watson entry, no nothing.
It's an MFC app that does not really comprise anything very special. It does link in some external libraries – e.g., some old version of the Xerces C++ XML parser. But this is probably not too relevant, right?
The program has a class derived from CWinApp, and I tried to add some logging in its constructor. Based on this, it looks like not even this constructor is reached.
The server in question is running Windows Server 2003 Standard Edition Service Pack 2, and we are trying to run the program in a Remote Desktop session. (Because of the client's environment, I cannot easily test in a console session right now.)
I reverted my changes from version control, which did not help – but I do not know if I had built myself the previously installed version (which ran just fine even on this server) or if it had been built by someone else.
Have also tried to reinstall the Visual C++ runtime libraries and of course reboot Windows, but neither helped. Now I'm really running out of ideas... Any clues on what I could try or check?
Probably some error occurs but is surpressed e.g. empty catch() statement or similar.
You could try and install Debugging tools for Windows WinDbg to see if you could get more info when trying to run it. Since the download is rather small 25Mb maybe it is possible to install it on your client's PC.
But first check the eventview log for your app, maybe there is something in there that can shed some light.

Resources