Question Symix 4 Browser Function Not Working

kpprokop

New Member
I'm hoping someone can help me with this - I'm completely stumped. We have a symix 4 database running on AIX version 6, progress 9. As of a couple of days ago, users were able to run reports and use the browser function to view the reports, but now they receive a message ** Unable to open file: /16158_1349055. Errno=2. (98), ** Unable to open file: ?. Errno=9. (98). I thought maybe symix was writing to the \tmp file system and perhaps it was full, but disc space is fine. I ran PROUTIL and while I'm no progress expert, I don't see anything that appears to be a huge problem with the databases (although they have not been dumped/reloaded in years). I thought maybe there was just something going on with the system itself, so restored the dbs to our test system, which is an AIX version 5 and get the same thing, which makes me think its a database problem - but what? What am I missing? Any help would be GREATLY appreciated!
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
I know nothing about Symix, but error 98 in its generic form is: ** Unable to open file: <file-name>. Errno=<number>. (98) where <number> is the value returned to the AVM by the OS. These values are in the header file errno.h; on AIX it should be in /usr/include.

A google search shows that on AIX, errno=2 means "No such file or directory" and errno=9 means "Bad file descriptor ".

Your error message lists the file in question as "/16158_1349055", i.e. a file in the root directory. Does it make sense to you that your application would do that? Did it do that in the past? Does the filename mean anything to you at all?

Perhaps the path in question is assembled programmatically, from a directory name stored in a database field, variable, or environment variable, e.g.:
Code:
myFile = "16158_1349055".
myPath = myDirectory + "/" + myFile.

In this contrived example, if something changed in your environment that caused "myDirectory" (whatever that might be) to be the empty string instead of a valid path on your server, then "myPath" would now point to a file in the root directory. Of course, I have no idea what the application is actually doing so this is pure speculation on my part. But it doesn't sound like a database problem to me. It sounds like an application client is trying to open a file that doesn't exist.

I suggest you call your application vendor for support.
 

kpprokop

New Member
Thank you Rob, I appreciate it. Unfortunately, the vendor is long, long, gone, and Symix 4 is a system from 80's, so I was hoping to find someone who knew what the 'browser' function does under the hood in this archaic system. It essentially displays the report to the screen but allows scrolling up/down left/right and I'm pretty sure its using temp files in the process. From what I can tell from the code, there are database files involved too, but that's about all I got. The directory its writing to is the \tmp directory and the users have r/w access to it, and there is plenty of disk space. The file is being created on the fly - and it's variable like you said, and I believe it's based upon the process id and time stamp.

I really believe this is database related. I did look at the dbanalys report from proutil and noticed it said there are 0 blocks available in the database, but over 500,000 EMPTY blocks. Not being a progress expert, is the 0 blocks a problem if there are so many empty blocks?
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
I really believe this is database related. I did look at the dbanalys report from proutil and noticed it said there are 0 blocks available in the database, but over 500,000 EMPTY blocks. Not being a progress expert, is the 0 blocks a problem if there are so many empty blocks?
Progress 9 is before my time so I'm not sure what to make of "0 blocks available"; I've never seen that before. Can you attach the report here?

Also might be useful to attach a detailed directory listing of the database directory.
 

TomBascom

Curmudgeon
That message has absolutely nothing to do with the database.

If you are running on AIX and you think it is writing to \tmp then something is very wrong. The target directory is probably coming from a db field that someone changed from /tmp to \tmp or some similar mistake. Alternately it might be in a script or config file that has recently changed.

SFAIK Symix always shipped with source code so you should be able to dig into this and fix it.
 

kpprokop

New Member
Thank you Tom, and I would agree with you .. but .. this system is NEVER touched. Ever. In fact the network admin knows nothing about Symix and I'm from a sister company just helping troubleshoot the problem. The code is literally from the 1980's. The only reason I thought it was the database was because I restored the database onto their test system that has been shut down since December - and we still have this issue. The only common denominator is the database between the two systems. The users do not have access to any parameters, and the network admin never logs in. BUT what you said gave me an idea and sure enough - there is a parameter where you can specify the temp directory for the users. All users are set to ? (which probably defaults to /tmp) - but when I change it to be a rwx directory on another file system, the browser function works again. Doesn't fix the original problem, but at least its a work-around. Thank you for kick-starting my brain! Appreciate it!
 
Top