Blender crashes on startup if playback device disabled #38372

Closed
opened 9 years ago by maurice-3 · 18 comments

System Information
Microsoft Windows 7 x64
NVIDIA Quadro FX1000M (driver

Blender Version
Broken: 2.69

Short description of error
Blender crashes on startup. Briefly a console window is shown stating a crash log is written in C:\Temp\blender.crash.txt, but that file only contains the line "# Blender 2.69 (sub 0), Revision: 60995". After using the debugger I found out the problem is caused by having my primary audio playback device disabled ("manage audio devices from the windows control panel, right-click on speakers and select disable). After enabling my speakers again blender runs fine again. Here is a stacktrace when running blender with my playback device disabled:

0x80009a20
WINMM!DriverCallback+0x6e
msacm32_7fefa960000+0x14a1
msacm32_7fefa960000+0x167d
WINMM!DriverCallback+0x6e
wdmaud!mxdMessage+0x9a5e
wdmaud!wodMessage+0xae
WINMM!waveOutOpen+0x1cd
msacm32_7fefa960000+0x1c2f
msacm32_7fefa960000+0x2691
msacm32_7fefa960000!wodMessage+0x10b
WINMM!waveOutOpen+0x1cd
wrap_oal!alcOpenDevice+0x7d0
blender!PyInit_aud+0x12112
blender!PyInit_mathutils_geometry+0x5f5aae
blender+0x601522
blender+0xfcfe
blender+0x1005f
blender+0x4e20
blender+0x11e0

Exact steps for others to reproduce the error

  • In the windows control panel, go to "manage audio devices"
  • Right-click the primary playback device and select "disable" (I had a another playback device (headphones) enabled)
  • Try to start blender
**System Information** Microsoft Windows 7 x64 NVIDIA Quadro FX1000M (driver **Blender Version** Broken: 2.69 **Short description of error** Blender crashes on startup. Briefly a console window is shown stating a crash log is written in C:\Temp\blender.crash.txt, but that file only contains the line "# Blender 2.69 (sub 0), Revision: 60995". After using the debugger I found out the problem is caused by having my primary audio playback device disabled ("manage audio devices from the windows control panel, right-click on speakers and select disable). After enabling my speakers again blender runs fine again. Here is a stacktrace when running blender with my playback device disabled: 0x80009a20 WINMM!DriverCallback+0x6e msacm32_7fefa960000+0x14a1 msacm32_7fefa960000+0x167d WINMM!DriverCallback+0x6e wdmaud!mxdMessage+0x9a5e wdmaud!wodMessage+0xae WINMM!waveOutOpen+0x1cd msacm32_7fefa960000+0x1c2f msacm32_7fefa960000+0x2691 msacm32_7fefa960000!wodMessage+0x10b WINMM!waveOutOpen+0x1cd wrap_oal!alcOpenDevice+0x7d0 blender!PyInit_aud+0x12112 blender!PyInit_mathutils_geometry+0x5f5aae blender+0x601522 blender+0xfcfe blender+0x1005f blender+0x4e20 blender+0x11e0 **Exact steps for others to reproduce the error** - In the windows control panel, go to "manage audio devices" - Right-click the primary playback device and select "disable" (I had a another playback device (headphones) enabled) - Try to start blender
Poster

Changed status to: 'Open'

Changed status to: 'Open'
Poster

Added subscriber: @maurice-3

Added subscriber: @maurice-3
Sergey commented 9 years ago
Owner

Added subscribers: @neXyon, @ThomasDinges, @Sergey

Added subscribers: @neXyon, @ThomasDinges, @Sergey
Sergey commented 9 years ago
Owner

@ThomasDinges, can you check this on windows?

@neXyon, maybe you've got some knowledge around this?

@ThomasDinges, can you check this on windows? @neXyon, maybe you've got some knowledge around this?
neXyon commented 9 years ago
Collaborator

The call stack is very weird, when I start blender on linux PyInit_aud is not called at all. Moreover there is no direct call to OpenAL in that function either!

The call stack is very weird, when I start blender on linux PyInit_aud is not called at all. Moreover there is no direct call to OpenAL in that function either!
jrp commented 9 years ago (Migrated from localhost:3001)
Collaborator

Added subscriber: @jrp

Added subscriber: @jrp
jrp commented 9 years ago (Migrated from localhost:3001)
Collaborator

I think that there is a missing
if (speaker->sound)

at line 736 of sound.c, so that it looks like:

						if (strip->speaker_handle) {
							AUD_addSet(new_set, strip->speaker_handle);
							AUD_updateSequenceData(strip->speaker_handle, speaker->volume_max,
							                       speaker->volume_min, speaker->distance_max,
							                       speaker->distance_reference, speaker->attenuation,
							                       speaker->cone_angle_outer, speaker->cone_angle_inner,
							                       speaker->cone_volume_outer);

							mat4_to_quat(quat, ob->obmat);
							AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_LOCATION, CFRA, ob->obmat- [x], 1);
							AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_ORIENTATION, CFRA, quat, 1);
							AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_VOLUME, CFRA, &speaker->volume, 1);
							AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_PITCH, CFRA, &speaker->pitch, 1);
							if (speaker->sound)
								AUD_updateSequenceSound(strip->speaker_handle, speaker->sound->playback_handle);
							AUD_muteSequence(strip->speaker_handle, ((strip->flag & NLASTRIP_FLAG_MUTED) != 0) || ((speaker->flag & SPK_MUTED) != 0));
I think that there is a missing if (speaker->sound) at line 736 of sound.c, so that it looks like: if (strip->speaker_handle) { AUD_addSet(new_set, strip->speaker_handle); AUD_updateSequenceData(strip->speaker_handle, speaker->volume_max, speaker->volume_min, speaker->distance_max, speaker->distance_reference, speaker->attenuation, speaker->cone_angle_outer, speaker->cone_angle_inner, speaker->cone_volume_outer); mat4_to_quat(quat, ob->obmat); AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_LOCATION, CFRA, ob->obmat- [x], 1); AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_ORIENTATION, CFRA, quat, 1); AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_VOLUME, CFRA, &speaker->volume, 1); AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_PITCH, CFRA, &speaker->pitch, 1); if (speaker->sound) AUD_updateSequenceSound(strip->speaker_handle, speaker->sound->playback_handle); AUD_muteSequence(strip->speaker_handle, ((strip->flag & NLASTRIP_FLAG_MUTED) != 0) || ((speaker->flag & SPK_MUTED) != 0));
neXyon commented 9 years ago
Collaborator

