Advertisement

Angelscript on Raspberry Pi

Started by November 10, 2012 01:31 AM
130 comments, last by WitchLord 11 years, 10 months ago
That worked, thanks! Now TestCDecl_ClassK passed. The next error is appearing when calling the armFuncObjLast function, but since I still haven´t worked on it that´s to be expected.

I´ll let you know how it goes.
(and after almost 20 days.....)

All tests passed succesfully!!!

I only modified the armFunc, armFuncR0 and armFuncObjLast functions, but the others passed their respective tests too... what can that mean?

What´s the next step? I guess trying to pass the tests that were commented out.

I´ll be awating instructions!
Advertisement
It's quite possible that my tests don't cover all situations required to fully test the ABI. I'll take a look at those later to see if the tests really should cover the other ARM funcs too. But I wouldn't worry too much about that. We'll have to make adjustments later as the problems are discovered.

I suggest running the rest of the test suite to see if there is nothing seriously wrong. If you don't find any errors, I'd like to receive the code you've changed so far so I can merge it with the SDK.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Ok, I´ll run the others tests. There´s also one little thing that´s bugging me, so I´ll have a few more rounds with the code.
I´ll be back!
I´ve got some errors with the other tests:

The Addon_debugger passed.
The scriptbuilder test reports an "unexpected token "[" at 38,2 and 39,2 and fails. The I get a segmentation fault.

I commented out the scriptbuilder test and scriptMath and serializer tests passed, but then the GC complaint that it couldn´t free an object of type "_builtin_function_" because it was being kept alive by the app.

Then the ScriptHandle and ScriptArray tests passed and I got a segmentation fault.

I tried commenting the first 4 tests (debugger, scriptBuilder, Math and serializer) and I got the GC complaints at the beginning. Then ScriptArray and ScriptHandle passes, the segmentation fault.

Any ideas of where to look for the problem? I´m guessing the asm routines?

EDIT: No, it´s not the asm routines. I commented out only the first test, then the scriptbuilder fails with the "unexpected token" message and then I get the seg fault, with no asm functione being called.
I had similar problems when testing on Linux before the release of 2.25.2. These were all fixed, so I suggest you merge your changes with the latest release and see if the problems remains.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Advertisement
Tried with AS 2.25.2, and got almost the same behaviour. There´s no more "unexpected token" error, but after a couple of tests I get the "CG couldn´t free object of type "_builtin_function_" and the a segmentation fault.
It could be a platform specific problem. Without debugging the code myself it's really hard to guess what is wrong.

Can you skip this test and see how many of the others that work successfully?

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Ok, just tested disabling some of the tests:

- If I disable all the first 7 tests (the Addon tests) then the seg fault is gone until the TestRefArgument test is executed. It produces a seg fault.

- There is a number of tests that produce assertion failures. These are:

TestScriptClassMethod
TestScriptString
TestCompiler
TestRegisterType
TestVector3
TestStdString

I guess these assert failures mean I still have to tweak the code to make it work. But what about the seg faults caused by the addons?
It's possible the segfaults are due to the code for the native calling conventions are not properly cleaning up the stack after returning, or that the armFuncs don't keep the value of registers that are not supposed to be modified. It could also be something else entirely. It is almost certainly platform specific though as these problems don't happen on other platforms.

The only way to know for sure is to debug and find the cause.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement