1. Eu 4.1cf eu 4.05 - breaks down with SOME d

Forked from Re: Euphoria 4.1 problem - as relates to tinewg

jimcbrown said...
andi49 said...

Edit2: On the other side, this seems not to affect the function ...

I guess this is the major sticking point.

Does anyone have any example code that can actually demonstrate where the 4.1 behavior here actually breaks something? Otherwise, it's simply just a display issue.

Which is not to say we shouldn't fix the display issue, but it may have a lower priority than the switch bug.

new topic     » topic index » view message » categorize

2. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d

Hi

Thought I'd start a table here, because it attracts more activity than the wiki (afaik)

Test bed - windows only : Windows 8.1 64 bit system 32 bit euphorias in /bin
eui405.exe 505kb
~reports using managed memory
~revision date 2012-10-11
eui410.exe 2018Kb
~reports using system memory
~revision date 2015-02-02
euiw405 and euiw410 report similar

includes ~most up to date I can get, I think, but as there is no versioning, can't be sure. The same include set is used for 405 and 410, the 410 set being installed over the 405 set

Always 32 bit windows, and 32 bit dll
eu.cfg used in program directory to point to location of required includes

program run from editplus, with choice of eui405, euiw405, eui410, euiw410.
So far no difference between eui and euiw as far as running goes

if the example program doesn't run, then there is no crash, or crash message, it just stops, and dumps you back to the command line.

DLL works with eui405 works with eui410
sqlite3 yes no
sdl yes no
opengl yes yes
win32lib yes yes
exoticax yes no
allegro yes no
morfit (although is very old) yes no
Arwen yes no (crashes with type check failure in machine.e
sdl2 no (machine level exception) no
iup4eu no yes
iup (Jeremy version) yes no
Nexus yes no

This list is not yet complete - if you want to post your tests, I will update the table to reflect them. Note, if your setup indicates that these programs do run with these combos, then that is an equally valid result - post here.

Cheers

Chris

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

3. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d

ChrisB said...

This list is not yet complete - if you want to post your tests, I will update the table to reflect them. Note, if your setup indicates that these programs do run with these combos, then that is an equally valid result - post here.

Cheers

Chris

The Arwen bundle on the contributions page is quite old (2007) so I guess it's not surprising that it doesn't work with 4.10 as shown in your table. However, my latest development version (2016) will start to run but then silently closes at some program event - usually within a few seconds from execution. I'm not sure if your table even needs to be updated. Just fyi

Spock

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

4. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d

Hi

Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.

Cheers

Chris

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

5. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d

ChrisB said...

Hi

Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.

Cheers

Chris

windows dll routines never need '+', (with the possible exception of a few variable argument functions) only 3rd party built dll by default use or don't use cdecl

the problem with Arwen 2007 was with sizeof() being already defined in eu4.1, I'm not sure why it didn't always resolve to the Arwen defined function.

if you edit all the use of sizeof( to get_sizeof( the few demos I tried work in euphoria 41 ok.

they won't work with a 64 bit euphoria 4.1 without more extensive changes because of the hardwired assumption that pointers are 4 bytes. many of the archive libraries took liberties with C_TYPES since in 32 bit euphoria most types seemed to work interchangeably. you would also need to change poke4 of pointers to poke_pointer

if you define -D SAFE on the commandline, you can sometimes find there are allocation or out of bounds peeks and pokes even with programs that you get lucky and they still work.

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

6. Re: Eu 4.1cf eu 4.05 - breaks down with SOME d

ne1uno said...
ChrisB said...

Hi

Looks like dll crash to me. It's the silence which I think is giving it away. Jim has suggested added a '+' to the dll call, will be giving this a go in due course.

Cheers

Chris

windows dll routines never need '+', (with the possible exception of a few variable argument functions) only 3rd party built dll by default use or don't use cdecl

the problem with Arwen 2007 was with sizeof() being already defined in eu4.1, I'm not sure why it didn't always resolve to the Arwen defined function.

if you edit all the use of sizeof( to get_sizeof( the few demos I tried work in euphoria 41 ok.

they won't work with a 64 bit euphoria 4.1 without more extensive changes because of the hardwired assumption that pointers are 4 bytes. many of the archive libraries took liberties with C_TYPES since in 32 bit euphoria most types seemed to work interchangeably. you would also need to change poke4 of pointers to poke_pointer

if you define -D SAFE on the commandline, you can sometimes find there are allocation or out of bounds peeks and pokes even with programs that you get lucky and they still work.

Hi

I modified sqlite3 to add a '+' in front of the dll calls - and it worked with both 4.05 and 4.1, whereas it only worked with 4.05 before, so the table can now be updated. I don't know why either. The calls with or without the '+' work in Phix, which supports the not required hypothesis.

Cheers

Chris

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

Search



Quick Links

User menu

Not signed in.

Misc Menu