Sponsored Content
Full Discussion: Panic on SCO6
Top Forums UNIX for Dummies Questions & Answers Panic on SCO6 Post 302914407 by Carlitos71 on Monday 25th of August 2014 04:41:52 PM
Old 08-25-2014
Panic on SCO6

Hi all,

I am running SCO6 in a VMWare environment. For the past two Sunday's during the system's automatic reboot I have received a Panic and the system has locked up. I have had to power off the VM and back on. I have never run into this sort of thing. Can someone help direct me to where the problem is? Thanks...

Code:
PANIC: address fault from interrupt routine; kernel address 0xF342EFFF
Kernel Page Fault from (cs:eip) = (100:C0203EA5):
 eax=F342EFFF ebx=F87A7F14 ecx=F3C2EEC0 edx=F87A7F10
 esi=F87A7F10 edi=F87A7F00 ebp=F95E1800 esp=FFFDAA50
Raw stack dump begins at 0xFFFDAA50:
A50 F924BE20 C01AD6D8 F95E1800 F87A7F10 00000001 F95B6A1C F924BE20 F95B6A00
A70 00000004 F924BE20 C01AD56A F924BE20 C0000A48 F924BE20 C0193731 F924BE20
A90 00000000 F981F600 EE04C300 F924BE20 C002FA1B 00000002 000000F0 C0000A48
AB0 F924BE20 C0149F95 F924BE20 EDF0CEC0 F981F600 EE04C300 EE04C378 00000000
AD0 EE04C378 F95B6E00 EE04C378 C014A041 EE04C300 F981F600 EE04C378 EE04C300
AF0 C014A2D8 EE04C300 F9226100 00000040 EE04C378 C002F941 EE04C378 F920F000
B10 C021C507 EE04C378 C08D94C0 C08D94A8 C08D94A8 F18452C0 00000000 C04D22F8
B30 00000000 00000002 F920E000 C00EE704 C0106CBF F920F000 FFFDAB80 C08D94A8
B50 00000000 00000000 C08D94D4 C04DCD24 C005B408 00000000 C0167167 C08D94A8
B70 C08D9054 C08D9084 C08D94A8 C08D9084 FFFDABC0 C0166EC3 C08D94A8 00000246

PANIC REGISTERS:
  kcp:fffdac08 trp:       - efl:       - eip:c01889db xcmn_panic+5b()
  eax:fffdac08 ebx:       0 ecx:c04dcbd0 edx:       7 cs: 100 ds: 108 fs:   0
  esi:ffff62a0 edi:c0232634 ebp:fffda940 esp:fffda920 ss: 108 es: 108 gs:   0
STACK TRACE FOR IDLE CONTEXT OF ENGINE 1:
 xcmn_panic+5b(c0232634)..............................esp:fffda944 ret:c01899c7
 xcmn_err+1c7(3 c0232634 fffda994)....................esp:fffda978 ret:c01868aa
 cmn_err+14(3 c0232634 f342efff)......................esp:fffda988 ret:c00d2875

Moderator's Comments:
Mod Comment edit by bakunin: please use CODE-tags. Thank you.

Last edited by bakunin; 08-25-2014 at 11:02 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Panic

Hi All, When I came officce this morning I saw this error messages on the screen ----- PANIC:srmountfun - Error 6 mounting rootdev hd (1/42) Cannot dump 32639 pages to dumpdev hd (1/41) : space for only 0 pages Dump not completed -------- and machine was reboot mode. Why this problem... (3 Replies)
Discussion started by: alisev
3 Replies

2. SCO

Panic :

Hi Friends , i am getting the following error when iam booting a sco unix system. ------------------ H init PANIC : srmountfun --Error 22 mounting rootdev hd(1/42) cannot dump 40863 pages to dempdev hd(1/41) : space for only 0 pages. Dump not completed. Safe to power off.... (1 Reply)
Discussion started by: sveera
1 Replies

