Roadmap for VASSAL 4

Running from terminal pops up the following message on WinXP64

“The application failed to initialize properly (0xc0000142). Click on OK to
terminate the application”

-----Original Message-----
From: messages-bounces@vassalengine.org
[mailto:messages-bounces@vassalengine.org] On Behalf Of uckelman
Sent: Sunday, May 08, 2011 7:42 AM
To: messages@vassalengine.org
Subject: [messages] [Developers] Re: Roadmap for VASSAL 4

I have what I think is a working Windows demo now:

vassalengine.org/~uckelman/c … indows.zip[1]

To use, unpack and run ‘test.exe map.jpg’ from a terminal.

This runs for me in Wine, which tends to be a good indicator that it
will work in real Windows.

[1] vassalengine.org/~uckelman/c … indows.zip


Read this topic online here:
https://forum.vassalengine.org/t/roadmap-for-vassal-4/3769/83

I got the same error on both of my Windows 7 (netbook and desktop) machines.
My netbook is an Acer Aspire One 532h series machine. It has an integrated Intel Graphics Media Accelerator 3150 video processor. I think this kind of setup is typical of netbook.

Lance

Thus spake “Tim McCarron”:

Running from terminal pops up the following message on WinXP64

“The application failed to initialize properly (0xc0000142). Click on OK to
terminate the application”

It doesn’t work in my XP VM, either. Trying to determine why now.


J.

Thus spake lancel:

I got the same error on both of my Windows 7 (netbook and desktop)
machines.
My netbook is an Acer Aspire One 532h series machine. It has an
integrated Intel Graphics Media Accelerator 3150 video processor. I
think this kind of setup is typical of netbook.

It has something to do with an exception being thrown. From where, I’m
not sure yet.


J.

Thus spake Joel Uckelman:

Thus spake lancel:

I got the same error on both of my Windows 7 (netbook and desktop)
machines.
My netbook is an Acer Aspire One 532h series machine. It has an
integrated Intel Graphics Media Accelerator 3150 video processor. I
think this kind of setup is typical of netbook.

It has something to do with an exception being thrown. From where, I’m
not sure yet.

I see what it is now: This is something I read about somewhere, namely
that everything beyond OpenGL 1.1 is supported in Windows as extensions.
I have the demo throwing an exception if OpenGL 2.0 isn’t supported.


J.

I’ve uploaded a new test.exe which doesn’t do the OpenGL 2.0 check. Replace the test.exe from cpp-test-windows.zip with this one, and try again.

vassalengine.org/~uckelman/test.exe

Unfortunately, it still fails on my machines with the same error.

Lance

Thus spake lancel:

Unfortunately, it still fails on my machines with the same error.

I’ve seen several errors. Which one do you mean by “the same”?


J.

The same one reported by Tim M.

Lance

It is this one:

“The application failed to initialize properly (0xc0000142). Click on OK to terminate the application”

Lance

Thus spake lancel:

It is this one:

“The application failed to initialize properly (0xc0000142). Click on OK
to terminate the application”

Lance

Do you have any way to work out what’s causing it?


J.

Thus spake lancel:

It is this one:

“The application failed to initialize properly (0xc0000142). Click on OK
to terminate the application”

Lance

What user were you running it as? Try running it as Administrator. Does
that work?


J.

I did run it as administrator since I wanted to use FileMon and RegMon to see if it was looking for some non-existing files or registry keys. It still crashed but then I could not see in the logs which files or registry keys are missing.

What is weird though is that your test.exe spawns a randomly-named executable, which seems to be the one that actually runs. If this is true, I am afraid that even if this turns out to be working, some anti-virus software may shut it down in the end.

Lance

Thus spake lancel:

It is this one:

“The application failed to initialize properly (0xc0000142). Click on OK
to terminate the application”

Lance

I read that this error can be caused by a missing DLL. I thougth I’d
included all of the DLLs which you wouldn’t have already. Here’s what I
get when I check what DLLs the exe links to:

[uckelman@scylla cpp-test]$ i686-pc-mingw32-objdump -p test.exe | grep DLL | sort | uniq
DLL Name: glew32.dll
DLL Name: GLU32.DLL
DLL Name: KERNEL32.dll
DLL Name: libgcc_s_sjlj-1.dll
DLL Name: libglut-0.dll
DLL Name: libjpeg-7.dll
DLL Name: libstdc+±6.dll
DLL Name: msvcrt.dll
DLL Name: OPENGL32.DLL

The archive I uploaded contained the following:

glew32.dll
libgcc_s_sjlj-1.dll
libglut-0.dll
libjpeg-7.dll
libstdc+±6.dll

Aren’t all the others part of Windows?


J.

Thus spake lancel:

What is weird though is that your test.exe spawns a randomly-named
executable, which seems to be the one that actually runs. If this is
true, I am afraid that even if this turns out to be working, some
anti-virus software may shut it down in the end.

Why would it do that?


J.

Thus spake Joel Uckelman:

I read that this error can be caused by a missing DLL. I thougth I’d
included all of the DLLs which you wouldn’t have already. Here’s what I
get when I check what DLLs the exe links to:

[uckelman@scylla cpp-test]$ i686-pc-mingw32-objdump -p test.exe | grep DLL |
sort | uniq
DLL Name: glew32.dll
DLL Name: GLU32.DLL
DLL Name: KERNEL32.dll
DLL Name: libgcc_s_sjlj-1.dll
DLL Name: libglut-0.dll
DLL Name: libjpeg-7.dll
DLL Name: libstdc+±6.dll
DLL Name: msvcrt.dll
DLL Name: OPENGL32.DLL

The archive I uploaded contained the following:

glew32.dll
libgcc_s_sjlj-1.dll
libglut-0.dll
libjpeg-7.dll
libstdc+±6.dll

Aren’t all the others part of Windows?

Could you check using something like Dependency Walker to check whether
all of the DLLs are being found?

dependencywalker.com/


J.

Heres what I get from Dependency Walker:

“Errors were detected when processing…(the filepath test.exe). See the log
window for details”

In the log window:

Error: At least one module has an unresolved import due to a missing export
function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.

Ieshims.dll - error opening file. System cannot find specified file
Wer.dll - error opening file. System cannot find the file

Can send you the dependency walker image if you like?

Tim

-----Original Message-----
From: messages-bounces@vassalengine.org
[mailto:messages-bounces@vassalengine.org] On Behalf Of Joel Uckelman
Sent: Sunday, May 08, 2011 1:00 PM
To: messages@vassalengine.org
Subject: Re: [messages] [Developers] Re: Roadmap for VASSAL 4

Thus spake Joel Uckelman:

I read that this error can be caused by a missing DLL. I thougth I’d
included all of the DLLs which you wouldn’t have already. Here’s what I
get when I check what DLLs the exe links to:

[uckelman@scylla cpp-test]$ i686-pc-mingw32-objdump -p test.exe | grep DLL
|
sort | uniq
DLL Name: glew32.dll
DLL Name: GLU32.DLL
DLL Name: KERNEL32.dll
DLL Name: libgcc_s_sjlj-1.dll
DLL Name: libglut-0.dll
DLL Name: libjpeg-7.dll
DLL Name: libstdc+±6.dll
DLL Name: msvcrt.dll
DLL Name: OPENGL32.DLL

The archive I uploaded contained the following:

glew32.dll
libgcc_s_sjlj-1.dll
libglut-0.dll
libjpeg-7.dll
libstdc+±6.dll

Aren’t all the others part of Windows?

Could you check using something like Dependency Walker to check whether
all of the DLLs are being found?

dependencywalker.com/


J.

Thus spake “Tim McCarron”:

Heres what I get from Dependency Walker:

“Errors were detected when processing…(the filepath test.exe). See the log
window for details”

In the log window:

Error: At least one module has an unresolved import due to a missing export
function in an implicitly dependent module.
Error: Modules with different CPU types were found.

This error is not one I see when I try it on my VM. Can you tell which
DLLs are causing it?

Warning: At least one delay-load dependency module was not found.

Ieshims.dll - error opening file. System cannot find specified file
Wer.dll - error opening file. System cannot find the file

These two are the same ones I saw missing in my VM. Everything I’ve read
about these says that they aren’t loaded unless they’re needed, and on
systems where they are needed, they will exist already.


J.

Yeah (sort of). All the DLLs are listed as CPU type x64 except for:

GLEW32.DLL
LIBGCC_S_SJLJ-1.DLL
LIBGLUT-0.DLL
LIBJPEG-7.DLL
LIBSTDC+±6.DLL
TEST>EXE

These are listed as CPU type x86

Thus spake Tim M:

Yeah (sort of). All the DLLs are listed as CPU type x64 except for:

GLEW32.DLL
LIBGCC_S_SJLJ-1.DLL
LIBGLUT-0.DLL
LIBJPEG-7.DLL
LIBSTDC+±6.DLL
TEST>EXE

These are listed as CPU type x86

That’s not surprising, since I did a 32-bit build. I’ll try doing a
64-bit build tomorrow, to see if it makes a difference.


J.