bugGlobulation 2 - Bugs: bug #15198, Print screen causes the game to...

 
 

bug #15198: Print screen causes the game to crash

Submitter:  Andrew Sayers <andrew_sayers>
Submitted:  Tue 13 Dec 2005 04:17:55 AM UTC
   
 
Severity:  4 - Important Status:  Fixed
Assigned to:  None Open/Closed:  Closed
Release:  None Operating System:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 30 Dec 2005 04:57:16 PM UTC, comment #2: 

Bug acknowledged, fixed in CVS
 
Thanks for testing and reporting bugs to Globulation 2.
 
Steph, for The Glob2's dev team.

Stephane Magnenat <nct>
Group administrator
Fri 16 Dec 2005 01:54:40 PM UTC, comment #1: 

To me, it looks like printscreen function in SDL is not working properly with GL (it also crashes here). One solution is to create a new surface the size of the screen, blit the framebuffer on it (I added support for this recently), then save this surface. Another solution would be to cry on SDL's ml ;-)

Steph

Stephane Magnenat <nct>
Group administrator
Tue 13 Dec 2005 04:17:55 AM UTC, original submission:  

This bug was reported on IRC by covracer, I've been able to reproduce it.

Starting the tutorial then trying to print a screenshot with printscreen causes the game to crash.  This bug doesn't seem to appear with all maps, may not appear when the game is installed in /usr/games/bin or /, and might not appear unless you wait a minute or so before hitting printscreen.

Running in gdb, I got the following:

$ gdb ./src/glob2
GNU gdb 6.3.90_20051119-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /home/andrew/glob2/CVS-0.8.17/glob2/src/glob2
[Thread debugging using libthread_db enabled]
[New Thread -1223153952 (LWP 26357)]
[New Thread -1223910480 (LWP 26360)]
[New Thread -1262564432 (LWP 26361)]
[New Thread -1270953040 (LWP 26362)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223153952 (LWP 26357)]
0xb7d53ef8 in _ConvertX86p32_24RGB888 () from /usr/lib/libSDL-1.2.so.0
(gdb) bt
#0  0xb7d53ef8 in _ConvertX86p32_24RGB888 () from /usr/lib/libSDL-1.2.so.0
#1  0x00000320 in ?? ()
#2  0xbfc322dc in ?? ()
#3  0x08ea0330 in ?? ()
#4  0x082bf4e0 in ?? ()
#5  0xbfc32298 in ?? ()
#6  0xbfc32298 in ?? ()
#7  0xb7d5a6b4 in ?? () from /usr/lib/libSDL-1.2.so.0
#8  0x08ea8810 in ?? ()
#9  0x082cac40 in ?? ()
#10 0xbfc322dc in ?? ()
#11 0xbfc32318 in ?? ()
#12 0xb7d0f38e in SDL_RLESurface () from /usr/lib/libSDL-1.2.so.0
Previous frame inner to this frame (corrupt stack?)


While covracer got something like this:

[Switching to Thread -1224821040 (LWP 24882)]
0xb7d7e049 in SDL_CalculateBlitN () from /usr/lib/libSDL-1.2.so.0

(backtrace)

#0  0xb7d7e049 in SDL_CalculateBlitN () from /usr/lib/libSDL-1.2.so.0
#1  0xb7d6fcc6 in SDL_CalculateBlit () from /usr/lib/libSDL-1.2.so.0
#2  0xb7d86df3 in SDL_LowerBlit () from /usr/lib/libSDL-1.2.so.0
#3  0xb7d8393b in SDL_SaveBMP_RW () from /usr/lib/libSDL-1.2.so.0
#4  0x08184c0e in non-virtual thunk to std::basic_iostream<char, std::char_traits<char> >::~basic_iostream() ()
#5  0x080b768e in std::__iterator_category<char const*> ()
#6  0x080b5a04 in std::__iterator_category<char const*> ()
#7  0x080b3c68 in std::__iterator_category<char const*> ()
#8  0x0809f296 in virtual thunk to std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream() ()
#9  0x080d13b2 in std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, std::string*> ()
#10 0x080d1b2f in std::__uninitialized_copy_aux<__gnu_cxx::__normal_iterator<std::string const*, std::vector<std::string, std::allocator<std::string> > >, std::string*> ()
#11 0xb7b05f2c in __libc_start_main () from /lib/libc.so.6
#12 0x0804f651 in ?? ()

(and no complaint about a corrupt stack)

Is it possible that this is an internal SDL bug?  Also, which file/function is the printscreen code in?  I could put a breakpoint into the code and track down the last line successfully executed.

Andrew Sayers <andrew_sayers>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 3 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-12-30 nct StatusNone Fixed
    Open/ClosedOpen Closed
2005-12-13 andrew_sayers Carbon-Copy- Added -email is unavailable-

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code