3. Solaris

panic message

When ever i change my hard disk position from primary master to secondary slave, the solaris os gives a panic messge. how could i solve it. (2 Replies)
Discussion started by: ajay234
2 Replies

4. Solaris

Savemail panic - Need help

Hi All, I've been troubleshooting this sendmail panic I'm getting on my dmesg. The errors are: Feb 16 09:44:17 fakeserver_name sendmail: l1G1hGuD000884: Losing ./qfl1G1hGuD000884: savemail panic Feb 16 09:44:17 fakeserver_name sendmail: l1G1hGuD000884: SYSERR(root): savemail: cannot save... (2 Replies)
Discussion started by: grumash
2 Replies

5. HP-UX

Reboot After Panic

Hi all, Does anybody know what kinds of events can prompt the following? I found our test db box had rebooted itself. I'd like to know how I can go about finding our why. Thanks folks... (1 Reply)
Discussion started by: Kozmo
1 Replies

6. SCO

Usb To Serial (sco6)

According to sco6 usb supplement, once you install it, you can install a bafo industries (BF-810) in the computer. I have done all that and followed the intructions completely and it shows up using usbprobe and l /dev/usb_ser* Problem is that when I go to mkdev serial, it is not there. Anyone... (1 Reply)
Discussion started by: jn5519
1 Replies

7. SCO

SCO6 NFS Problem mounting Windows resource

Hi, We are testing SCO6 for an upgrade. We currently have a SCO5.0.4 system that mounts a remote directory on a Windows 2000 server. The windows server has 'services for unix' installed to enable the required directory to be mounted on the SCO system. On SCO we run '/etc/mount -v -f NFS... (2 Replies)
Discussion started by: sidnagra
2 Replies

8. SCO

SCO6: Upgrading nd: no intel gigabit drivers?

I just (re)installed SCO6 here from scratch because I am hunting a problem. So, I installed it, then got the SCO OpenServer Release 6.0.0 Maintenance Pack 4 Device Drivers Supplement .iso and installed the nd package. # mount -F cdfs /dev/cd0 /cd-rom # pkgadd -d /cd-rom Then elect the nd... (2 Replies)
Discussion started by: dalek
2 Replies

9. Red Hat

server panic

Hi, one of our linux server got panic with the following messages Jun 2 17:09:57 inchesfttu006 kernel: ------------------------ Jun 2 17:09:57 inchesfttu006 kernel: kernel BUG at kernel/exit.c:904! Jun 2 17:09:57 inchesfttu006 kernel: invalid operand: 0000 Jun 2 17:09:57 inchesfttu006... (1 Reply)
Discussion started by: rajasekg
1 Replies

10. UNIX for Advanced & Expert Users

what does the kernel panic mean?

