Issue454

Title SIGSEGV in access tunnel for shield control
Priority critical Status resolved
Assigned To fluzz Keywords
Linked issues Consistent Crashing Bug at Disruptor Base
View: 597
Watchers fluzz

Submitted on 2011-08-28 14h42 by nabla, last changed by joseph.

Files
File name Uploaded Type Edit Remove
gdblog.txt nabla, 2011-08-28.16:01:01 text/plain
tux.savegame nabla, 2011-08-28.14:42:49 application/octet-stream
tux.shp nabla, 2011-08-28.18:22:02 application/x-qgis
unnamed fluzz, 2011-09-19.20:35:04 text/html
Messages
Author: nabla Date: 2011-08-28   14h42
When going to the first chamber below it crash. I don't know why it happened.

Attached tux.savegame.
Author: nabla Date: 2011-08-28   14h44
Here the printed message.

print_trace:  Obtained 7 stack frames.
print_trace:  Obtaining symbols now done.
freedroidRPG(print_trace+0x1e) [0x809407e]
[0x9e4400]
freedroidRPG(DoAllMovementAndAnimations+0x10) [0x809e330]
freedroidRPG(Game+0x65) [0x809e3b5]
freedroidRPG(main+0x149) [0x809e569]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x14be37]
freedroidRPG() [0x805ccb1]

print_trace():  received SIGSEGV!
Author: hakzsam Date: 2011-08-28   14h46
Thanks for taking time to report this bug.

Could you attach a backtrace, please ?
Author: hakzsam Date: 2011-08-28   14h46
Ok, Thanks for the backtrace. :)
Author: ahuillet Date: 2011-08-28   14h49
This is not a usable backtrace hakzsam and you should know that. 
The report also lacks a version number without which we'll do nothing.
Author: ahuillet Date: 2011-08-28   14h54
Nabla - thanks for the report!
This issue makes the game crash so it's quite serious.

Can you please specify which version of the game you were using, and include
the complete output of the game when it starts? Please also mention your
platform (Windows, Linux, etc.).

If you can readily reproduce the problem, perhaps you could attach a savegame
that would enable us to do it. A backtrace from within GDB would be appreciated
if you know how to get one.

Thanks!
-- 
Greetings, 
A. Huillet
Author: hakzsam Date: 2011-08-28   14h55
Indeed, I was wrong...

nabla, see this page http://www.freedroid.org/pmwiki/pmwiki.php/Main/BackTraces

Thanks in advance.
Author: nabla Date: 2011-08-28   14h55
I play version 0.14.1.1 from playdeb.

How can i make a useable backtrace?
Author: nabla Date: 2011-08-28   16h01
I compiled the release version that is in sourceforge (svn didn't want to
compile) because my version had no symbol.

I use Ubuntu 11.04 .
 The savegame is attached and the gdblog

Attached gdblog.txt.
Author: joseph Date: 2011-08-28   18h06
Your savegame isn't complete. tux.shp is missing.
Author: ahuillet Date: 2011-09-19   17h13
Fluzz, Joseph, can you tell me what you think could cause this crash? I know
I've seen this issue in the past.
Author: ahuillet Date: 2011-09-19   17h13
By the way, a SIGSEGV is critical.
Author: joseph Date: 2011-09-19   18h12
I was able to reproduce the crash with the attached savegame. I find out that
the crash was caused by negative obstacle type in the obstacle list. You can
check it easily by examining the savegame file.
Fluzz claimed it's the old bug. He said the obstacle list wasn't cleared before
loading a savegame.
I'm closing the issue.
Author: fluzz Date: 2011-09-19   20h35
Not exactly. It was about the list not being cleaned up before to save it, iirc. But yes it was fixed.

----- Reply message -----
De : "Józef Kucia - Roundup" <bugs@freedroid.org>
Date : lun., sept. 19, 2011 20:12
Objet : [issue454] SIGSEGV in access tunnel for shield control
Pour : <freedroid-bugs@lists.sourceforge.net>

Józef Kucia <joseph.kucia@gmail.com> added the comment:

I was able to reproduce the crash with the attached savegame. I find out that
the crash was caused by negative obstacle type in the obstacle list. You can
check it easily by examining the savegame file.
Fluzz claimed it's the old bug. He said the obstacle list wasn't cleared before
loading a savegame.
I'm closing the issue.

----------
status: open -> resolved

________________________________________
FreedroidRPG issues <bugs@freedroid.org>
<http://bugs.freedroid.org/b/issue454>
________________________________________

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Freedroid-bugs mailing list
Freedroid-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedroid-bugs

Attached unnamed.
Author: ahuillet Date: 2012-01-23   07h18
Reopening following reports that this still happens in .15.
Author: fluzz Date: 2012-01-23   23h15
Recipe to reproduce the bug:
- 1) on a level with a least one neighbor, add a crate and a bloor door, in that
order (be sure that there are not on-going combats on the level, so that oil or
blood stains are not added *after* the door)  
- 2) destroy the crate
- 3) walk to the neighbor level, far away to be sure that the modified level is
no more visible. 
- 4) save 
- 5) walk back to the modified level 
- 6) save - KABOOM

Fixed in svn r5367.
Here is the commit log, that shortly explains the bug:
----------------------------------------------------------
Do not restrain dirty_animated_obstacle_lists() to visible levels only. 
This fixes a bug that leads to create and save obstacles with negative index in
a very specific case: 
defrag_obstacle_array() is called when a game is saved, and a destroyed object
can be replaced by an animated door. In that case, the type of the element that
was containing the door is set to -1. If the defragged level is a non-visible
neighbor of the current level, then it's animated obstacle list is not dirty and
so the door's old index (whose type is now -1) is used by animate_door() which
can decrement the value of the obstacle type.
----------------------------------------------------------

Also added a protection in animate_door() to avoid to decrement an obstacle if
it's type is not a door type, in svn r5368
History
Date User Action Args
2012-05-20 16:28:13josephsetlinked: + Consistent Crashing Bug at Disruptor Base
2012-05-20 16:24:15ahuilletlinkissue597 linked
2012-02-25 22:18:53matthiaskrgrlinkissue570 linked
2012-01-23 23:15:34fluzzsetstatus: open -> resolved
messages: + msg2147
2012-01-23 07:18:55ahuilletsetstatus: resolved -> open
assignedto: fluzz
messages: + msg2146
nosy: + fluzz
2011-09-19 20:35:04fluzzsetfiles: + unnamed
messages: + msg1647
2011-09-19 18:12:00josephsetstatus: open -> resolved
messages: + msg1646
2011-09-19 17:13:21ahuilletsetpriority: important -> critical
messages: + msg1644
2011-09-19 17:13:07ahuilletsetmessages: + msg1643
2011-08-28 18:22:02nablasetfiles: + tux.shp
2011-08-28 18:06:56josephsetmessages: + msg1595
2011-08-28 16:16:32nablasetpriority: bug -> important
2011-08-28 16:01:02nablasetpriority: important -> bug
files: + gdblog.txt
messages: + msg1592
2011-08-28 14:57:50ahuilletsetpriority: bug -> important
2011-08-28 14:55:09nablasetmessages: + msg1590
2011-08-28 14:55:02hakzsamsetmessages: + msg1589
2011-08-28 14:54:04ahuilletsetmessages: + msg1588
2011-08-28 14:49:46ahuilletsetmessages: + msg1587
2011-08-28 14:46:39hakzsamsetmessages: + msg1585
2011-08-28 14:46:04hakzsamsetmessages: + msg1584
2011-08-28 14:44:57nablasetmessages: + msg1583
2011-08-28 14:42:49nablacreate