If that would be the problem then there's a bug somewhere else, because a Speaker should always have a sound! Also I see absolutely no connection between this bug and this part of the code, they have nothing to do with each other. O_o

If that would be the problem then there's a bug somewhere else, because a Speaker should always have a sound! Also I see absolutely no connection between this bug and this part of the code, they have nothing to do with each other. O_o
jrp commented 9 years ago (Migrated from localhost:3001)
Collaborator

OK. I was going by the

							if (speaker->sound) {

at line 715 of that file.

OK. I was going by the if (speaker->sound) { at line 715 of that file.

Added subscriber: @BenjaminNeumann

Added subscriber: @BenjaminNeumann

I tried to reproduce it yesterday and got the same error but it was too late for a decent bug hunt. Somehow it works today after reboot. This is really strange I tried disabling all the soundcards I have installed (3) still nothing.

I tried to reproduce it yesterday and got the same error but it was too late for a decent bug hunt. Somehow it works today after reboot. This is really strange I tried disabling all the soundcards I have installed (3) still nothing.
Sergey commented 9 years ago
Owner

maurice, is it still an issue for you?

maurice, is it still an issue for you?
Poster

Now that I know that my disabled soundcard is the problem, I can easily work around this issue.

Now that I know that my disabled soundcard is the problem, I can easily work around this issue.
Sergey commented 9 years ago
Owner

Well, crashing blender is bad anyway. However, stack-trace goes to msacm32 which is a windows library and if it does have issues we couldn't work-around them from blender side.

Please check whether there're driver updates on your sound card vendor's site.

Well, crashing blender is bad anyway. However, stack-trace goes to msacm32 which is a windows library and if it does have issues we couldn't work-around them from blender side. Please check whether there're driver updates on your sound card vendor's site.
Collaborator

Added subscriber: @MartijnBerger

Added subscriber: @MartijnBerger
Collaborator

Is there anyway you could maybe test with a buildbot build of blender (maybe even both 2008 and 2013 build).
They use different openal versions and could give a clue to if this issue is still present and if it happens in both versions.

Is there anyway you could maybe test with a buildbot build of blender (maybe even both 2008 and 2013 build). They use different openal versions and could give a clue to if this issue is still present and if it happens in both versions.
Sergey commented 9 years ago
Owner

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sergey closed this issue 9 years ago
Sergey self-assigned this 9 years ago
Sergey commented 9 years ago
Owner

Well, not reply in some weeks.. New openal might have solved the issue.

But blender does not do anything specific with the devices directly, so it's very much likely issue in a third part lib which is out of the scope of this tracker..

Well, not reply in some weeks.. New openal might have solved the issue. But blender does not do anything specific with the devices directly, so it's very much likely issue in a third part lib which is out of the scope of this tracker..
Sign in to join this conversation.
No Label
Interest/Alembic
Interest/Animation & Rigging
Interest/Asset Browser
Interest/Asset Browser Project Overview
Interest/Audio
Interest/Automated Testing
Interest/Blender Asset Bundle
Interest/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
Interest/Eevee & Viewport
Interest/Freestyle
Interest/Geometry Nodes
Interest/Grease Pencil
Interest/ID Management
Interest/Images & Movies
Interest/Import/Export
Interest/Line Art
Interest/Masking
Interest/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
Interest/Python API
Interest/Render & Cycles
Interest/Render Pipeline
Interest/Sculpt, Paint & Texture
Interest/Text Editor
Interest/Translations
Interest/Triaging
Interest/Undo
Interest/USD
Interest/User Interface
Interest/UV Editing
Interest/VFX & Video
Interest/Video Sequencer
Interest/Virtual Reality
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
Module › Animation & Rigging
Module › Core
Module › Development Management
Module › Eevee & Viewport
Module › Grease Pencil
Module › Modeling
Module › Nodes & Physics
Module › Pipeline, Assets & IO
Module › Platforms, Builds, Tests & Devices
Module › Python API
Module › Render & Cycles
Module › Sculpt, Paint & Texture
Module › Triaging
Module › User Interface
Module › VFX & Video
Platform/FreeBSD
Platform/Linux
Platform/macOS
Platform/Windows
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#38372
Loading…
There is no content yet.