TONPPAMF

The Official NPPAngband And NPPMoria Forum

You are not logged in.

Announcement

November 28, 2016 - NPPAngband forum has been migrated to a new host. SSL has been enabled so please use https:// if possible.

#1 2016-03-10 00:56:19

hydraa
Member
Registered: 2004-10-11
Posts: 421

Crash when starting a new game with character equipment screen open

Running via QT I am having the game crash when after creating a new character with the character equipment  screen window open when the program launches (all options at the default that comes with the download, as all i did was compile and run).  This has been happening for the last couple of updates to the development code branch. The window does not seem to cause issues after the game has started.

Crash message in QT is pretty basic
"
Starting C:\NPPAngband_QT-Jeff\NPPQT\NPPGAMES.exe...
The program has unexpectedly finished.
C:\NPPAngband_QT-Jeff\NPPQT\NPPGAMES.exe crashed
"

Couple of messages from the tool while testing this, that may or not be related
"
QIODevice::putChar: Closed device
ASSERT failure in QWeakPointer: "Detected QWeakPointer creation in a QObject being deleted", file tools\qsharedpointer.cpp, line 1328

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
C:\NPPAngband_QT-Jeff\NPPQT\NPPGAMES.exe exited with code 3
"

"QIODevice::putChar: Closed device
QCoreApplication::postEvent: Unexpected null receiver
QCoreApplication::postEvent: Unexpected null receiver
"

Offline

#2 2016-03-10 16:43:24

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

Also had a crash closing after playing for a bit and dying  code 255 this time

Offline

#3 2016-03-10 21:02:15

NPPAngband
NPPAngband Maintainer
Registered: 2004-07-01
Posts: 1,647
Website

Re: Crash when starting a new game with character equipment screen open

I couldn't duplicate the crash, but I did get a warning message of a Null receiver.  I just uploaded a commit that eliminates the warning.  Maybe that was causing the crash?

Just curious, how do you compile Qt?  Do you use QT creator, or another method?

Offline

#4 2016-03-10 22:13:24

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

Qt creator

The bone directory not existing might be part of the issue as the computer that was writing, I copied the bone from a previous build.  The one that did not write I did not self create the bone file

Offline

#5 2016-03-11 08:17:46

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

Crash is still occurring on opening with certain windows or combinations of windows open when starting.  I get the error crash after character generation screen and before the town level full displays.
I get the crash with only the character equipement window open when starting, having all other windows open and not that one allows the launch.

It appears the crash at game close might be resolved however, just let a character die and no error ( i was seeing it was crashing pressing the close button and not when pressing esc to close the death window, but did not have enough data yet to tell )
Edit:, maybe not has it just crashed pressing close

Last edited by hydraa (2016-03-11 15:22:47)

Offline

#6 2016-03-11 08:39:24

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

see if this helps

>~"\nProgram received signal "
>~"SIGSEGV, Segmentation fault.\n"

>~"0x0065ba31 in clear_layout (layout=0x1a80e520) at ..\\NPPQT\\src\\utilities.cpp:974\n"
>~"974\t    while (QLayoutItem* item = layout->takeAt(0))\n"
>*stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",frame={addr="0x0065ba31",func="clear_layout",args=[{name="layout",value="0x1a80e520"}],file="..\\NPPQT\\src\\utilities.cpp",fullname="C:\\NPPAngband_QT-Jeff\\NPPQT\\src\\utilities.cpp",line="974"},thread-id="1",stopped-threads="all"
dNOTE: INFERIOR SPONTANEOUS STOP
sStopped.
dState changed from InferiorRunOk(11) to InferiorStopOk(14) [master]
<74importPlainDumpers off
dHANDLING SIGNAL SIGSEGV
sStopped: Segmentation fault (Signal SIGSEGV).

Offline

#7 2016-03-11 15:01:39

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

I am getting this output for closing the game (it appears it is crashing nicely since the user does not see it).  this was using the x button on the main window to close the game

>~"\nProgram received signal "
>~"SIGSEGV, Segmentation fault.\n"

>~"0x004357c0 in MainWindow::win_mon_list_destroy (this=0x18046018, this_object=0x194082b8) at ..\\NPPQT\\src\\qt_win_mon_list.cpp:532\n"
>~"532\t    mon_button_group->~QButtonGroup();\n"
>*stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",frame={addr="0x004357c0",func="MainWindow::win_mon_list_destroy",args=[{name="this",value="0x18046018"},{name="this_object",value="0x194082b8"}],file="..\\NPPQT\\src\\qt_win_mon_list.cpp",fullname="C:\\NPPAngband_QT-Jeff\\NPPQT\\src\\qt_win_mon_list.cpp",line="532"},thread-id="1",stopped-threads="all"
dNOTE: INFERIOR SPONTANEOUS STOP
sStopped.
dState changed from InferiorRunOk(11) to InferiorStopOk(14) [master]
<22importPlainDumpers off
dHANDLING SIGNAL SIGSEGV
sStopped: Segmentation fault (Signal SIGSEGV).

Offline

#8 2016-03-11 21:06:58

NPPAngband
NPPAngband Maintainer
Registered: 2004-07-01
Posts: 1,647
Website

Re: Crash when starting a new game with character equipment screen open

hydraa wrote:

I get the crash with only the character equipement window open when starting, having all other windows open and not that one allows the launch.


Found it.  The game was attempting to update the character inventory & inventory windows before they were created.  It attempted to clear a layout that didn't yet exist.

Offline

#9 2016-03-11 21:15:05

NPPAngband
NPPAngband Maintainer
Registered: 2004-07-01
Posts: 1,647
Website

Re: Crash when starting a new game with character equipment screen open

hydraa wrote:

Qt creator

If you are using Qt Creator, I trust you compile in release mode rather than debug mode?

If and only if you are so inclined, when you can recreate a crash bug switching to debug mode is extremely informative.  Debug mode is unbearably slow for regular play, but when the game crashes it will show you the exact line of the crash, as well as the list of function calls that brought you to that particular code.

And again, thank you for all of the help.  The offer is always to include into NPP an artifact of your design, or something like that.

Offline

#10 2016-03-11 21:25:48

hydraa
Member
Registered: 2004-10-11
Posts: 421

Re: Crash when starting a new game with character equipment screen open

No, I don't play in debug very often.

I am considering that artifact, though I thought something like slay bugs (louses) would be fun (kinda of useless though) but i don't think it exists.

Offline

Board footer

Powered by FluxBB