Fork us on GitHub Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 5 months ago

Closed 5 months ago

#735 closed defect (fixed)

tester float2 crashes on ia64 (ski)

Reported by: Jiri Svoboda Owned by: Jakub Jermář
Priority: major Milestone: 0.8.0
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

To reproduce

  • Move tester to essential apps in boot/Makefile.common
  • Build ia64/ski
  • Run tools/ew.py
    / # tester float2
    bdsh: Command failed (unexpectedly terminated)
    / #
    

Change History (4)

comment:1 Changed 5 months ago by Jiří Zárevúcky

This might me the same issue that crashes the compositor.

You can see it if you set console_override = true in kernel.

comment:2 Changed 5 months ago by Jakub Jermář

Owner: set to Jakub Jermář
Status: newassigned

comment:3 Changed 5 months ago by Jakub Jermář

Both tester and compositor indeed crash after executing the FNORM instruction due to the "Denormal/Unnormal? operand exception (Normal or Parallel FP-HI)"
.
Tester:

/ # tester float2
ar.bsp=0xe00000000c03c140       ar.bspstore=0x00000000701401d8 nat=0x0     ar.rsc=0xc
ar.ifs=0x8000000000000000       ar.pfs=0xc000000000000183
cr.isr=0x20000000002    cr.ipsr=0x1213080a6010
cr.iip=0x44b170, #1     (unknown)
cr.iipa=0x44b170        (unknown)
cr.ifa=0x44b000 (unknown
  44b170:       0d 00 00 00 01 00       [MFI]       nop.m 0x0
  44b176:       90 00 18 02 40 00                   fnorm.s0 f9=f6
  44b17c:       00 00 04 00                         nop.i 0x0;;

Compositor:

[compositor(37)] compositor: HelenOS Compositor server⏎                          
Task compositor (37) killed due to an exception at program counter 0x00000000004047d0.⏎
ar.bsp=0xe00000000c324088       ar.bspstore=0x0000000070140208⏎                  
ar.rnat=0x0     ar.rsc=0xc⏎                                                      
ar.ifs=0x8000000000000611       ar.pfs=0xc000000000000611⏎                       
cr.isr=0x40000000002    cr.ipsr=0x1413080a6010⏎                                  
cr.iip=0x4047d0, #2     (unknown)⏎                                               
cr.iipa=0x4047d0        (unknown)⏎                                               
cr.ifa=0x49bf90 (unknown)⏎                                                       
Kill message: Interruption: 0x5c (Floating-point Fault vector).⏎                 
[taskmon(16)] taskmon: Task 37 fault in thread 0xe00000000c318000.⏎              
[taskmon(16)] taskmon: Executing /app/taskdump -t 37⏎                            
⏎                                                                                
  4047d0:       0f 00 00 00 01 00       [MMF]       nop.m 0x0⏎                   
  4047d6:       00 00 00 02 00 20                   nop.m 0x0⏎                   
  4047dc:       01 30 04 90                         fnorm.d.s0 f9=f6;;⏎          
⏎                                                                                
Denormal/Unnormal operand exception (Normal or Parallel FP-HI)⏎               

comment:4 Changed 5 months ago by Jakub Jermář

Resolution: fixed
Status: assignedclosed

Fixed in https://github.com/HelenOS/helenos/commit/7cd7a8d678fba9c835468054b7578fabbbdf58d2 by disabling the IEEE and the Denormal/Unnormal operand exception (Normal or Parallel FP-HI) traps for all initial contexts.

Note: See TracTickets for help on using tickets.