Opened 6 years ago

Closed 13 months ago

Last modified 13 months ago

#5225 closed defect (fixed)

Assertion failed in the scenario editor when trying to do a big screenshot

Reported by: fatherbushido Owned by: Vladislav Belov
Priority: If Time Permits Milestone: Alpha 27
Component: Atlas editor Keywords:
Cc: Patch:

Description (last modified by fatherbushido)

Way to reproduce: click for example on the terrain or actor panel and take a big screenshot

 228.134 add message: Screenshot
 228.154 retrieved message: Screenshot
Util.cpp(307): Assertion failed: "g_xres >= tile_w && g_yres >= tile_h"
Assertion failed: "g_xres >= tile_w && g_yres >= tile_h"
Location: Util.cpp:307 (WriteBigScreenshot)

Call stack:



(0x5604cc9ce0de) /usr/games/pyrogenesis(+0x6060de) [0x5604cc9ce0de]
(0x5604cc97ae91) /usr/games/pyrogenesis(+0x5b2e91) [0x5604cc97ae91]
(0x5604cc97d2be) /usr/games/pyrogenesis(+0x5b52be) [0x5604cc97d2be]
(0x5604cc6cabed) /usr/games/pyrogenesis(+0x302bed) [0x5604cc6cabed]
(0x5604cc8c6a2d) /usr/games/pyrogenesis(+0x4fea2d) [0x5604cc8c6a2d]
(0x5604cc895aae) /usr/games/pyrogenesis(+0x4cdaae) [0x5604cc895aae]
(0x7f86d2ac75aa) /lib/x86_64-linux-gnu/libpthread.so.0(+0x75aa) [0x7f86d2ac75aa]
(0x7f86d27fccbf) /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f86d27fccbf]

errno = 0 (No error reported here)
OS error = ?


Sleeping until debugger attaches.
Please wait.
GNU gdb (Debian 7.12-6+b2) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 24004
[New LWP 24005]
[New LWP 24006]
[New LWP 24007]
[New LWP 24008]
[New LWP 24009]
[New LWP 24010]
[New LWP 24011]
[New LWP 24012]
[New LWP 24013]
[New LWP 24035]
[New LWP 24042]
[New LWP 24046]
[New LWP 24047]
[New LWP 24048]
[New LWP 24049]
[New LWP 24050]
[New LWP 24051]
[New LWP 24052]
[New LWP 24053]
[New LWP 24054]
[New LWP 24055]
[New LWP 24056]
[New LWP 24061]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f86d27f25d9 in __GI___poll (fds=0x5604d196bfc0, nfds=2, timeout=20)
    at ../sysdeps/unix/sysv/linux/poll.c:29
29	../sysdeps/unix/sysv/linux/poll.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0x00007f86d27f25d9 in __GI___poll (fds=0x5604d196bfc0, nfds=2, timeout=20)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f864ad61439 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f864ad617d2 in g_main_loop_run ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f864baed977 in gtk_main ()
    at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#4  0x00007f86517146d5 in wxGUIEventLoop::DoRun() ()
    at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#5  0x00007f86505feea3 in wxEventLoopBase::Run() ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#6  0x00007f86505c64b6 in wxAppConsoleBase::MainLoop() ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7  0x00007f8650650ef9 in wxEntry(int&, wchar_t**) ()
    at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8  0x00007f8651fef3bb in Atlas_StartWindow ()
    at /usr/lib/games/0ad/libAtlasUI.so
#9  0x00005604cc8969c1 in  ()
#10 0x00005604cc6296df in  ()
#11 0x00005604cc62978a in  ()
#12 0x00005604cc426f85 in  ()
#13 0x00005604cc417397 in  ()
#14 0x00007f86d2727a87 in __libc_start_main (main=
---Type <return> to continue, or q <return> to quit---
    0x5604cc417360, argc=1, argv=0x7ffe3b711638, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe3b711628)
    at ../csu/libc-start.c:310
#15 0x00005604cc424d9a in  ()

Change History (8)

comment:1 by fatherbushido, 6 years ago

Summary: Crash in the scenario editor when trying to do a big screenshotAssertion failed in the scenario editor when trying to do a big screenshot

comment:2 by fatherbushido, 6 years ago

Description: modified (diff)

comment:3 by elexis, 6 years ago

I don't think placing something is necessary, the part of the window that renders the game is most likely smaller than 640*480:

Util.cpp(307): Assertion failed: "g_xres >= tile_w && g_yres >= tile_h"

// Similar to WriteScreenshot, but generates an image of size 640*tiles x 480*tiles.
void WriteBigScreenshot(const VfsPath& extension, int tiles)

comment:4 by fatherbushido, 6 years ago

Indeed placing isn't necessary -> edit

comment:5 by Vladislav Belov, 6 years ago

True, it crashes on Windows for a small editor window too. Because currently we use the screen buffer to get pixels.

comment:6 by fatherbushido, 6 years ago

Description: modified (diff)

comment:7 by Vladislav Belov, 13 months ago

Owner: set to Vladislav Belov
Resolution: fixed
Status: newclosed

In 27613:

Removes assertion for big screenshots with a too small window. Fixes #5225

Differential Revision: https://code.wildfiregames.com/D4983

comment:8 by Vladislav Belov, 13 months ago

Milestone: BacklogAlpha 27
Note: See TracTickets for help on using tickets.