Solved

A strange error!

Posted on 1998-02-24
8
219 Views
Last Modified: 2010-04-21
I am running a process called "dihpost" on a Unix system. I would like to know the meaning of the following error:

Unaligned access pid=15387 <dihpost> va=2f6b726f772f334b pc=3ff800cc250 ra=3ff800cc384 type=ldq

Any information greatly appreciated.
0
Comment
Question by:dev98
8 Comments
 
LVL 3

Expert Comment

by:elfie
ID: 2008891
First I don't know on which unix system you are working.

If the program is a c-program it can mean that you set an integer pointer to an odd-address. This can occur when you asign a char pointer to an integer pointer. On UNix systems like SUN, HP, integer pointer must always be set to even addresses.
0
 

Author Comment

by:dev98
ID: 2008892
Hi elfie

This dihpost is a c-program on a DEC Alpha running Digital UNIX, if that helps.

I will investigate the pointers, but somehow I don't think that is the problem.

This dihpost process crashes sometimes 4 times a day with the same error.
0
 
LVL 84

Expert Comment

by:ozo
ID: 2008893
Is there a man page for this dihpost program?
Does it produce a core file when it crashes?
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 

Author Comment

by:dev98
ID: 2008894
The dihpost process is not a unix process, it is an independent process used for processing CDR's (Call Detail Records) obtained from an MSC switch in a GSM network into chargeable call units.

There is no core file generated, other than a logfile, an excerpt from which appears as follows:

DIHPOST 32683 START  3-02-1998 00:00:05
DIHPOST 29642 START  3-02-1998 03:00:06
DIHPOST 23207 START  3-02-1998 05:30:07
DIHPOST  4111 START  3-02-1998 07:30:07
DIHPOST 17758 START  3-02-1998 11:00:08
DIHPOST 14395 START  3-02-1998 14:00:09
DIHPOST 20563 START  3-02-1998 15:00:25
DIHPOST 18180 START  3-02-1998 15:30:20
DIHPOST 21582 START  3-02-1998 16:30:09

What I would like to know is if this "Unaligned access" error is a inherent unix problem, or in fact if the error may be a result of the dihpost application?
0
 
LVL 3

Expert Comment

by:braveheart
ID: 2008895
Unaligned access means that something in one of the internal data structures in DIHPOST is not correctly aligned with respect to the machine on which it is running. Some computers insist that an integer starts on a longword boundary in the machine, double floats (or DOUBLE PRECISION if we are talking FORTRAN) starts on a quadword boundary, etc.

The seriousness of the error depends on the computer too. Some can cope with the misalignment but slow down, while others just treat it as an error. In any case, the problem (bug) is in the program, not the machine. It is not an inherent UNIX feature but depends on the architecture of the underlying machine. DEC machines are usually quite sensitive.

If you have the source code, the problem can be fixed by moving your largest elements in C structures or FORTRAN common blocks (or whatever the analogue in the language your program is written in) to the beginning of the structure. So start with 8 byte components, followed by 4 byte, then 2 byte, then byte sized elements in each structure. There are also ways of padding the structures with dummy elements if the existing order is significant.
0
 

Author Comment

by:dev98
ID: 2008896
Braveheart, thank you for your comprehensive answer. How do I go about transferring the points reward to you and not to elfie?
0
 
LVL 12

Expert Comment

by:Otta
ID: 2008897
<dev98>, you will have to wait for <braveheart> to post an answer,
and then you "accept" it.
Hopefully, <braveheart> will see this "comment",
and will submit an "answer".
0
 
LVL 3

Accepted Solution

by:
braveheart earned 50 total points
ID: 2008898
I hereby submit an answer. Glad to be of service.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape (http://www.experts-exchange.com/articles/OS/Unix/Solaris/Installing-the-Solaris-OS-From-the-Flash-Archive-on-a-Tape.html), discussed installing the Solaris Operating S…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question