Regular crashes are back with 1.73.4 :(

For test results, bug reports, announcements of new builds etc.

Moderators: winston, another_commander, Getafix

Post Reply
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

There is a reliable way to reproduce the crash: Launch, witchspace and then leave the computer alone.
Hmm, that's more or less my testing technique, apart from occasionally (every half hour or so) going back to the space lane for a spot of rob NPC interaction, docking & jumping to a new system. I've had 1.73.4 & trunk running for 3+ hours at the time, and no crashes whatsoever myself... this with both a mac & a pc with windowsxp sp3 - geforce go 7300.

Plus, even with debug=yes (aka a simple 'make') I'm sure the frame rate I'm getting on the xp computer is much higher than 4 fps. This with a 1.6 GHz processor & 2 gb ram. I'm not there now, but I'll double check the fps the moment I have the chance, though.
I might be totally wrong here, but my initial guess is that whatever causes your computer to be so slow with the debug exe is also causing the crashes. Not being there is kind of difficult to guess properly, though...
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Cmd. Cheyd
---- E L I T E ----
---- E L I T E ----
Posts: 934
Joined: Tue Dec 16, 2008 2:52 pm
Location: Deep Horizon Industries Manufacturing & Research Site somewhere in G8...

Post by Cmd. Cheyd »

Random thought - What screen saver are you using and when is it set to kick in? What about your various power-management settings?

Just wondering if it's possible Oolite and a graphically-intense screen saver could be colliding. Or if Oolite or the screen saver (or possibly the combo) is falling over when power-management is introduced.

Again, just a random thought...
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post by Lestradae »

I might be completely off here, but as all the experts don't seem to find anything, doesn't this line here in Screet's error report have something to say:
mismatched access semantics between the vertex and fragment shader
:?:

L
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: ..

Post by another_commander »

Lestradae wrote:
I might be completely off here, but as all the experts don't seem to find anything, doesn't this line here in Screet's error report have something to say:
mismatched access semantics between the vertex and fragment shader
:?:

L
No.
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

.

Post by Lestradae »

:(

:?
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Cmd. Cheyd wrote:
Random thought - What screen saver are you using and when is it set to kick in? What about your various power-management settings?
Blank...after more than an hour to be started, and no, it did not activate, on neither of the two machines.

Concerning the slowdown: That was when I copied the non-debug trunk exe to the 1.73.4 installation! I've then uninstalled 1.73.4 and built a trunk installer...after using that, that problem was gone.

EDIT: It's also not the procedural planets.

If anyone has ideas where I could add some safety checks in my trunk copy, please let me know...it's really unplayable for me - and that's really bad because the new version looks sooooo great!

Screet
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Just a thought....could it be that the problem is processor dependent?

Both machines I use are equipped with AMD 2.2GHz processors, one is single core in 32 bit mode, the other quad core in 64 bit mode.

So the question would be:
who experiences problems and who not and which CPUs are in use?

IIRC there was some processor dependent bug roughly a year ago?!?

Screet
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

I'm testing on amd turion 1.6GHz, no crashes...

Idea: did you alter anything, and I mean anything at all inside the /Resources directory? That might cause some 'novel features' including crashes...
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

....

Post by Lestradae »

Want to report an extraordinary result (positive, this time).

Testing revision 2623 trunk, suddenly the mysterious crashes are gone. I then tried installing my latest OSE WiP plus any oxp I have on top of each other (that equals ~240 oxps!), tried different savegames, went on a flight spree of 15 hyperjumps in series. 1,05GB of oxps, no crash.

I did get crashs eventually, but they were traceable to scripts not updated to the new trunk and not mysterious at all.

So whatever was changed since 2609 or so has removed part or all of the mysterious crashes source on my system.

Perhaps this info is useful.

Cheers

L
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Re: ....

Post by Screet »

Lestradae wrote:
Want to report an extraordinary result (positive, this time).

Testing revision 2623 trunk, suddenly the mysterious crashes are gone.
Interesting...the machine where I build trunk and did test in gdb without oxp's did not crash within 3 flights through the same system (N/W/N) too.

Sadly, my main machine appears to be failing me :(

Screet
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Well, Thargoid & a_c did say there were some issues that were corrected in trunk on the 27th...

rev.2611 : Fixed crash that was happening whenever the player ship had a script defined in its shipdata.

L, that might well have been the cause of your crashes...
Screet, have you tried copying the entire oolite.app directory from the build machine to the main one? If you've done that already, and it still crashes, then I've already ran out of ideas...
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6312
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Post by Diziet Sma »

Screet wrote:
If anyone has ideas where I could add some safety checks in my trunk copy, please let me know...it's really unplayable for me - and that's really bad because the new version looks sooooo great!

Screet
Screet.. thinking back to earlier on when it seemed that your problems could be due to resource sharing issues between the two versions.

a_c mentioned that you need to keep both versions totally separated. I'm not sure if this is what you mean by safety checks, but here is how I keep 1.73.4 and trunk totally independent of one another for my trunk builds.

As I wrote on my website:
This installer is designed to co-exist peacefully alongside a standard installation of Oolite. It has separate Start-Menu entries, a different install location and its own un-installer. Game-saves, settings and addons (OXPs) are likewise separate from and independent of the standard Oolite installation. ... By default, it installs to C:\Oolite-Trunk\. You will need to install any OXPs you wish to use into C:\Oolite-Trunk\AddOns\. To run the trunk version, go to Start>All Programs>Oolite-Trunk>Oolite.
This is a copy of my current OOlite.nsi for building installers. Perhaps you can use it to keep all trunk resources quarantined away from your 1.73.4 installation... take note of all the places "Oolite" is changed to "Oolite-Trunk". Also, you'll notice that I've disabled deletion of the GNUstep directory during uninstalls.. the idea being that since trunk is updated so often, it helps to not lose your screen/shader/joystick settings every time you update..

Code: Select all

; Include the NSIS logic library. Required for the code that handles 
; adding of the changelog file in the non-snapshot distributions
!include "LogicLib.nsh"

; Need to include the versions as we can't pass them in as parameters
; and it's too much work to try to dynamically edit this file

; Side-by-side trunk installer version - by Diziet Sma

!include /NONFATAL "OoliteVersions.nsh"

!ifndef SVNREV
!warning "No SVN Revision supplied"
!define SVNREV 0
!endif
!ifndef VERSION
!warning "No Version information supplied"
!define VERSION 0.0.0.0
!endif
; Version number must be of format X.X.X.X.
; We use M.m.R.S:  M-major, m-minor, R-revision, S-subversion
!define VER ${VERSION}
!ifndef DST
!define DST ..\..\oolite.app
!endif
!ifndef OUTDIR
!define OUTDIR .
!endif

!ifndef SNAPSHOT
!define EXTVER ""
!define ADDCHANGELOG 1	; Official distributions go with a changelog file
!else
!define EXTVER "-dev"
!define ADDCHANGELOG 0	; Snapshot distributions do not need changelog
!endif

!include "MUI.nsh"

SetCompress auto
SetCompressor LZMA
SetCompressorDictSize 32
SetDatablockOptimize on
OutFile "${OUTDIR}\OoliteInstall-${VER}${EXTVER}.exe"
BrandingText "(C) 2003-2009 Giles Williams and contributors"
Name "Oolite"
Caption "Oolite ${VER}${EXTVER} Trunk version Setup"
SubCaption 0 "Designed to install alongside"
SubCaption 1 "a standard Oolite installation"
SubCaption 2 "without conflict."
SubCaption 3 "Compiled and supplied"
SubCaption 4 "by Diziet Sma."
Icon Oolite.ico
UninstallIcon Oolite.ico
InstallDirRegKey HKLM Software\Oolite-Trunk "Install_Dir"
InstallDir $INSTDIR	; $INSTDIR is set in .onInit
CRCCheck on
InstallColors /windows
InstProgressFlags smooth
AutoCloseWindow false
SetOverwrite on

VIAddVersionKey "ProductName" "Oolite-Trunk"
VIAddVersionKey "FileDescription" "A space combat/trading game, inspired by Elite."
VIAddVersionKey "LegalCopyright" "© 2003-2009 Giles Williams and contributors"
VIAddVersionKey "FileVersion" "${VER}"
!ifdef SNAPSHOT
VIAddVersionKey "SVN Revision" "${SVNREV}"
!endif
!ifdef BUILDTIME
VIAddVersionKey "Build Time" "${BUILDTIME}"
!endif
VIProductVersion "${VER}"

!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP ".\OoliteInstallerHeaderBitmap_ModernUI.bmp"
!define MUI_HEADERIMAGE_UNBITMAP ".\OoliteInstallerHeaderBitmap_ModernUI.bmp"
!define MUI_ICON oolite.ico
!define MUI_UNICON oolite.ico

!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES  
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES

!insertmacro MUI_LANGUAGE "English"

Function .onInit
 ; 1. Get the system drive
 StrCpy $R9 $WINDIR 2
 StrCpy $INSTDIR $R9\Oolite-Trunk

 ; 2. Check for multiple running installers
 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "OoliteInstallerMutex") i .r1 ?e'
 Pop $R0
 
 StrCmp $R0 0 +3
   MessageBox MB_OK|MB_ICONEXCLAMATION "Another instance of the Oolite-Trunk installer is already running."
   Abort

  ; 3. Checks for already-installed versions of Oolite-Trunk and offers to uninstall
  ReadRegStr $R0 HKLM \
  "Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite-Trunk" \
  "UninstallString"
  StrCmp $R0 "" done
 
  MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
  "Oolite-Trunk is already installed. $\n$\nClick `OK` to remove the \
  previous version or `Cancel` to cancel this upgrade." \
  IDOK uninst
  Abort
 
;Run the uninstaller
uninst:
  ClearErrors
  ReadRegStr $R1 HKLM "Software\Oolite-Trunk" Install_Dir
  ExecWait '$R0 _?=$R1'
  IfErrors no_remove_uninstaller
    Delete "$R1\UninstOolite.exe"
    Goto done
  no_remove_uninstaller:
    MessageBox MB_OK|MB_ICONEXCLAMATION "The Uninstaller did not complete successfully.  Please ensure Oolite-Trunk was correctly uninstalled then run the installer again."
    Abort
done:
FunctionEnd

Function RegSetup
FunctionEnd

Function un.RegSetup
FunctionEnd

;------------------------------------------------------------
; Installation Section
Section ""
SetOutPath $INSTDIR

; Package files
CreateDirectory "$INSTDIR\AddOns"

File "Oolite.ico"
File "Oolite_Readme.txt"
File "..\..\Doc\OoliteRS.pdf"
File "..\..\Doc\AdviceForNewCommanders.pdf"
File "..\..\Doc\OoliteReadMe.pdf"
${If} ${ADDCHANGELOG} == "1"
  File "..\..\Doc\CHANGELOG.TXT"
${EndIf}
File /r /x .svn /x *~ "${DST}"

WriteUninstaller "$INSTDIR\UninstOolite.exe"

; Registry entries
WriteRegStr HKLM Software\Oolite-Trunk "Install_Dir" "$INSTDIR"
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite-Trunk DisplayName "Oolite ${VER}${EXTVER}"
WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite-Trunk UninstallString '"$INSTDIR\UninstOolite.exe"'

; Start Menu shortcuts
SetOutPath $INSTDIR\oolite.app
CreateDirectory "$SMPROGRAMS\Oolite-Trunk"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite.lnk" "$INSTDIR\oolite.app\oolite.exe" "" "$INSTDIR\Oolite.ico"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite ReadMe.lnk" "$INSTDIR\OoliteReadMe.pdf"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite Reference Sheet.lnk" "$INSTDIR\OoliteRS.pdf"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite - Advice for New Commanders.lnk" "$INSTDIR\AdviceForNewCommanders.pdf"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite Website.lnk" "http://oolite.org/"
CreateShortCut "$SMPROGRAMS\Oolite-Trunk\Oolite Uninstall.lnk" "$INSTDIR\UninstOolite.exe"

Call RegSetup

Exec "notepad.exe $INSTDIR\Oolite_Readme.txt"

SectionEnd

;------------------------------------------------------------
; Uninstaller Section
Section "Uninstall"

; Remove registry entries
DeleteRegKey HKLM Software\Oolite-Trunk
DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\Oolite-Trunk
Call un.RegSetup

; Remove Start Menu entries
RMDir /r "$SMPROGRAMS\Oolite-Trunk"

; Remove Package files (but leave any generated content behind)
RMDir /r "$INSTDIR\oolite.app\Contents"
; RMDir /r "$INSTDIR\oolite.app\GNUstep"" (EXPERIMENTAL - leave GNUstep configuration alone)
RMDir /r "$INSTDIR\oolite.app\oolite.app"
RMDir /r "$INSTDIR\oolite.app\Resources"
RMDir /r "$INSTDIR\oolite.app\Logs"
Delete "$INSTDIR\*.*"
Delete "$INSTDIR\oolite.app\*.*"

SectionEnd

Hope some of this is helpful for you.. :)
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Diziet Sma wrote:
Screet.. thinking back to earlier on when it seemed that your problems could be due to resource sharing issues between the two versions.
As I wrote already two times: After the info that (although only few days apart) the resources for trunk and 1.73.4 won't work together, I did a complete uninstall and then switched to use a trunk installer. There's nothing left of 1.73.4 anymore. Instantly the speed did rise again.

Today I had the development machine without OXPs stay crash free.

The main machine however became itself highly unstable. I'm afraid either Vista is horribly damaged or the machine is gonna die soon.

The really good news is the following:
After the development machine was happy with the trunk version, I used that executable for the (now trunk installed) version on my main machine. There's still been an occasional crash - and the frame rate was dropping down further than before when running everything, but still better than oolite several months ago ;) Even better: I identified the source of the slowdown and when I tried to fix that as good as possible by cutting away parts, I apparantly also cured Oolite from the remaining crashes ;) Since I did that, there has not been a single crash. I've kept oolite running for almost three hours now - without any incident!

However, since that worked, I found a new bug in trunk ;)

Screet
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6312
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Post by Diziet Sma »

Screet wrote:
As I wrote already two times: After the info that (although only few days apart) the resources for trunk and 1.73.4 won't work together, I did a complete uninstall and then switched to use a trunk installer. There's nothing left of 1.73.4 anymore. Instantly the speed did rise again.
Oops.. :oops: somehow I managed to miss that.. sorry..

I'm glad you've been able to cure the crashes.. :D
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Diziet Sma wrote:
I'm glad you've been able to cure the crashes.. :D
Yeah...seeing all those nice new graphics and then being unable to enjoy them was horrible ;)

However, I more had to watch my dog today (someone tried to poison her and I did want to be sure she really is OK) than being able to play, but I finally can say that it's perfectly stable now, for several hours, where it crashed yesterday within minutes.

I can even use the Vista "mini view" over the task bar to view the Oolite fullscreen content while typing!

Screet
Post Reply