Euphoria
Ticket #394:
Verify callbacks are working on FreeBSD, OSX, and that execute.e's callbacks work on FreeBSD, OSX, and Linux.
-
Reported by
jimcbrown
Nov 15, 2010
We just have a lot of untested changes in this area of the code, so we better not forget to test them.
Details
1. Comment by jeremy
Nov 15, 2010
Are these items tested in our unittests?
2. Comment by jimcbrown
Nov 15, 2010
callbacks are tested in t_dep.e
We have a testeu target that is not run by default, but if run it will test t_dep.e (and thus the callbacks) against eu.ex / execute.e
3. Comment by mattlewis
Nov 15, 2010
Yes. t_dep.e and t_legacy_callback.e should handle these.
4. Comment by mattlewis
Nov 15, 2010
Both t_dep.e and t_legacy_callbacks.e work under Linux's testeu target.
5. Comment by jeremy
Nov 16, 2010
FreeBSD is working as of svn:4150
6. Comment by jeremy
Nov 16, 2010
Handed off to eumario for OS X testing.
7. Comment by eumario
Nov 17, 2010
This is not working still, for t_legacy_callback.e and t_dep.e. Tested with RC1 and latest trunk.
8. Comment by SDPringle
Nov 17, 2010
For each OS in the case of failure we need something more specific than a message on whether or not it fails. We need to know what error message comes from:
eutest t_legacy_callback.e
What error message comes from:
eutest t_dep.e
9. Comment by jimcbrown
Nov 17, 2010
The message for both is missing magic: patch failed.
Doing a dump, the bytes were not found within copy_addr[4] to copy_addr[CALLBACK_SIZE-4]
Doing a more extensive dump, 3 of the 4 bytes were found in copy_addr[CALLBACK_SIZE-3] to copy_addr[CALLBACK_SIZE], then the following byte was a zero instead of the expected 0x12.
Maybe we got callback size set wrong on OS X?
10. Comment by mattlewis
Nov 17, 2010
The easiest thing is probably to just use objdump on be_runtime.o to see how big the call back functions are.
11. Comment by eumario
Dec 04, 2010
mattlewis: I need to know the exact parameters to call objdump on with b_runtime.o on Mac, so that I can give you the information and you can see what is going on with OS X's execute.e's callbacks.
12. Comment by jimcbrown
Dec 04, 2010
This is fixed interpreted, but eu.ex has both tests failing woth machine exceptions still.
13. Comment by jimcbrown
Dec 04, 2010
Also confirmed passing as translated.
14. Comment by jimcbrown
Dec 04, 2010
With the last commit, execute.e is fixed for OS X. So that's everything!