Hi, all: How should I obtain the reason of kernel panic? How should I debug the program which result in a kernel panic? What can I get from the panic information? li, kunlun (3 Replies)
Discussion started by: liklstar
3 Replies
This document describes the language accepted by the 80386 assem-
bler that is part of the Amsterdam Compiler Kit.  Note that  only
the syntax is described, only a few 386 instructions are shown as
examples.  The syntax of numbers is the same as in C.	The  con-
stants	32,  040, and 0x20 all represent the same number, but are
written in decimal, octal, and hex, respectively.  The rules  for
character  constants  and strings are also the same as in C.  For
example, 'a' is  a  character  constant.   A  typical  string  is
"string".   Expressions  may be formed with C operators, but must
use [ and ] for parentheses.  (Normal parentheses are claimed  by
the operand syntax.)  Symbols contain letters and digits, as well
as three special characters: dot,  tilde,  and	underscore.   The
first  character  may  not be a digit or tilde.  The names of the
80386 registers are reserved.  These are: ~~~al, bl, cl, dl
~~~ah, bh, ch, dh
~~~ax, bx, cx, dx, eax, ebx, ecx, edx
~~~si, di, bp, sp, esi, edi, ebp, esp
~~~cs, ds, ss, es, fs, gs The xx and exx variants  of  the  eight
general registers are treated as synonyms by the assembler.  Nor-
mally ";ax" is the 16-bit low half of the 32-bit  "eax"	register.
The  assembler	determines  if	a 16 or 32 bit operation is meant
solely by looking at the instruction or the instruction prefixes.
It  is	however best to use the proper registers when writing as-
sembly to not confuse those who read the code.	The last group of
6  segment registers are used for selector + offset mode address-
ing, in which the effective address is at a given offset  in  one
of  the 6 segments.  Names of instructions and pseudo-ops are not
reserved.  Alphabetic characters in opcodes and  pseudo-ops  must
be  in	lower  case.  Commas, blanks, and tabs are separators and
can be interspersed freely between tokens, but not within tokens.
Commas are only legal between operands.  The comment character is
!.  The rest of the line is ignored.  The opcodes are listed  be-
low.   Notes:  (1)  Different  names for the same instruction are
separated by /.  (2) Square brackets ([]) indicate that 0 or 1 of
the enclosed characters can be included.  (3) Curly brackets ({})
work similarly, except that one of the enclosed  characters  must
be  included.	Thus  square brackets indicate an option, whereas
curly brackets indicate that a choice must be made.

  mov[b]  dest, source	! Move word/byte from source to dest
  pop	  dest		! Pop stack
  push	  source	! Push stack
  xchg[b] op1, op2	! Exchange word/byte
  xlat			! Translate
  o16			! Operate on a 16 bit object instead of 32 bit

  in[b]   source	! Input from source I/O port
  in[b] 		! Input from DX I/O port
  out[b]  dest		! Output to dest I/O port
  out[b]		! Output to DX I/O port

  lds	  reg,source	! Load reg and DS from source
  les	  reg,source	! Load reg and ES from source
  lea	  reg,source	! Load effect address of source to reg and DS
  {cdsefg}seg		! Specify seg register for next instruction
  a16			! Use 16 bit addressing mode instead of 32 bit

  lahf			! Load AH from flag register
  popf			! Pop flags
  pushf 		! Push flags
  sahf			! Store AH in flag register

  aaa			! Adjust result of BCD addition
  add[b]  dest,source	! Add
  adc[b]  dest,source	! Add with carry
  daa			! Decimal Adjust after addition
  inc[b]  dest		! Increment by 1

  aas			! Adjust result of BCD subtraction
  sub[b]  dest,source	! Subtract
  sbb[b]  dest,source	! Subtract with borrow from dest
  das			! Decimal adjust after subtraction
  dec[b]  dest		! Decrement by one
  neg[b]  dest		! Negate
  cmp[b]  dest,source	! Compare

  aam			! Adjust result of BCD multiply
  imul[b] source	! Signed multiply
  mul[b]  source	! Unsigned multiply

  aad			! Adjust AX for BCD division
  o16 cbw		! Sign extend AL into AH
  o16 cwd		! Sign extend AX into DX
  cwde			! Sign extend AX into EAX
  cdq			! Sign extend EAX into EDX
  idiv[b] source	! Signed divide
  div[b]  source	! Unsigned divide

  and[b]  dest,source	! Logical and
  not[b]  dest		! Logical not
  or[b]   dest,source	! Logical inclusive or
  test[b] dest,source	! Logical test
  xor[b]  dest,source	! Logical exclusive or

  sal[b]/shl[b] 	dest,CL! Shift logical left
  sar[b]  dest,CL	! Shift arithmetic right
  shr[b]  dest,CL	! Shift logical right

  rcl[b]  dest,CL	! Rotate left, with carry
  rcr[b]  dest,CL	! Rotate right, with carry
  rol[b]  dest,CL	! Rotate left
  ror[b]  dest,CL	! Rotate right

  cmps[b]		! Compare string element ds:esi with es:edi
  lods[b]		! Load from ds:esi into AL, AX, or EAX
  movs[b]		! Move from ds:esi to es:edi
  rep			! Repeat next instruction until ECX=0
  repe/repz		! Repeat next instruction until ECX=0 and ZF=1
  repne/repnz		! Repeat next instruction until ECX!=0 and ZF=0
  scas[b]		! Compare ds:esi with AL/AX/EAX
  stos[b]		! Store AL/AX/EAX in es:edi

