1. langwars - eu4.0 causeway prob (sorry)

Hi

You're going to love this!

I've uploaded a zip of the modified langwar files to

http://www.box.net/shared/lvc5e8k5h0

I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.

Anybody any ideas?

Chris

new topic     » topic index » view message » categorize

2. Re: langwars - eu4.0 causeway prob (sorry)

Hi

Naturally I tried SAFE at the top of lw.ex, and got

C:\EUPHORIA\include\std/filesys.e:348 
A namespace qualifier is needed to resolve 'allocate_string' 
because 'allocate_string' is declared as a global/public symbol in: 
    C:\EUPHORIA\include\std\memory.e 
    C:\EUPHORIA\include\std\safe.e 
 
	pname = allocate_string(dir_name) 

How do I resolve that? If I start messing with the std lib, will it still be std - or just another random collection of used to be fairly std ish libs?

relevant code

with define SAFE 
public include std.e 
public include std/machine.e 
public include std/error.e 
public include std/console.e 
public include std/types.e 
 
....... 

Really really sorry

Chris

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

3. Re: langwars - eu4.0 causeway prob (sorry)

ChrisB said...

Hi

Naturally I tried SAFE at the top of lw.ex, and got

C:\EUPHORIA\include\std/filesys.e:348 
A namespace qualifier is needed to resolve 'allocate_string' 
because 'allocate_string' is declared as a global/public symbol in: 
    C:\EUPHORIA\include\std\memory.e 
    C:\EUPHORIA\include\std\safe.e 
 
	pname = allocate_string(dir_name) 

How do I resolve that? If I start messing with the std lib, will it still be std - or just another random collection of used to be fairly std ish libs?

relevant code

with define SAFE 
public include std.e 
public include std/machine.e 
public include std/error.e 
public include std/console.e 
public include std/types.e 
 
....... 

The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need. But anyhow, the problem is that std.e wrongly includes memory.e and one is not supposed to have both memory.e and safe.e in the same program.

The quick fix for you is to edit your copy of safe.e to remove the include of memory.e. I'll fix up the files in the SVN for a later release.

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

4. Re: langwars - eu4.0 causeway prob (sorry)

Hi

Hmm - safe.e does not include memory.e

Chris

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

5. Re: langwars - eu4.0 causeway prob (sorry)

ANd its filesys.e that includes memory.e, so presumably any user written program that says it wants to include safe.e (with define safe) and filesys.e will always run into this problem.

Chris

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

6. Re: langwars - eu4.0 causeway prob (sorry)

DerekParnell said...

The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need.

Heh - thats what an alpha tester does - stuff you're not supposed to do!

Chris

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

7. Re: langwars - eu4.0 causeway prob (sorry)

ChrisB said...

Hmm - safe.e does not include memory.e

Who said it did?

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

8. Re: langwars - eu4.0 causeway prob (sorry)

ChrisB said...

ANd its filesys.e that includes memory.e, so presumably any user written program that says it wants to include safe.e (with define safe) and filesys.e will always run into this problem.

Yes. That's why I just fixed all the instances of 'include std/memory.e' to include 'std/machine.e' instead. Can you get the latest SVN copy or are you relying on the 'alpha' zips?

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

9. Re: langwars - eu4.0 causeway prob (sorry)

ChrisB said...
DerekParnell said...

The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need.

Heh - thats what an alpha tester does - stuff you're not supposed to do!

I did not say "not supposed to use". I said "not recommended". Big difference.

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

10. Re: langwars - eu4.0 causeway prob (sorry)

ChrisB said...

I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.

I've been trying to work through this and its proving to be very difficult. My guess so far is that the Euphoria tasking mechanism is not working well. In any case, something is corrupting memory as it runs. Finding the culprit is difficult because adding any form of tracing into the program changes the program and thus seems to change where the problem lies.

Maybe someone else has some insights????

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

11. Re: langwars - eu4.0 causeway prob (sorry)

DerekParnell said...
ChrisB said...

I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.

I've been trying to work through this and its proving to be very difficult. My guess so far is that the Euphoria tasking mechanism is not working well. In any case, something is corrupting memory as it runs. Finding the culprit is difficult because adding any form of tracing into the program changes the program and thus seems to change where the problem lies.

Maybe someone else has some insights????

The previous problems with tasking revolved around the temporary code buffer in

be_task.c::scheduler() said...

static int **code[3];

It could be that Causeway doesn't like however Watcom implements this. You might try moving the declaration to outside of the function.

Matt

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

12. Re: langwars - eu4.0 causeway prob (sorry)

mattlewis said...

You might try moving the declaration to outside of the function.

Didn't make any difference. sad

I don't know if its the tasking, that is only a guess. But memory is definitely being corrupted though. For example, in some of my tests, sequences that were constant turned into atoms!

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

Search



Quick Links

User menu

Not signed in.

Misc Menu