<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - floating point exception with softpipe"
href="https://bugs.freedesktop.org/show_bug.cgi?id=67587">67587</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>floating point exception with softpipe
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>OpenBSD
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jsg@openbsd.org
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Component</th>
<td>Mesa core
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=83376" name="attach_83376" title="apitrace from flightgear">attachment 83376</a> <a href="attachment.cgi?id=83376&action=edit" title="apitrace from flightgear">[details]</a></span>
apitrace from flightgear
With the 9.2 branch softpipe seems to cause a floating point exception with
flightgear. 1e003b44e83dde3912ec48eb3df0e25802b5101e as mentioned in
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [softpipe] glxgears floating point exception"
href="show_bug.cgi?id=66806">bug #66806</a> does not seem to fix this.
apitrace: warning: caught signal 8
55: error: caught an unhandled exception
apitrace: info: taking default action for signal 8
#0 0x0000033b25ce54a5 in float_to_ubyte (f=0.25) at u_math.h:553
#1 0x0000033b25d1e112 in util_format_b8g8r8x8_unorm_pack_rgba_float (
dst_row=0x33b24315900 "", dst_stride=256, src_row=0x33b25851400,
src_stride=1024, width=64, height=64) at util/u_format_table.c:325
#2 0x0000033b25c8081c in util_format_write_4f (
format=PIPE_FORMAT_B8G8R8X8_UNORM, src=0x33b2584b000, src_stride=1024,
dst=0x33b24314000, dst_stride=256, x=0, y=0, w=64, h=64)
at util/u_format.c:251
#3 0x0000033b25ca927d in pipe_put_tile_rgba_format (pt=0x33b1cdfc280,
dst=0x33b268da000, x=0, y=0, w=64, h=64,
format=PIPE_FORMAT_B8G8R8X8_UNORM, p=0x33b2584b000) at util/u_tile.c:518
#4 0x0000033b25d49829 in sp_flush_tile (tc=0x33b21737000, pos=0)
at sp_tile_cache.c:398
#5 0x0000033b25d498d1 in sp_flush_tile_cache (tc=0x33b21737000)
at sp_tile_cache.c:430
#6 0x0000033b25d3b686 in softpipe_set_framebuffer_state (pipe=0x33b2426d000,
fb=0x7f7ffffe5ca0) at sp_state_surface.c:62
#7 0x0000033b25bfb774 in cso_set_framebuffer (ctx=0x33b2881a150,
fb=0x7f7ffffe5ca0) at cso_cache/cso_context.c:632
#8 0x0000033b25c9d6a1 in util_gen_mipmap (ctx=0x33b1bce9400,
psv=0x33b25848b00, face=0, baseLevel=0, lastLevel=9, filter=1)
at util/u_gen_mipmap.c:1640
#9 0x0000033b25b0b256 in st_render_mipmap (st=0x33b21315060, target=3553,
stObj=0x33b1cf3c800, baseLevel=0, lastLevel=9)
at ../../src/mesa/state_tracker/st_gen_mipmap.c:96
#10 0x0000033b25b0b6ee in st_generate_mipmap (ctx=0x33b1a6b2000, target=3553,
texObj=0x33b1cf3c800) at ../../src/mesa/state_tracker/st_gen_mipmap.c:201
#11 0x0000033b25a6a5a2 in check_gen_mipmap (ctx=0x33b1a6b2000, target=3553,
texObj=0x33b1cf3c800, level=0) at ../../src/mesa/main/teximage.c:2807
#12 0x0000033b25a6a46b in teximage (ctx=0x33b1a6b2000, compressed=0 '\0',
dims=2, target=3553, level=0, internalFormat=6407, width=512, height=512,
depth=1, border=0, format=6407, type=5121, imageSize=0,
pixels=0x33b25784000) at ../../src/mesa/main/teximage.c:3161
#13 0x0000033b25a6a734 in _mesa_TexImage2D (target=3553, level=0,
internalFormat=6407, width=512, height=512, border=0, format=6407,
type=5121, pixels=0x33b25784000) at ../../src/mesa/main/teximage.c:3195
#14 0x0000033b24626349 in glTexImage2D (target=3553, level=0,
internalformat=6407, width=512, height=512, border=0, format=6407,
type=5121, pixels=0x33b25784000) at glapi_mapi_tmp.h:2683
#15 0x0000033919503eca in _ZL20retrace_glTexImage2DRN5trace4CallE ()
from /usr/local/bin/glretrace
#16 0x0000033919431965 in retrace::Retracer::retrace ()
from /usr/local/bin/glretrace
#17 0x000003391942dec0 in _ZN7retraceL11retraceCallEPN5trace4CallE ()
from /usr/local/bin/glretrace
#18 0x000003391942e6eb in retrace::RelayRace::run ()
0x0000033b25ce548c <float_to_ubyte+50>: movss 0xfffffffffffffff0(%rbp),%xmm1
0x0000033b25ce5491 <float_to_ubyte+55>: movss 3274279(%rip),%xmm0 #
0x33b26004ac0 <util_format_linear_to_srgb_8unorm_table+9696>
0x0000033b25ce5499 <float_to_ubyte+63>: mulss %xmm0,%xmm1
0x0000033b25ce549d <float_to_ubyte+67>: movss 3274271(%rip),%xmm0 #
0x33b26004ac4 <util_format_linear_to_srgb_8unorm_table+9700>
0x0000033b25ce54a5 <float_to_ubyte+75>: addss %xmm1,%xmm0
0x0000033b25ce54a9 <float_to_ubyte+79>: movss %xmm0,0xfffffffffffffff0(%rbp)
0x0000033b25ce54ae <float_to_ubyte+84>: mov 0xfffffffffffffff0(%rbp),%eax
0x0000033b25ce54b1 <float_to_ubyte+87>: movzbl %al,%eax
rax 0x3e800000 1048576000
rbx 0x40 64
rcx 0x400 1024
rdx 0x33b243159f8 3552545167864
rsi 0x100 256
rdi 0x33b24314000 3552545161216
rbp 0x7f7ffffe59a0 0x7f7ffffe59a0
rsp 0x7f7ffffe59a0 0x7f7ffffe59a0
r8 0x40 64
r9 0x40 64
r10 0x33b24314000 3552545161216
r11 0x33b25d1e0b7 3552572465335
r12 0x40 64
r13 0x200 512
r14 0x200 512
r15 0x1907 6407
rip 0x33b25ce54a5 0x33b25ce54a5 <float_to_ubyte+75>
eflags 0x10293 66195
cs 0x2b 43
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x23 35
gs 0x23 35
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 510 (raw 0x4007ff00000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {f = {0x8000, 0x0, 0x0, 0x0}} {f = {32768, 0, 0, 0}}
xmm1 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0.249023438, 0, 0, 0}}
xmm2 {f = {0x1, 0x0, 0x0, 0x0}} {f = {1, 0, 0, 0}}
xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0.5, 0, 0, 0}}
xmm4 {f = {0x1, 0x0, 0x0, 0x0}} {f = {1, 0, 0, 0}}
xmm5 {f = {0x1, 0x0, 0x0, 0x0}} {f = {1, 0, 0, 0}}
xmm6 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0.5, 0, 0, 0}}
xmm7 {f = {0x1, 0x0, 0x0, 0x0}} {f = {1, 0, 0, 0}}
xmm8 {f = {0x0, 0x1, 0x0, 0x0}} {f = {2.05686675e+26,
1.99932396, 0, 0}}
xmm9 {f = {0x0, 0x1, 0x0, 0x0}} {f = {0, 1.875, 0, 0}}
xmm10 {f = {0x0, 0x1, 0x0, 0x0}} {f = {0, 1.875, 0, 0}}
xmm11 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm12 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm13 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm14 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm15 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
mxcsr 0x0 0
A similiar problem seems to exist with r600 when disabling gallivm:
apitrace: warning: caught signal 8
29857: error: caught an unhandled exception
apitrace: info: taking default action for signal 8
#0 0x00000c304a5d5b2f in _mesa_Bitmap (width=8, height=15, xorig=-1, yorig=3,
xmove=8, ymove=0, bitmap=0xc30418fd5b0 "")
at ../../src/mesa/main/drawpix.c:326
#1 0x00000c3050805a35 in glBitmap (width=8, height=15, xorig=-1, yorig=3,
xmove=8, ymove=0, bitmap=0xc30418fd5b0 "") at glapi_mapi_tmp.h:1458
#2 0x00000c2e41500b8f in _ZL16retrace_glBitmapRN5trace4CallE ()
from /usr/local/bin/glretrace
#3 0x00000c2e41431965 in retrace::Retracer::retrace ()
from /usr/local/bin/glretrace
#4 0x00000c2e4142dec0 in _ZN7retraceL11retraceCallEPN5trace4CallE ()
from /usr/local/bin/glretrace
#5 0x00000c2e4142e6eb in retrace::RelayRace::run ()
from /usr/local/bin/glretrace
the line in question is:
GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig)
(gdb) p ctx->Current.RasterPos[0]
$1 = 5
(gdb) p /f epsilon
$2 = 9.99999975e-05
(gdb) p xorig
$3 = -1
0x00000c304a5d5b1b <_mesa_Bitmap+345>: mov $0x38d1b717,%eax
0x00000c304a5d5b20 <_mesa_Bitmap+350>: mov %eax,0xfffffffffffffff4(%rbp)
0x00000c304a5d5b23 <_mesa_Bitmap+353>: mov 0xffffffffffffffe0(%rbp),%rax
0x00000c304a5d5b27 <_mesa_Bitmap+357>: movss 0x17a0(%rax),%xmm0
0x00000c304a5d5b2f <_mesa_Bitmap+365>: addss 0xfffffffffffffff4(%rbp),%xmm0
0x00000c304a5d5b34 <_mesa_Bitmap+370>: subss 0xffffffffffffffcc(%rbp),%xmm0
0x00000c304a5d5b39 <_mesa_Bitmap+375>: callq 0xc304a5d5d97 <IFLOOR>
rax 0xc304f1b0000 13401625133056
rbx 0xc3042e30940 13401420138816
rcx 0x1 1
rdx 0x0 0
rsi 0xc304ab1d44f 13401551131727
rdi 0xc304f1b0000 13401625133056
rbp 0x7f7ffffe7180 0x7f7ffffe7180
rsp 0x7f7ffffe7110 0x7f7ffffe7110
r8 0x1 1
r9 0x0 0
r10 0x1 1
r11 0x206 518
r12 0xc2e418651d2 13392807350738
r13 0xc30418fd5b0 13401397908912
r14 0xf 15
r15 0x8 8
rip 0xc304a5d5b2f 0xc304a5d5b2f <_mesa_Bitmap+365>
eflags 0x10206 66054
cs 0x2b 43
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x23 35
gs 0x23 35
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 1 (raw 0x3fff8000000000000000)
fctrl 0x37f 895
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {f = {0x5, 0x0, 0x0, 0x0}} {f = {5, 0, 0, 0}}
xmm1 {f = {0x3, 0x0, 0x0, 0x0}} {f = {3, 0, 0, 0}}
xmm2 {f = {0x8, 0x0, 0x0, 0x0}} {f = {8, 0, 0, 0}}
xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm4 {f = {0x3, 0x0, 0x0, 0x0}} {f = {3, 0, 0, 0}}
xmm5 {f = {0xffffffff, 0x0, 0x0, 0x0}} {f = {-1, 0, 0, 0}}
xmm6 {f = {0x0, 0x1, 0x0, 0x0}} {f = {0, 1.875, 0, 0}}
xmm7 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-7.94852232e+34,
-0.899182439, 0, 0}}
xmm8 {f = {0x0, 0x1, 0x0, 0x0}} {f = {2.05686675e+26,
1.99932396, 0, 0}}
xmm9 {f = {0x0, 0x1, 0x0, 0x0}} {f = {0, 1.875, 0, 0}}
xmm10 {f = {0x0, 0x1, 0x0, 0x0}} {f = {0, 1.875, 0, 0}}
xmm11 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm12 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm13 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm14 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm15 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
mxcsr 0x0 0
With OpenBSD/amd64 5.4 with gcc 4.2.1
The problem does not seem to trigger with llvmpipe, r600 with gallivm or i965.
attached apitrace file can be used to trigger the problem.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>