Shell around the Debugger (AREV Specific)
At 15 SEP 2004 01:30:38PM Ralph Johler wrote:
I have a shell that wraps the RTI $RTP25 object code, and prevents our Arev service from hanging on the debugger (since our Arev service runs without an active screen as an Win2K service, there no way to press 'G' or type 'off' or even see arev!).
While this is all good, so far I can only execute a logoff, and can't find how to "grab" the debugger message (which actually is coming out of STDIOERR? or something else) so my debugger wrapper can log the errror before the 'off'.
Some time way back, there were a few postings on 'shelling the debugger' which ended with the idea to read REVERROOR.000 file which I see isn't being updated on our system by the debugger. We are using Arev 3.12.
Any help please?
At 16 SEP 2004 02:26AM [email protected] wrote:
If you don't get any responses here free to contact us offline as we do this in the AREV version of SWEB (for obvious reasons :))
The Sprezzatura Group Web Site
World Leaders in all things RevSoft
At 16 SEP 2004 04:12AM Hippo wrote:
I have patched the debugger to send a SMS (=e-mail) through a VBS script:
It depends on your system security policy whether you allow using VBS scripts. At least its easy to adopt the code just to write error information to a file. DEBUG.INFO was got from the thread mentioned by you if I remember it well).
SUBROUTINE MAIL_DEBUGGER
$INSERT LF_FINS,SYSTEM_CMN
COMMON /MAIL_DEBUGGER/ IN%DEBUGGER
DECLARE SUBROUTINE DEBUG.INFO,RTP25_ORI,HRS_MAIL,HRS_ERROR
USR='; TEL='
* grab USR and TEL …
IF UNASSIGNED(IN%DEBUGGER) THEN IN%DEBUGGER='
IF IN%DEBUGGER ELSE
IN%DEBUGGER=1
DEBUG.INFO(SF,S,ProgName,LineNo,Flags,Image)
HRS_ERROR(ERR_TXT)
HRS_MAIL(USR:'(':TEL:'),':@LAST.ERROR:',':ProgName:',':LineNo,ERR_TXT,'mail@mail','')
END
RTP25_ORI()
IN%DEBUGGER='
RETURN
SUBROUTINE HRS_MAIL(SUBJECT,BODY,TO,CC)
EQU CRLF$ TO CHAR(13):CHAR(10)
DECLARE SUBROUTINE MSG
USR=' ; * grab USR
IF UNASSIGNED(TO) THEN
MSG('HRS_MAIL to required')
RETURN
END
L_TO=TO
IF UNASSIGNED(BODY) THEN BODY='
L_BODY=BODY:'" & CHR(13)&CHR(10) & CHR(13)&CHR(10) & "':USR
IF UNASSIGNED(CC) THEN CC='
L_CC=CC
IF UNASSIGNED(SUBJECT) THEN
MSG('HRS_MAIL subject required')
RETURN
END
L_SUBJ=SUBJECT
SCRIPT =Set myOlApp=CreateObject("Outlook.Application")':CRLF$
SCRIPT:=Set myItem=myOlApp.CreateItem(0)':CRLF$
SCRIPT:=myItem.Subject=:L_SUBJ:'"':CRLF$
SCRIPT:=myItem.Body=:L_BODY:'"':CRLF$
SCRIPT:=myItem.To=:L_TO:'"':CRLF$
SCRIPT:=myItem.CC=:L_CC:'"':CRLF$
SCRIPT:=myItem.Send':CRLF$
OSWRITE SCRIPT TO "C:\AREV.VBS"
PCPERFORM "C:\WINDOWS\WSCRIPT.EXE C:\AREV.VBS"
RETURN
SUBROUTINE HRS_ERROR(ErrTxt)
* Fills ErrTxt with error message corresponding to last error
DECLARE SUBROUTINE RTP51
ErrTxt=';STATUS=0
RTP51(22,"RTP51","","","","",STATUS)
HRevError=RTP51":@VM:"REVERROR.000"
READ ErrorRow FROM HRevError, Error_No THEN
Zero=0
LOOP
REMOVE NextLine FROM ErrorRow AT Zero SETTING MoreIF NextLine THENLineFlag=NextLine1,1;NextLine1,1='BEGIN CASECase COUNT('EH',LineFlag)IF ErrTxt THEN ErrTxt:=@VMErrTxt:=NextLineCase LineFlag=A'; NULLCase LineFlag=L'; ErrTxt:=@VMEND CASEENDWHILE More
REPEAT
LOOP
WHILE ErrTxt-1,1=@VM
ErrTxt-1,1='REPEAT
ErrTxt=TRIM(ErrTxt)
END ELSE
ErrTxt=No Error Text Found'
END
RETURN
At 16 SEP 2004 04:21AM Hippo wrote:
Sorry, you have problems with REVERROR.000 file … the code uses it.
At 16 SEP 2004 12:33PM Ralph Johler wrote:
Even with the REVERROR.000 not working here, the information in the DEBUG.INFO subroutine, (Line No especially) would be all we need.
Unfortunatly I can't find the source to Debug.info and it isn't a sysobj item.
Anyone know how to drag that Line No out of the debugger, or know how/have source to Debug.info?
At 16 SEP 2004 01:00PM Mike Ruane wrote:
You guys are starting to set off licensing alarms…
At 16 SEP 2004 03:36PM Ralph Johler wrote:
Please don't hurt me Revguy!
We are only trying to stop the debugger from using all of the CPU time. CPU+ (from Steve Smith) seems to get unloaded when the debugger is invoked (maybe more correctly a new input.char is launched).
So if we have 5 arev sessions running on a pc, and one gets into the debugger, the other four sessions start grinding due to lack of CPU time. Since the bad session is dead, we would like to capture minimal debug info (program, line number and error no), log that, and logoff.
The exciting thing is that our uber geek has Arev running as a service on Win2K over our Novell Netware, BEFORE the user logs into the Winders box. So if we lose power, Arev re-starts all by itself. Netware logins are handled by the service, as are the Arev logins, so all license counts are used legally, so there.
![]()
Any idea where DEBUG.INFO went, or came from? I only really need to get the line number, since our REVERROR.000 file was last updated in 1993 (no errors in 11 eleven years!).
At 17 SEP 2004 10:38AM Hippo wrote:
Ralph,
My "most recent posts have been removed from the website as they are publicly posting hacks into Arev system code."
… so contact sprezz, they are probably allowed to help you.
At 17 SEP 2004 11:11AM Mike Ruane wrote:
Guys-
Decompiling the system code is a clear violation of license. No one is allowed to do so.
Hippo posted object code that did that. His postings were removed, and his username was pulled. Hippo has been asked to contact Revelation via email.
Use some common sense here with this kind of stuff.
Thanks
Mike Ruane
Revelation Software
(in case someone doesn't know)
At 17 SEP 2004 12:04PM Hippo wrote:
I am sorry for doing that.
I have problems with finding limits.
What are we allowed to do?
Did I failed when I have writen my own MFS?
(My first postings when noone can help me prevent our client table from collapsing (undocumented READNEXTING/ALPHA problem).)
Did I failed when I have writen my own precompiler
(meaning tool for reducing source size under 35kB)?
Did I failed when I have written tool for searching application source codes (in database) to allow efficient recoding?
Did I failed when I replaced $RTP25 with my $RTP25?
What is code and what are data?
I have probably failed when I was looking inside $records, is it?
I cannot found answers in the license section.
I was doing it because without it I was not able to maintain our database so efficiently (or at all). I feel this is Ralphs problem now (meaning LineNo). Are these few bytes so valuable?
At 17 SEP 2004 02:15PM Ralph Johler wrote:
Mike
Please understand I am trying to extend the life of our Arev applications, and hence our business relationship with RTI. I and my employer have no intent beyond this simple task.
While I may have stimulated discussion into the licensing areas, the fact remains that I am still faced with a problem, be it ever so tiny, and I would like a better solution.
I have pursued the "Sprezz Connection" to see if we can solve our problem the right way. Or if there is another way to solve it off-forum, I'd love to hear about it!
We don't decompile object code (unless it's ours and have lost source code or have permission) and follow your license to the best of knowledge and ability. Operation of our business is of primary importance to us and if extended support beyond the normal licensing is available we understand it may require additional cost.
Ralph Johler
The Customer
At 17 SEP 2004 05:16PM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
Sheesh Hippo - this is incredible. It's possible that this is simply a cultural misunderstanding but Mike fired a warning shot across bows about licensing regulation. AFTER this you then made posts which expose internal proprietary information which can only have been obtained by breaching the license (decompilation). Whether you did this or a third party is irrelevant.
The point remains - this is not a public forum it is a "private" forum. We're guests so we don't have an unrestricted right to free speech - especially where such free speech exposes proprietary information. Some etiquette must be followed.
If postings like this must exist it is more fitting in a private context such as email.
World Leaders in all things RevSoft
At 18 SEP 2004 02:31AM Hippo wrote:
Cultural misunderstanding … it seems to me, too.
I read documentation when everything fails and often cannot find solutions even in documentation. I usually don't waste time collecting all possible documentation.
Therefore I contacted this on line discussion.
Do I understand it well that only the topic which can be found in a documentation can be discussed here?
When I start working with AREV, I obtained a lot of tables and records and rights to change them (btw. I obtained the documentation to R/Basic and TCL later).
Noone told me the $RECORDS are forbidden area.
(It was big waste of time to understand them a bit, I hoped it allows better understanding of AREV, btw. I don't have access to a decompiler).
It seemed to me AREV is almost GNU.
I am working at university, I am a big fun of DEK (TeX).
I thing answering simple questions quickly prevents users from searching all possible sources of information.
Clear declaration of limits do so.
At 18 SEP 2004 03:34AM [url=http://www.sprezzatura.com]The Sprezzatura Group[/url] wrote:
The license is quite clear about what is and is not permitted. One of the big "No No"s is decompiling system routines as this exposes proprietary information. The simple answer would be that if you cannot create the program you have by using the normal compiler then that program uses proprietary information. (There is a second version of the compiler called the "System Compiler" which is used to do this.)
Now whilst it is possible to create such programs WITHOUT a system compiler and it is possible to obtain such information without decompiling this is not particularly common. For this reason postings that reference these system variables are seen as outside of the scope of this forum as they expose information that Revelation consider to be proprietary. As this is their forum they can set the limits on what they consider to be proprietary.
For example - would you document on this forum how Revelation keep track of license counts? Obviously not as this would enable people to write their own ways around licensing. The same holds true of SOME of the system variables therefore providing hints about how to get hold of ANY system variables provides pointers re: the more sensitive ones.
As this is a public forum you have no way of ensuring that it is read only by people who have Revelation's best interests as heart - hence the suggestion re: email - at least then you know who you are talking to.
As for AREV's being almost GNU - emphatically not. Revelation still actively sell AREV licenses and actively pursue people who copy their software without paying the relevant license fees.
As to whether you can only discuss here documented matters - that is not the case. Non proprietary matters would be more accurate. As an example review all of the REVMEDIA articles at http://www.sprezzatura.com. There is a wealth of undocumented information there that does not expose proprietary information and is available free of charge now (it was charged at $199 per volume back in the late '80s early '90s).
Hope this clears it up a bit for you.
World Leaders in all things RevSoft
At 18 SEP 2004 04:00AM Hippo wrote:
Thank Sprezz, it's much more clear now.