Crashes with sound patch

Description: Report bugs, bug fixes and workarounds here.

HB M
Topic author
Avatar
HB M
Topic author
Posts: 132
With us: 14 years 6 months
Location: Eindhoven, The Netherlands

#1by HB » 28.03.2017, 23:13

With resolving the linking error of the audio patch Celestia can be build properly, however the executable crashes all the time.
Celestia is build with VC++ 2008 express edition on a windows 7 x86 enterprise machine.

It for sure that it is related with the audio support patch. I comment out all code related to audio support of celx.cpp, celestiacore.h and cpp, command.cpp and cmdparser.cpp. Further the link to fmod libraries and paths in celestia.vcproj. In short get rid of audio support.

A build of Celestia with the above modifications, thus without audio, works fine.

In a stadium of fault-finding it might be better to have audio support as a compiler option. In this way other changes to Celestia can be committed without the interference of the debug phase of audio support.
HB

Alexell M
Site Admin
Avatar
Alexell M
Site Admin
Age: 23
Posts: 206
With us: 6 years 7 months
Location: Moscow, Russia
ICQ Facebook Skype Twitter

#2by Alexell » 29.03.2017, 06:16

The executable file does not crash all the time. Of 10 starts, only 3 falls. Demo scripts from the scripts\audio folder work well, clearly show how the audio patch works. I did not comment on the audio patch on my Celestia, because crashes do not happen too often.

As already written in this comment, we need help to find out the cause of the problem. There may be memory leaks.

Added after 4 minutes 23 seconds:
HB, I hope you remember to put fmod.dll in the root folder Celestia?
Admin of celestiaproject.net.
PC: Lenovo IdeaPad Z570. Intel Core i5-2450M CPU @ 2.50GHz, 8 ГБ ОЗУ, NVIDIA GeForce GT 540M, Windows 7 Ultimate x64.
Phone: iPhone 5S 16 Gb. iOS 10.
Image

HB M
Topic author
Avatar
HB M
Topic author
Posts: 132
With us: 14 years 6 months
Location: Eindhoven, The Netherlands

#3by HB » 29.03.2017, 22:00

What I've found out so far on this issue is that the audio patch is not compatible with Windows 7 x86 Enterprise which includes Service Pack 1.
Celestia crashes at the moment the cel scripts are initialised and/or loaded into memory during the start-up phase. This has been shown by the results of a Process Monitor tool. As far as I remember scripts have been caused memory leaks in the past. So likely indeed a memory leak.

The workaround for this problem is simple: just change the compatibility mode of Celestia. Anything from Windows XP onwards is ok. I've used a compatibility with Windows 7. By turning on compatibility mode an extra layer(shims) are between Celestia and Windows. A function call from the application to a windows dll is now to that shim instead of direct to the dll.

Later on I'll do the same trick on a debug build of Celestia. Maybe some other causes can be found with that as well.

What I'd like to know from the Celestia community if this problem also occurs on other Windows platforms as XP, Vista, 8, 8.1, 10 etc. with compatibility mode turned off?

Added after 38 minutes 9 seconds:
Start up Celestia with sound demo celx the following error appears:
[string "E:\C++\VC++2008\Celestia-master\script\au..."]:42: attempt to call method 'play' (a nil value)
HB

Alexell M
Site Admin
Avatar
Alexell M
Site Admin
Age: 23
Posts: 206
With us: 6 years 7 months
Location: Moscow, Russia
ICQ Facebook Skype Twitter

#4by Alexell » 31.03.2017, 15:19

HB wrote:What I'd like to know from the Celestia community if this problem also occurs on other Windows platforms as XP, Vista, 8, 8.1, 10 etc. with compatibility mode turned off?
This is what we know when I'll post binary files on forum for review. But it will be in a month or two.
HB wrote:Start up Celestia with sound demo celx the following error appears:

[string "E:\C++\VC++2008\Celestia-master\script\au..."]:42: attempt to call method 'play' (a nil value)

Are you sure you're running the right script? I have everything working, I can even record video, where it will be seen that all works fine.
Admin of celestiaproject.net.
PC: Lenovo IdeaPad Z570. Intel Core i5-2450M CPU @ 2.50GHz, 8 ГБ ОЗУ, NVIDIA GeForce GT 540M, Windows 7 Ultimate x64.
Phone: iPhone 5S 16 Gb. iOS 10.
Image

HB M
Topic author
Avatar
HB M
Topic author
Posts: 132
With us: 14 years 6 months
Location: Eindhoven, The Netherlands

#5by HB » 01.04.2017, 09:53

I wrote:
Start up Celestia with sound demo celx the following error appears:

[string "E:\C++\VC++2008\Celestia-master\script\au..."]:42: attempt to call method 'play' (a nil value)

It's a mistake made by me. Start up Celestia with a cel(x) scripts will point to my original Celestia application. That's an earlier version without the audio patch.
Sorry by that.
However sound_demo.celx will start a audio file comment.ogg, which doesn't exist. Fix that by a correction of the celx script.(ogg -> mp3)
Audio works fine now.

Still continue looking for memory leaks, it's hard job to do.
HB


Return to “Bugs”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest