1. Eu4.1 64Bit on Win8 not working

Forked from Re: EU4.1 Struct Branch eubw.exe missing

andi49 said...

Hi
after a while i found some sparetime to work with Euphoria.

Euphoria Interpreter v4.1.0 development 
   64-bit Windows, Using System Memory 
   Revision Date: 2013-03-05 22:42:31, Id: 6025:b526e962eb61 
 
ERROR: Must specify the file to be interpreted on the command line 

But i was not able to run any of the demos with this interpreter. Nothing happend, no console output, no ex.err. eui.exe or euiw.exe seems to run and then return to the command prompt.
The interpreter seems at least basicly to work, i was able to run a program like this.

puts(1,"Hallo Welt") 

I played a little with some of the demos and find out that there is maybe a problem with std/console.e and std/io.e, or maybe the underlying functions.
The output of my little Hello World program disapears if i include one of these. Even when no function is used.

And, yes i tried one of the nightlybuilts, with the same result. This one:

Euphoria Interpreter v4.1.0 development 
   64-bit Windows, Using System Memory 
   Revision Date: 2013-02-15 14:10:08, Id: 5984:1a35013eb40e 
 
ERROR: Must specify the file to be interpreted on the command line 

I'am using Win 8 Pro 64bit. The 32bit 4.1 seems to work.

Andreas

Edit:

I tried to use gdb (first time, so I'am not really sure what I'am doing ;)

C:\e64>gdb --args c:\e64\bin\eui.exe "c:\e64\demo\ascii.ex" 
GNU gdb (GDB) 7.5 
Copyright (C) 2012 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law.  Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-w64-mingw32". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from c:\e64\bin\eui.exe...done. 
(gdb) start 
Temporary breakpoint 1 at 0x5c4be0: file c:/crossdev/src/mingw-w64-svn/mingw-w64 
-crt/crt/crt0_c.c, line 17. 
Starting program: c:\e64\bin\eui.exe c:\e64\demo\ascii.ex 
[New Thread 3180.0xd04] 
 
Temporary breakpoint 1, main (flags=2, cmdline=0x361560, inst=0x361ab0) 
    at c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt0_c.c:17 
17      c:/crossdev/src/mingw-w64-svn/mingw-w64-crt/crt/crt0_c.c: No such file o 
r directory. 
(gdb) cont 
Continuing. 
 
Program received signal SIGSEGV, Segmentation fault. 
0x000000000054cc62 in _62my_sscanf () 
(gdb) cont 
Continuing. 
 
Program received signal SIGSEGV, Segmentation fault. 
0x000000000054cc62 in _62my_sscanf () 
(gdb) cont 
Continuing. 
[Inferior 1 (process 3180) exited with code 0377] 
(gdb) 

Edit:

I built a version with debug info after this.
This lead me to line 1211 in scanner.e

-- I changed the line from 
while c >= '0' and c <= '9' do 
--to  
while c >= '0' and c <= '9' and (length(yytext)<=i) do 

the following error lead me to line 164 in std/datetime.e

-- i changed the line from 
+ floor(greg00/400+.25) 
-- to 
+ floor(greg00/400+0.25) 

The result is, i now have at least a eui.exe (64bit) that is able to run ed.ex.
No further testing right now.
Hope this helps.
Thank you
Andreas

new topic     » topic index » view message » categorize

2. Re: Eu4.1 64Bit on Win8 not working

Hallo

it seems that my last post was mostly nonsense (execpt that the Eu4.1 64bit was not working on Win8) maybe i sit a hour too long in front of the screen ;)

Okay, new try. This time it seems to work really.

Just one change in scanner.e

-- line 1213 
frac = frac * 10 + (c - '0') 
-- to 
frac = frac * 10.0 + (c - '0') 

Can someone explain this to me? I don't understand it.
As it seems that in this function (my_sscanf())mostly '10.0' is used instead of '10' and why makes it only a difference in 64bit. And does this also effect Linux 64bit and other 64bit Windows Versions or only Windows 8?

Thank you
Andreas

new topic     » goto parent     » topic index » view message » categorize

3. Re: Eu4.1 64Bit on Win8 not working

andi49 said...

As it seems that in this function (my_sscanf())mostly '10.0' is used instead of '10' and why makes it only a difference in 64bit. And does this also effect Linux 64bit and other 64bit Windows Versions or only Windows 8?

It doesn't affect 64bit Linux/GNU and it shouldn't affect other 64bit Windoze systems...

I'm not sure why you are seeing this at all on Windows 8.

new topic     » goto parent     » topic index » view message » categorize

4. Re: Eu4.1 64Bit on Win8 not working

jimcbrown said...
andi49 said...

As it seems that in this function (my_sscanf())mostly '10.0' is used instead of '10' and why makes it only a difference in 64bit. And does this also effect Linux 64bit and other 64bit Windows Versions or only Windows 8?

It doesn't affect 64bit Linux/GNU and it shouldn't affect other 64bit Windoze systems...

I'm not sure why you are seeing this at all on Windows 8.

Hallo

thank you for your fast answer.

You say it 'shouldn't' effect other 64bit Windows systems, does this mean you have tested it on any other Windows 64bit System?

As the problem appears hear on my System with Pre-Built binaries (from http://openeuphoria.org/eubins/) and with local built binaries.
Could, please, someone confirm that he uses a Eu4.1 64bit on a real Windows machine without problems?

If so, i will directly accept this. And the bug is on my side (maybe Win8 or my setup).

I just want to know. Becouse i really do not know where i have to look for the failure, on my machine or in Eu4.1

Thank you Andreas

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu