Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1008033.1
Update Date:2009-09-24
Keywords:

Solution Type  Technical Instruction Sure

Solution  1008033.1 :   truss shows a divide by zero fault on Sun [TM] x86 instead of a integer overflow.  


Related Items
  • Sun Fire X4600 Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>x64 Servers
  •  

PreviouslyPublishedAs
211070


Description
Using truss on a solaris x86 platform shows a program taking a divide by zero fault but the divisor register is not zero.

Steps to Follow
The idiv machine instruction can generate a "divide error" exception for 2 reasons, one is you tried to divide by zero and the other is that the answer overflowed the results register.
The solaris kernel maps this exception to the T_DIVZERO trap handler, so truss shows...
Incurred fault #8, FLTIZDIV  %pc = 0x0805065E
siginfo: SIGFPE FPE_INTDIV addr=0x0805065E
Received signal #8, SIGFPE [default]
siginfo: SIGFPE FPE_INTDIV addr=0x0805065E
FLTIZDIV would make you think that the cause was an integer divide by zero but it could be either,  you need to attach a debugger and see what the register values are.


Product
Sun Fire X4600 Server

SIGFPE, x86
Previously Published As
86773

Change History
Date: 2006-09-04
User Name: 31620
Action: Approved
Comment: Verified Metadata - ok
Verified Keywords - ok
Verified still correct for audience - currently set to contract
** (please see history for a discussion on this)
Audience left at contract as per FvF at
http://kmo.central/howto/content/voyager-contributor-standards.html
Checked review date - currently set to 2007-08-30
Checked for TM - added correct TM for x86
Publishing under the current publication rules of 18 Apr 2005:
Version: 3
Date: 2006-09-04
User Name: 31620
Action: Add Comment
Comment: ok Chris.. no probs... I'll publish it to the audience it is set to.

Just wanted to check... ;-)

Regards,

Andy
Version: 0
Date: 2006-09-04
User Name: 13442
Action: Add Comment
Comment: I see no reason to make this internal. There is nothing confidential here and if a customer sees this we would hope they don't call us.
Version: 0
Date: 2006-09-04
User Name: 31620
Action: Add Comment
Comment: Hi Tim, Chris,

Undoubtedly this would be helpful to someone who was involved in diagnosing a fault in this region. I have to ask though, is this article not better suited to be part of our internal collection ?
(could be seen to be showing customers problems unnecessarily, and I don't really think customers would be examining code at this level (am prepared to be corrected on that point though))

What do you think guys... OK to make it internal ?

Regards,

Andy
Version: 0
Date: 2006-08-30
User Name: 31620
Action: Accept
Comment:
Version: 0
Date: 2006-08-30
User Name: 13442
Action: Approved
Comment: Looks good. Could save someone scratching their head for a while.
Version: 0
Date: 2006-08-30
User Name: 13442
Action: Accept
Comment:
Version: 0
Date: 2006-08-30
User Name: 13626
Action: Approved
Comment: thanks
tim
Version: 0
Date: 2006-08-30
User Name: 13626
Action: Created
Comment:
Version: 0
Product_uuid
72cdbb85-7cd3-11da-8990-080020a9ed93|Sun Fire X4600 Server

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback