Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash with sse2 blitter #5854

Closed
DorpsGek opened this issue Jan 8, 2014 · 2 comments
Closed

crash with sse2 blitter #5854

DorpsGek opened this issue Jan 8, 2014 · 2 comments
Labels
flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)

Comments

@DorpsGek
Copy link
Member

DorpsGek commented Jan 8, 2014

pi1985 opened the ticket and wrote:

With 32bpp-sse2 blitter game starts, but after loading save game crashes.

Attachments

Reported version: trunk
Operating system: Linux


This issue was imported from FlySpray: https://bugs.openttd.org/task/5854
@DorpsGek
Copy link
Member Author

Rubidium wrote:

I have no idea how to trigger it; running it with the blitter and Hamac gives me the following trace after lots and lots and lots of resizing the window. Starting a new game with that exact resolution doesn't trigger it. Using gcc 4.8.2-12, r26246.

# 0 0x00000000007031f5 in _mm_loadu_si128 (_P=0x2aaad6bf7ff4)
at /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:684
No locals.
# 1 Blitter_32bppSSE2::Draw<(BlitterMode)0, (Blitter_32bppSSE_Base::ReadMode)0, (Blitter_32bppSSE_Base::BlockType)0> (this=0x1826da0, bp=0x7fffffffd0c0, zoom=ZOOM_LVL_OUT_32X)
at /home/rubidium/openttd/clean/src/blitter/32bpp_sse2.cpp:74
srcABCD = {-58447736043512295, -57881483260371944}
dstABCD = {0, 0}
x = 1
dst = 0x2aaad6bf7ff4
src = 0x2aaaba7fa588
src_mv = 0x2aaaba7fa5c8
y = 1
dst_line = 0x2aaad6bf7fec
si = 0x2aaaba7c9444
src_mv_line = 0x2aaaba7fa5c8
tr_nom_base = {72058693566333184, 72058693566333184}
effective_width = 4
sd = 0x2aaaba7c9408
src_rgba_line = 0x2aaaba7fa578
clear_hi = {71777214294589695, 71777214294589695}
# 2 0x0000000000701eb2 in Blitter_32bppSSE2::Draw (this=0x1826da0, bp=0x7fffffffd0c0, mode=BM_NORMAL,
zoom=ZOOM_LVL_OUT_32X) at /home/rubidium/openttd/clean/src/blitter/32bpp_sse2.cpp:208
bt_last = Blitter_32bppSSE_Base::BT_EVEN
# 3 0x00000000007cf717 in GfxBlitter<4, false> (sprite=0x2aaaba7c9400, x=97, y=32, mode=BM_NORMAL, sub=0x0,
sprite_id=4003, zoom=ZOOM_LVL_OUT_32X) at /home/rubidium/openttd/clean/src/gfx.cpp:946
_PRETTY_FUNCTION
= "void GfxBlitter(const Sprite*, int, int, BlitterMode, const SubSprite*, SpriteID, ZoomLevel) [with int ZOOM_BASE = 4; bool SCALED_XY = false; SpriteID = unsigned int]"
dpi = 0x1807ba0 <vd>
bp = {sprite = 0x2aaaba7c9408, remap = 0x2aaab57e4bc9 "", skip_left = 0, skip_top = 0, width = 4,
height = 3, sprite_width = 256, sprite_height = 97, left = 29, top = 54, dst = 0x2aaad6bb8b18,
pitch = 1157}
x_unscaled = 29
y_unscaled = 54
# 4 0x00000000007cda81 in GfxMainBlitterViewport (sprite=0x2aaaba7c9400, x=-19968, y=50368, mode=BM_NORMAL,
sub=0x0, sprite_id=4003) at /home/rubidium/openttd/clean/src/gfx.cpp:951
No locals.
# 5 0x00000000007cd8eb in DrawSpriteViewport (img=4003, pal=0, x=-19968, y=50368, sub=0x0)
at /home/rubidium/openttd/clean/src/gfx.cpp:793
real_sprite = 4003
# 6 0x0000000000abaf8c in ViewportDrawTileSprites (tstdv=0x1807bd0 <vd+48>)
at /home/rubidium/openttd/clean/src/viewport.cpp:1265
ts = 0x37f0710
tsend = 0x37f0e00
# 7 0x0000000000abb8da in ViewportDoDraw (vp=0x1e63210, left=-20976, top=48656, right=-19920, bottom=50480)
at /home/rubidium/openttd/clean/src/viewport.cpp:1460
old_dpi = 0x7fffffffd830
mask = -32
y = 890
psd_end = 0x3785670
dp = {dst_ptr = 0x2aaad6bb8a98, left = -688, top = 1520, width = 32, height = 57, pitch = 1157,
zoom = ZOOM_LVL_BEGIN}
x = 1124
zoom = ZOOM_LVL_OUT_32X
# 8 0x0000000000abbc52 in ViewportDrawChk (vp=0x1e63210, left=1124, top=890, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1523
No locals.
# 9 0x0000000000abbb99 in ViewportDrawChk (vp=0x1e63210, left=1092, top=890, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1515
t = 1124
# 10 0x0000000000abbb51 in ViewportDrawChk (vp=0x1e63210, left=1092, top=833, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 890
# 11 0x0000000000abbb99 in ViewportDrawChk (vp=0x1e63210, left=1027, top=833, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1515
t = 1092
# 12 0x0000000000abbb51 in ViewportDrawChk (vp=0x1e63210, left=1027, top=720, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 833
# 13 0x0000000000abbb99 in ViewportDrawChk (vp=0x1e63210, left=898, top=720, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1515
t = 1027
# 14 0x0000000000abbb51 in ViewportDrawChk (vp=0x1e63210, left=898, top=493, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 720
# 15 0x0000000000abbb51 in ViewportDrawChk (vp=0x1e63210, left=898, top=39, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1511
t = 493
# 16 0x0000000000abbd55 in ViewportDraw (vp=0x1e63210, left=898, top=39, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/viewport.cpp:1541
No locals.
# 17 0x0000000000abbde0 in Window::DrawViewport (this=0x1ec9930)
at /home/rubidium/openttd/clean/src/viewport.cpp:1554
dpi = 0x7fffffffd830
# 18 0x0000000000ad483f in NWidgetViewport::Draw (this=0x1e81e80, w=0x1ec9930)
at /home/rubidium/openttd/clean/src/widget.cpp:1898
No locals.
# 19 0x0000000000ad1aa8 in NWidgetPIPContainer::Draw (this=0x1b8b190, w=0x1ec9930)
at /home/rubidium/openttd/clean/src/widget.cpp:1100
child_wid = 0x1e81e80
# 20 0x0000000000ad0986 in Window::DrawWidgets (this=0x1ec9930) at /home/rubidium/openttd/clean/src/widget.cpp:604
No locals.
# 21 0x0000000000837bf4 in MainWindow::OnPaint (this=0x1ec9930)
at /home/rubidium/openttd/clean/src/main_gui.cpp:265
No locals.
# 22 0x0000000000ade1e7 in DrawOverlappedWindow (w=0x1ec9930, left=898, top=39, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/window.cpp:900
v = 0x0
dp = 0x7fffffffd830
# 23 0x0000000000ade06f in DrawOverlappedWindow (w=0x1ec9930, left=258, top=39, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/window.cpp:871
x = 898
v = 0x1b8c3a0
dp = 0x7fffffffd830
# 24 0x0000000000ade014 in DrawOverlappedWindow (w=0x1ec9930, left=0, top=39, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/window.cpp:865
x = 258
v = 0x1b8c3a0
dp = 0x7fffffffd7c0
# 25 0x0000000000ade11c in DrawOverlappedWindow (w=0x1ec9930, left=0, top=0, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/window.cpp:883
x = 39
v = 0x1fb4760
dp = 0x7fffffffd810
# 26 0x0000000000ade2a3 in DrawOverlappedWindowForAll (left=0, top=0, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/window.cpp:924
w = 0x1ec9930
bk = {dst_ptr = 0x2aaad67f6f14, left = 898, top = 39, width = 259, height = 908, pitch = 1157,
zoom = ZOOM_LVL_BEGIN}
# 27 0x00000000007ce5d7 in RedrawScreenRect (left=0, top=0, right=1157, bottom=947)
at /home/rubidium/openttd/clean/src/gfx.cpp:1261
_PRETTY_FUNCTION
= "void RedrawScreenRect(int, int, int, int)"
# 28 0x00000000007ce8b3 in DrawDirtyBlocks () at /home/rubidium/openttd/clean/src/gfx.cpp:1353
top = 0
h2 = 119
left = 0
right = 1157
bottom = 947
p = 0x38087b2 ""
w = 1216
y = 0
_PRETTY_FUNCTION
= "void DrawDirtyBlocks()"
b = 0x38087a0 ""
h = 952
x = 0
# 29 0x0000000000ae3204 in UpdateWindows () at /home/rubidium/openttd/clean/src/window.cpp:3020
w = 0x0
highlight_timer = 13
we4_timer = 38
t = 38
# 30 0x0000000000ab7220 in VideoDriver_SDL::MainLoop (this=0x181d0f0)
at /home/rubidium/openttd/clean/src/video/sdl_v.cpp:780
old_ctrl_pressed = false
prev_cur_ticks = 78141
cur_ticks = 78325
last_cur_ticks = 78325
next_tick = 78355
keys = 0x2aaaab7801c0 ""
mod = 0
numkeys = 323
# 31 0x00000000008ebc4d in openttd_main (argc=2, argv=0x7fffffffe2b8)
at /home/rubidium/openttd/clean/src/openttd.cpp:869
musicdriver = 0x18a79c0 "Zuu"
resolution = {width = 0, height = 0}
mgo = {opt = 0x7fffffffe58f "32bpp-sse2", numleft = 0, argv = 0x7fffffffe2c8,
options = 0xcacb40 <_options>, cont = 0x0}
ret = 0
i = -1
scanner = 0x0
debuglog_conn = 0x0
sounddriver = 0x18a79c0 "Zuu"
videodriver = 0x0
graphics_set = 0x1826da0 "\360", <incomplete sequence \374\261>
dedicated = false
blitter = 0x181d0f0 "\020\225", <incomplete sequence \350>
sounds_set = 0x18ab6e0 "chopper"
music_set = 0x18a79c0 "Zuu"
save_config = true
# 32 0x000000000090313d in main (argc=2, argv=0x7fffffffe2b8)
at /home/rubidium/openttd/clean/src/os/unix/unix.cpp:275
ret = 0

(gdb) print *bp
$6 = {sprite = 0x2aaaba7c9408, remap = 0x2aaab57e4bc9 "", skip_left = 0, skip_top = 0, width = 4, height = 3,
sprite_width = 256, sprite_height = 97, left = 29, top = 54, dst = 0x2aaad6bb8b18, pitch = 1157}

(gdb) print *vp
$3 = {left = 0, top = 0, width = 1157, height = 947, virtual_left = -56944, virtual_top = 20176,
virtual_width = 37024, virtual_height = 30304, zoom = ZOOM_LVL_OUT_32X, overlay = 0x1e76170}

(gdb) print _vd
$1 = {dpi = {dst_ptr = 0x2aaad6bb8b18, left = -20992, top = 48640, width = 1056, height = 1824, pitch = 1157,
zoom = ZOOM_LVL_OUT_32X}, string_sprites_to_draw = {data = 0x23665a0, items = 0, capacity = 8},
tile_sprites_to_draw = {data = 0x37ef540, items = 264, capacity = 2432}, parent_sprites_to_draw = {
data = 0x3783770, items = 137, capacity = 448}, parent_sprites_to_sort = {data = 0x3514dd0, items = 0,
capacity = 448}, child_screen_sprites_to_draw = {data = 0x35b3560, items = 192, capacity = 336},
last_child = 0x0, combine_sprites = SPRITE_COMBINE_NONE, foundation = {-1, -1},
foundation_part = FOUNDATION_PART_NORMAL, last_foundation_child = {0x0, 0x0}, foundation_offset = {{x = 124,
y = 4}, {x = 124, y = 36}}}


This comment was imported from FlySpray: https://bugs.openttd.org/task/5854#comment12916

@DorpsGek
Copy link
Member Author

Rubidium closed the ticket.

Reason for closing: Fixed

In r26247


This comment was imported from FlySpray: https://bugs.openttd.org/task/5854

@DorpsGek DorpsGek added Core flyspray This issue is imported from FlySpray (https://bugs.openttd.org/) labels Apr 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flyspray This issue is imported from FlySpray (https://bugs.openttd.org/)
Projects
None yet
Development

No branches or pull requests

1 participant