ashlog: general
#33075
22 Jul 20 08:55 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Good day - Was it Jorge that cristened 2020 "The year of the ashlog?"? Or the revenge of the ashlog? Either way repelling down the ashlog well can result in never returning, but for now i have a simple question - parusing ours i see lots of asMessageBox(...verbiage here) messages. I have no traces turned on right now other than BASERR. Any idea what and why these are tracked? I will most likely uncover more of these sorts of entries as i try to make my large servers more efficient... just figured i'd start here. No rush whatsoever. (either way, we can still blame Jorge, right?!) TIA
|
|
|
Re: ashlog: general
[Re: Frank]
#33076
22 Jul 20 09:07 PM
|
Joined: Sep 2003
Posts: 4,158
Steve - Caliq
Member
|
Member
Joined: Sep 2003
Posts: 4,158 |
I think they are xcall mesag / asMessageBox() and sneaked into non-debug Ashlog.log in version x and sneaked out after version y, as I highlighted them while back.
|
|
|
Re: ashlog: general
[Re: Frank]
#33077
22 Jul 20 09:20 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Any idea what version Y is??
|
|
|
Re: ashlog: general
[Re: Frank]
#33078
22 Jul 20 09:22 PM
|
Joined: Sep 2003
Posts: 4,158
Steve - Caliq
Member
|
Member
Joined: Sep 2003
Posts: 4,158 |
All I remember is it’s after X ...
|
|
|
Re: ashlog: general
[Re: Frank]
#33079
22 Jul 20 09:38 PM
|
Joined: Jun 2001
Posts: 3,406
Jorge Tavares - UmZero
Member
|
Member
Joined: Jun 2001
Posts: 3,406 |
You're right Frank, this is the year for me to trace all those traces in ashlog but I'm not getting those asMessageBox. Maybe another GPS related issue, but this time only affecting sites located in high mountains?
Jorge Tavares
UmZero - SoftwareHouse Brasil/Portugal
|
|
|
Re: ashlog: general
[Re: Frank]
#33080
22 Jul 20 09:48 PM
|
Joined: Jun 2001
Posts: 11,794
Jack McGregor
Member
|
Member
Joined: Jun 2001
Posts: 11,794 |
For a guy who admits to having the occasional loose screw, he sure has his logic down pat! Indeed: X (6.1.1335) > Y (6.5.1673) The idea behind it originally was to log messages that we had reason to be believe (from the MBICON choice) were errors. But due to the odd encoding of the MBICON values (in MSGBOX.SBR) it was also picking up the MBICON_QUESTION option, i.e. message boxes that were merely asking a question. As it stands now, it still logs MSGBOX calls that specify the MBICON_EXCLAMATION or MBICON_STOP options, again, on the theory that those probably suggest conditions that might be useful when reviewing the ashlog later. (Admittedly, here we get into a gray area as to whether application-level warnings belong in the ashlog, since you may already have your own log file for that. But when I find myself scanning through someone's ashlog looking for an explanation for a problem, I usually appreciate all the clues can get.)
|
|
|
Re: ashlog: general
[Re: Frank]
#33081
22 Jul 20 09:48 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Or maybe infected with Covid?!! Were running 6.5.1663.0 So im sure more current version has it sorted.. if yours and Steves are good to go.
|
|
|
Re: ashlog: general
[Re: Frank]
#33082
22 Jul 20 09:50 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Crossed posts - thanks Cap!
|
|
|
Re: ashlog: general
[Re: Frank]
#33083
23 Jul 20 10:17 AM
|
Joined: Sep 2003
Posts: 4,158
Steve - Caliq
Member
|
Member
Joined: Sep 2003
Posts: 4,158 |
The great 2020 ashlog review continues... I see the following at one customer, old-code and no PSTDIS.CSV exists in the ppn in question, there is a LOOKUP before and OPENs etc so curious whats "unlink" mean?
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
<OEDESK:0x129b13> unlink(/madics/miame/dsk0/241001/pstdis.csv) returns -1 (2)
|
|
|
Re: ashlog: general
[Re: Frank]
#33084
23 Jul 20 02:34 PM
|
Joined: Jun 2001
Posts: 3,406
Jorge Tavares - UmZero
Member
|
Member
Joined: Jun 2001
Posts: 3,406 |
Yeah! it's unbelievable the unknow staff that runs underlines in the ashlog world Besides less intense than I wish, I've fixed several things and improved performance in my incursions on that world. Steve, regarding the unlink, maybe you can find some relation with this topic Have fun
Jorge Tavares
UmZero - SoftwareHouse Brasil/Portugal
|
|
|
Re: ashlog: general
[Re: Frank]
#33085
23 Jul 20 02:50 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Sort of like cleaning out the garage...
|
|
|
Re: ashlog: general
[Re: Frank]
#33086
23 Jul 20 03:00 PM
|
Joined: Sep 2003
Posts: 4,158
Steve - Caliq
Member
|
Member
Joined: Sep 2003
Posts: 4,158 |
It sure is Frank, more so when I stumbled on a program that needs tweaking and still going strong for....34 years!
DATE: 08/APR/1986 JOB CODE: 259 INITIALS: PCW
COMMENT: ENHANCEMENTS TO BUDGET GENERATION ROUTINE
|
|
|
Re: ashlog: general
[Re: Frank]
#33087
23 Jul 20 03:03 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Never know what you might find under all that clutter!!
|
|
|
Re: ashlog: general
[Re: Frank]
#33088
23 Jul 20 03:35 PM
|
Joined: Jun 2001
Posts: 11,794
Jack McGregor
Member
|
Member
Joined: Jun 2001
Posts: 11,794 |
The unlink trace should only appear (under A-Shell/UNIX) when the FOPENS trace is enabled. OR if there is an error in the unlink operation (which in this case there is.) The errno value is the one in parentheses, i.e. (2), aka ENOENT, which means "no such file". So the application is apparently trying to unlink a non-existent file. Why "unlink"? The somewhat exotic sounding term is actually the standard UNIX system call underlying any command that erases or removes files. In other words, when you use ERASE.LIT (or any equivalent) to erase a file under A-Shell/Linux, the underlying operation will involve a call to the unlink() system library function. The reason why it is called "unlink" is because in the UNIX world, it's quite possible for there to be multiple directory entries (often in different directories) which point to the same file. (There are actually two types of these, symbolic and direct links,but let's not get too deep into the weeds.) When you "unlink" one those directory entries, if the directory entry is just a link to a file stored under a different name, then the operation just removes the link, i.e. removes the alias, i.e. unlinks file data from that alias name. Only if the specified directory entry links to the real file does the file itself get removed. An example occurs with library modules, which typically include the version of the library in the name of the real file, and then we create one or more symbolic links with abbreviated names pointing to the same file, e.g.
$ ls /usr/lib/libashmysql*
lrwxrwxrwx. 1 root root 45 Nov 17 2019 /usr/lib/libashmysql.so.1 -> /vm/bin/libashmysql.so.1.4.143
The above illustrates the scenario where we have a file /vm/bin/libashmysql.so.1.4.143, and also a symbolic link to it ( /usr/lib/libashmysql.so.1 ) in a standard location ( /usr/lib) and with an abbreviated name which insulates the application from having to know the latest version number of the library. (The .so.1 extension identifies the compatibility version, i.e. 1). If you erase /usr/lib/libashmysql.so.1, you're really just unlinking that alias from the actual file. If you erase /vm/bin/libashmysql.so.1.4.143, then you're removing the real file. (Removing a real file does not remove the symbolic links to it, but those would effectively become broken links, acting like non-existent files if you tried to access them. (That might even be related to the cause of your unlink errors?) (In the case of direct links, they all have equal status and the system will not remove the actual file until there are no more links to it.)
|
|
|
Re: ashlog: general
[Re: Frank]
#33089
23 Jul 20 03:42 PM
|
Joined: Sep 2003
Posts: 4,158
Steve - Caliq
Member
|
Member
Joined: Sep 2003
Posts: 4,158 |
ah! Thank-you for the explanation... I'll tweak the program to try to stop the unlink error showing in the ashlog.
|
|
|
Re: ashlog: general
[Re: Frank]
#33090
23 Jul 20 05:28 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
So in Steve's case above, wouldn't that have generated an error message? Actually i just tried it and there is no ashell generated error when executing a KILL on a non-existent file. Shouldn't there be a "File Not Found" message?
|
|
|
Re: ashlog: general
[Re: Frank]
#33091
23 Jul 20 05:30 PM
|
Herman Roehm
Unregistered
|
Herman Roehm
Unregistered
|
|
|
|
Re: ashlog: general
[Re: Frank]
#33092
23 Jul 20 05:52 PM
|
Joined: Jun 2001
Posts: 11,794
Jack McGregor
Member
|
Member
Joined: Jun 2001
Posts: 11,794 |
It's debatable whether it should trigger an error, but at some point long long long ago (possibly last century) it was deliberately changed to stop triggering the error in the case of a mere attempt to delete a file that doesn't exist. (Probably because ... what would be the point in complaining that the thing you're trying to accomplish has already been accomplished?)
It is, however, still possible to trigger a Basic error on certain KILL errors, such as invalid filespecs. Or in strict mode, an attempt to kill a file outside your project.
Note that ERASE.LIT will report a "%No Files Deleted" message on a failed kill.
|
|
|
Re: ashlog: general
[Re: Frank]
#33093
23 Jul 20 06:08 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Seems inconsistent to me to allow the code to execute something that is improper... no matter the intended result. However, if Herman is happy with it, who am i to argue...
However - if i try to allocate a file that already exists, it does create an error. Using your logic, if all i was trying to do was already done, then why not just allow bygones be bygones?
Last edited by Frank; 23 Jul 20 06:11 PM.
|
|
|
Re: ashlog: general
[Re: Frank]
#33094
23 Jul 20 06:28 PM
|
Herman Roehm
Unregistered
|
Herman Roehm
Unregistered
|
Maybe an option, Frank?
Jack loves those!
Last edited by Herman Roehm; 23 Jul 20 06:28 PM.
|
|
|
Re: ashlog: general
[Re: Frank]
#33095
23 Jul 20 06:31 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Right Herman! But not important enough for me to burn a future request on
|
|
|
Re: ashlog: general
[Re: Frank]
#33096
23 Jul 20 07:26 PM
|
Joined: Jun 2001
Posts: 11,794
Jack McGregor
Member
|
Member
Joined: Jun 2001
Posts: 11,794 |
That's probably a wise choice!
But to respond to your observation about the lack of symmetry between complaining about an attempt to allocate an already-allocated file, vs deleting an already-deleted file, I think there is a potentially significant difference. In the deletion case, all deleted files are the same, so it doesn't really matter how we got to that state. But in the allocation case, a newly allocated file will be empty, and of a certain size, whereas if the file was previously allocated, it might contain data and be of a different size. So the end result of not-allocating an already-existing file is likely to be different (i.e. worthy of an error) than the end result of actually allocating the file.
|
|
|
Re: ashlog: general
[Re: Frank]
#33097
23 Jul 20 09:08 PM
|
Joined: Sep 2002
Posts: 5,471
Frank
OP
Member
|
OP
Member
Joined: Sep 2002
Posts: 5,471 |
Symantics... Agreed.
|
|
|
|
|