As accepts a number of special jump opcodes that can assemble  to
instructions  with  either  a  byte  displacement, which can only
reach to targets within -126 to +129 bytes of the branch,  or  an
instruction  with a 32-bit displacement.  The assembler automati-
cally chooses a byte or word displacement instruction.	The  Eng-
lish  translation  of  the opcodes should be obvious, with l(ess)
and  g(reater)	for  signed   comparisions,   and   b(elow)   and
a(bove)*(CQ  for  unsigned  comparisions.  There are lots of syn-
onyms to allow you to write ";jump if not that" instead	of  "jump
if  this";.  The call, jmp, and ret instructions can be either in-
trasegment or intersegment.  The intersegment versions are  indi-
cated with the suffix f.

  jmp[f]  dest		! jump to dest (8 or 32-bit displacement)
  call[f] dest		! call procedure
  ret[f]		! return from procedure

  ja/jnbe		! if above/not below or equal (unsigned)
  jae/jnb/jnc		! if above or equal/not below/not carry (uns.)
  jb/jnae/jc		! if not above nor equal/below/carry (unsigned)
  jbe/jna		! if below or equal/not above (unsigned)
  jg/jnle		! if greater/not less nor equal (signed)
  jge/jnl		! if greater or equal/not less (signed)
  jl/jnqe		! if less/not greater nor equal (signed)
  jle/jgl		! if less or equal/not greater (signed)
  je/jz 		! if equal/zero
  jne/jnz		! if not equal/not zero
  jno			! if overflow not set
  jo			! if overflow set
  jnp/jpo		! if parity not set/parity odd
  jp/jpe		! if parity set/parity even
  jns			! if sign not set
  js			! if sign set

  jcxz	  dest		! jump if ECX = 0
  loop	  dest		! Decrement ECX and jump if CX != 0
  loope/loopz		dest! Decrement ECX and jump if ECX = 0 and ZF = 1
  loopne/loopnz 	dest! Decrement ECX and jump if ECX != 0 and ZF = 0

  int	  n		! Software interrupt n
  into			! Interrupt if overflow set
  iretd 		! Return from interrupt

  clc			! Clear carry flag
  cld			! Clear direction flag
  cli			! Clear interrupt enable flag
  cmc			! Complement carry flag
  stc			! Set carry flag
  std			! Set direction flag
  sti			! Set interrupt enable flag

The special symbol . is the location counter and its value is the
address of the first byte of the instruction in which the  symbol
appears and can be used in expressions.  There are four different
assembly segments: text, rom, data and	bss.   Segments  are  de-
clared	and  selected by the .sect pseudo-op.  It is customary to
declare all segments at the top of an assembly	file  like  this:
~~~.sect .text; .sect .rom; .sect .data; .sect .bss The assembler
accepts up to 16 different segments, but expects only four to  be
used.	Anything  can in principle be assembled into any segment,
but the bss segment may only contain  uninitialized  data.   Note
that  the . symbol refers to the location in the current segment.
There are two types: name and numeric.	Name labels consist of	a
name followed by a colon (:).  The numeric labels are single dig-
its.  The nearest 0: label may be referenced as 0f in the forward
direction,  or	0b  backwards.	 Each  line  consists of a single
statement.  Blank or comment lines are allowed.  The most general
form  of  an  instruction  is ~~~label: opcode operand1, operand2
! comment The following operators can be used: + - * / & | ^ ~ <<
(shift	left)  >>  (shift right) - (unary minus).  32-bit integer
arithmetic is used.  Division produces a truncated quotient.  Be-
low  is  a  list  of the addressing modes supported.  Each one is
followed by an example.
  constant		      mov eax, 123456
  direct access 	      mov eax, (counter)
  register		      mov eax, esi
  indirect		      mov eax, (esi)
  base + disp.		      mov eax, 6(ebp)
  scaled index		      mov eax, (4*esi)
  base + index		      mov eax, (ebp)(2*esi)
  base + index + disp.	      mov eax, 10(edi)(1*esi)
Any of the constants or symbols may  be  replacement  by  expres-
sions.	 Direct  access,  constants  and displacements may be any
type of expression.  A scaled index with scale 1 may  be  written
without the 1*.  The call and jmp instructions can be interpreted
as a load into the instruction pointer.
  call _routine 	      ! Direct, intrasegment
  call (subloc) 	      ! Indirect, intrasegment
  call 6(ebp)		      ! Indirect, intrasegment
  call ebx		      ! Direct, intrasegment
  call (ebx)		      ! Indirect, intrasegment
  callf (subloc)	      ! Indirect, intersegment
  callf seg:offs	      ! Direct, intersegment
Symbols can acquire values in one of two ways.	Using a symbol as
a  label  sets it to . for the current segment with type relocat-
able.  Alternative, a symbol may be given a name via  an  assign-
ment  of  the  form    symbol = expression in which the symbol is
assigned the value and type of its arguments.  Space can  be  re-
served	for  bytes, words, and longs using pseudo-ops.	They take
one or more operands, and for each generate a value whose size is
a  byte, word (2 bytes) or long (4 bytes).  For example:   .data1
2, 6	       ! allocate 2 bytes initialized to 2 and 6
  .data2 3, 0x10	! allocate 2 words initialized to  3  and
16
  .data4 010		! allocate a longword initialized to 8
  .space  40		 !  allocates 40 bytes of zeros allocates
50 (decimal) bytes of storage, initializing the first  two  bytes
to  2  and  6,	the next two words to 3 and 16, then one longword
with value 8 (010 octal), last 40 bytes of zeros.  The pseudo-ops
.ascii and .asciz take one string argument and generate the ASCII
character codes for the letters in the string.	The latter  auto-
matically  terminates the string with a null (0) byte.	For exam-
ple,	.ascii "hello"
   .asciz "world
" Sometimes it is necessary to force	the  next
item  to  begin  at  a	word,  longword or even a 16 byte address
boundary.  The .align pseudo-op zero or more  null  byte  if  the
current  location is a multiple of the argument of .align.  Every
item assembled goes in one of the four segments: text, rom, data,
or  bss.  By using the .sect pseudo-op with argument .text, .rom,
.data or .bss, the programmer can force the next items to go in a
particular  segment.   A  symbol can be given global scope by in-
cluding it in a .define pseudo-op.  Multiple names may be listed,
separate by commas.  It must be used to export symbols defined in
the current program.  Names not defined in  the  current  program
are treated as ";undefined external" automatically, although it is
customary to make this explicit with the .extern pseudo-op.   The
.comm  pseudo-op declares storage that can be common to more than
one module.  There are two arguments: a name and an absolute  ex-
pression  giving  the size in bytes of the area named by the sym-
bol.  The type of the symbol becomes external.	The statement can
appear	in  any  segment.   If you think this has something to do
with FORTRAN, you are right.  In the kernel directory, there  are
several  assembly  code  files that are worth inspecting as exam-
ples.  However, note that these files, are designed to	first  be
run through the C preprocessor.  (The very first character is a #
to signal this.)  Thus they contain numerous constructs that  are
not  pure  assembler.  For true assembler examples, compile any C
program provided with using the -S flag.  This will result in  an
assembly  language file with a suffix with the same name as the C
source file, but ending with the .s suffix.
All times are GMT -4. The time now is 08:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy