SRL Archive - Help and Support

Help!


masterBB

2011-07-04 14:59:04

FATAL ERROR in native method: Bad global or local ref passed to JNI
Running SMART Destructor

I can't search with my interface debugger anymore. I put my search method between try and finally, now instead of just closing or freezing it gives me an error. Jeej. Does anyone know what the problem could be.

edit:
try
for i:= 0 to High(interfaces) do
begin
Inc(l);
Disguise('searching... will take a while -> ' + IntToStr(i) + '/' + IntToStr(High(interfaces)));
interfaceChildren := R_GetValidChildren(interfaces[i]);
for j:= 0 to High(interfaceChildren) do
begin
Inc(l);
writeln(j);
interfaceComponents := R_GetValidComponents(interfaces[i],interfaceChildren[j]);
for k:= 0 to High(interfaceComponents) do
begin
writeln(k);
Inc(l);
if(IsVarInComponent(R_GetInterfaceComponent(interfaces[i],interfaceChildren[j],interfaceComponents[k]),whatSort,what)) then
begin
setLength(SearchResults,Length(SearchResults)+1);
SearchResults[High(SearchResults)] := newTInterfaceRoute(interfaces[i],interfaceChildren[j],interfaceComponents[k]);
end;
end;
if(IsVarInChild(R_GetInterfaceChild(interfaces[i],interfaceChildren[j]),whatSort,what)) then
begin
setLength(SearchResults,Length(SearchResults)+1);
SearchResults[High(SearchResults)] := newTInterfaceRoute(interfaces[i],interfaceChildren[j],-1);
end;
end;
end;
finally
writeln('survived!');
end;

Smarter Child

2011-07-04 17:17:34

Paste code please?

masterBB

2011-07-04 18:39:05

The code seems nothing interesting. Will add it to this post. I think it's reflection, not sure though.

TomTuff

2011-07-04 19:02:57

Run this:


program Test;
{$DEFINE SMART}
{$i SRL\SRL.Scar}
{$i Reflection\Reflection.Simba}

begin
Smart_Server := 99;
Smart_Signed := True;
SetupSRL;
end.

do you get the error? If so, it's something with your Simba/SRL/Smart/Reflection setup. Otherwise, it's something in your script or it could be in a function in reflection/SRL (probably reflection). If you're using Reflection 2(.1), don't forget there are some plugins you need to move.

masterBB

2011-07-04 19:13:29

From: TomTuff
Run this:


program Test;
{$DEFINE SMART}
{$i SRL\SRL.Scar}
{$i Reflection\Reflection.Simba}

begin
Smart_Server := 99;
Smart_Signed := True;
SetupSRL;
end.

do you get the error? If so, it's something with your Simba/SRL/Smart/Reflection setup. Otherwise, it's something in your script or it could be in a function in reflection/SRL (probably reflection). If you're using Reflection 2(.1), don't forget there are some plugins you need to move.


You're aware off that this is still a functioning interface debugger? The problem is very similar of a javastring overflow. But I don't think it is an overflow. It happens most common after 200-2000 searches. Depending on what my system feels like. It occur in the ref 2.1 include at the R_GetInterfaceChild function. Maybe it has to do something with the memory?

edit: My first line seems a bit offensive to me. Sorry, I'm just crawling through the reflection 2.1 include for hours already :(.