Page 1 of 1

Request() Function Causing DSI Errors

PostPosted: 25. May 2015, 21:16
by Daedalus
Hi guys,
Since updating my AmiBlitz install to get the Str2Adr() function working, the Request() function now causes a freeze of a couple of seconds followed by a DSI error Grip Reaper under OS4. This never happened before I updated. I notice that this is part of ElmoreSysLib, the same lib that contains the StrToAdr() function - has something changed elsewhere in that library?

Ignoring the DSI error lets the program carry on and the requester opens and works as normal. The debugger doesn't catch any problems. I have attached the crash report, but looking at it, the crash disassembly seems a little odd, being much longer than the other lines, but I don't really understand it:

Code: Select all
68k disassembly:
 64d00c7a: ea52                 roxr.w            #5,d2
 64d00c7c: 23c064d00e4c         move.l            d0,0x64d00e4c.l
*64d00c82: 23f90000001464d00e3c move.l            0x14.l,0x64d00e3c.l
 64d00c8c: 42b964d00e40         clr.l             0x64d00e40.l
 64d00c92: 43f964d00e50         lea               0x64d00e50.l,a1


Any ideas? Thanks!

Re: Request() Function Causing DSI Errors

PostPosted: 25. May 2015, 21:27
by Daedalus
As a test, I created a very simple executable:

Code: Select all
WbToScreen 0
ShowScreen 0

x.l=Request("Test","Test Message","Ok|Cancel")

End


The resulting executable also crashes the same way, though the disassembly looks different. I've attached this crashlog as well, hopefully that helps!

Re: Request() Function Causing DSI Errors

PostPosted: 28. May 2015, 14:59
by tomsmart1
Hi,

i can repouse the problem. We need to change ElmoreSysLib.obj because by the change for Null i removed a "#" in
Code: Select all
move.l #SizeOf.EasyStruct,es_structsize

after the compiler error shows up and say to my he can't find the Constant "#SizeOf.EasyStruct".

Today i checked the original Sourcecode of ElmorSyslib.bb2 and it showes up right colored "#" in a red tone and SizeOf in a blue for Tokens and it compiles without any problem and generate the right code with no hit. But if i changed something in that line an undo it the color of SizeOF.EasyStruct changed to same red as "#" and the compiler complains about the constant.

So in the End you find a Tokeniser error that we have to fix !

I look if i can find a workaround.

Re: Request() Function Causing DSI Errors

PostPosted: 30. May 2015, 14:11
by Daedalus
That's great, thanks for your help! Let me know if there's anything I can do to help (testing-wise), though it looks like you have a plan for fixing it.

In the meantime, if a fix for ElmoreSysLib will take a while, please let me know and I can go back to an earlier version of AmiBlitz and use the old Null() function.

Re: Request() Function Causing DSI Errors

PostPosted: 31. May 2015, 16:32
by tomsmart1
I commit a fixed version to the SVN that also include a change/rename of StrToAdr to 'GetGlobalStrAddr' that was suggested by Der Wanderer so update your Instuction index with the Ped Menu!

The workaround is to added a Space between '#' and 'SizeOf.'!

Re: Request() Function Causing DSI Errors

PostPosted: 1. June 2015, 11:49
by Daedalus
That's brilliant, thanks for your quick work! I'll check it out tonight.

Re: Request() Function Causing DSI Errors

PostPosted: 2. June 2015, 22:14
by Daedalus
Yep, that's all working great, thanks very much for your work!