Hi, The last couple of weeks we get errors in the application when the application tries to load a image. Sometimes it's a image that we use on a button, or sometimes it's the .ico-file on top of the window. The error we get is : WARNING: failed to load image \\10.10.0.31\project\isis\img\isis.ico into memory, error -3. The .r and image files are on a server and they get loaded from that server to the client on request. It will have something todo with the network, but I don't know where to start looking for. Does anyone have some hints ? Kind regards, Bart Syryn
What changed at the point of starting to get the errors?
Hi James,
Upgrade from 10.2A to 11.3.2.
Kind regards,
Bart Syryn
Did anything else change or just the version? Are these images that are embedded into the screens, so the error appears at load of the screen?
Hi, I have found the following article on Progress Knowledgebase: knowledgebase.progress.com/.../000042630
Normally, in 11.3.2 your problem should have already been solved.
But might be that the solution will solve your problem too:
Re-register the prox.dll in the %DLC%\bin folder of the OpenEdge 11.3 installation:
- Open a proenv prompt
- Run the command "regsvr32 %DLC%\bin\prox.dll" .
Error -3 in that warning indicates that OpenEdge couldn't read the image file's contents into memory. We successfully opened the file but an error occurred while reading from the file. Unfortunately the warning doesn't give the Windows error code so we don't know why the read failed. You may be able to get some useful information about the failure with Process Monitor, which allows you to log a process's file operations.
Strange thing is, it only happens a few times a week.
So, if I understand Matt, the solution provided by Gabrial, wouldn't solve the problem.
And normally, loading images (and .ico in the title of the window) over a UNC-patch (\\10.10.0.31\..) shouldn't be a problem ?
prox.dll is needed to support the LOAD-PICTURE statement. I assume that we're talking about LOAD-IMAGE and LOAD-ICON, in which case prox.dll is not involved.
Loading images and icons with UNC paths is supported. The fact that it only fails occasionally is more support for the idea that it's an issue with the network.
In addition to running Process Monitor on the client side (a good suggestion), you could also look at the network layer with a rolling trace in Wireshark or tcpdump using a ring buffer. Then when the problem happens again, open the trace in Wireshark and find the transfer of the file in question. You should be able to see SMB requests/responses, and the errors if any (if it is a network problem). At that point you can hand over the issue to your network admin.
I don't have any experience with process monitor or Wireshark. So I would have to ask it the network administrator to install it on the client virtual machine (they work in a virtual environment VMWare). So if they install something than they need to do a recompose of client virtual machine.
Just wondering, at startup we use -q and -mmax startup parameters. Could that have something to do with the problem ?
Kind regards
Bart Syryn
-q and -mmax shouldn't have any effect on loading images. If the problem was running out of memory you would get error -1. If the file wasn't found you would get error -2. Error -3 happens after we've successfully opened the file and allocated memory for it.
Which OS do you use for the Fileserver?
We have a very similar Problem and we could identify that the win2012 Fileserver is the Problem.
After a Switch on an win2008 rc2 Fileserver we don't have any Problems.
The files are on a Windows 2008R2 server and they are planning to migrate to windows 2012.
I remember seeing similar issues in the Progress 9.x days... I think we worked around it by putting our images in a single .pl file, which loads faster over an UNC path (and gets cached on the client is -q is used), and seemed to solve the issues...
Btw, It's undocumented that images can be put in a .pl
Hi Lieven,
Thanks for the reply.
I have never used .pl files, so I need to look into it.
Now the .r-files and images are opened over the UNC-path, so I don't quit understand what happens when you use .pl files. We already use the -q and -mmax parameters, as I understand it, that also works for .r files.