To reproduce:
1. Run Blender
2. Change Audio backend to "Jack" (should be "JACK" - all letters uppercase, because it's an acronym, but nevermind).
3. Enable Audio/Video sync using the Sync Mode combobox on the Timeline header.
4. Run Ardour (or another program that uses JACK transport)
5. Move the playhead in BLender to make sure that the playhead in Ardour follows along.
6. Press play (Spacebar) in Ardour or press play (Alt+A) in Blender
7. Watch Blender segfault.
What's interesting: I can move the playhead within Ardour, and it's synced to Blender - no crashes. It only crashes if I start (or stop) playback from Ardour when Blneder is synced to JACK transport.
When I disable "A/V Sync" - Blender never crashed when starting animation playback, even though JACK was still used as an audio backend.
I did a quick test it and the crash initially didn't occur in Blender 2.76b - all worked fine there for a while. I tried testing with other version I have around (2.71, 2,72, 2,73rc1, 2.77), but none of them provided a JACK backed to use.
Here's a backtrace I got from 2.78:
```
# Blender 2.78 (sub 0), Commit date: 2016-09-26 12:42, Hash 4bb1e22
# backtrace
/unfa/Applications/Blender/blender(BLI_system_backtrace+0x1d) [0x1b6269d]
/unfa/Applications/Blender/blender() [0x11bc81e]
/lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7fb37079f4a0]
/unfa/Applications/Blender/blender(ED_screen_animation_timer+0x1ad) [0x149e5bd]
/unfa/Applications/Blender/blender(ED_screen_animation_play+0xc2) [0x14a56c2]
/unfa/Applications/Blender/blender(wm_event_do_handlers+0x853) [0x11c6853]
/unfa/Applications/Blender/blender(WM_main+0x18) [0x11bd428]
/unfa/Applications/Blender/blender(main+0x3b3) [0x11620c3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fb37078a830]
/unfa/Applications/Blender/blender() [0x11b96c9]
```
And the same problem with 2.76 too, sometimes also happens when I start playback withing Blender (Alt+A):
```
# Blender 2.76 (sub 0), Commit date: 1970-01-01 00:00, Hash unknown
bpy.data.grease_pencil["GPencil"].(null) = 0 # Property
bpy.data.grease_pencil["GPencil"].(null) = 1 # Property
bpy.ops.transform.transform(mode='TIME_TRANSLATE', value=(15.0921, 0, 0, 0), axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1) # Operator
bpy.data.grease_pencil["GPencil"].(null) = 0 # Property
bpy.ops.action.duplicate_move(ACTION_OT_duplicate={}, TRANSFORM_OT_transform={"mode":'<UNKNOWN ENUM>', "value":(43.1202, 0, 0, 0), "axis":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "release_confirm":False}) # Operator
bpy.ops.transform.transform(mode='TIME_TRANSLATE', value=(10.4207, 0, 0, 0), axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1) # Operator
bpy.ops.transform.transform(mode='TIME_TRANSLATE', value=(6.46799, 0, 0, 0), axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1) # Operator
bpy.ops.transform.transform(mode='TIME_TRANSLATE', value=(2.15601, 0, 0, 0), axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1) # Operator
bpy.ops.action.duplicate_move(ACTION_OT_duplicate={}, TRANSFORM_OT_transform={"mode":'<UNKNOWN ENUM>', "value":(15.8107, 0, 0, 0), "axis":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "release_confirm":False}) # Operator
bpy.ops.action.duplicate_move(ACTION_OT_duplicate={}, TRANSFORM_OT_transform={"mode":'<UNKNOWN ENUM>', "value":(6.1087, 0, 0, 0), "axis":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "release_confirm":False}) # Operator
bpy.ops.transform.transform(mode='TIME_TRANSLATE', value=(0.718689, 0, 0, 0), axis=(0, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1) # Operator
# backtrace
blender(BLI_system_backtrace+0x30) [0x1361b10]
blender() [0x97a98e]
/lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7fe25ba6d4a0]
blender() [0x1148e84]
blender(_ZN14AUD_JackDevice17updateRingBuffersEv+0xef) [0x172388f]
blender(_ZN14AUD_JackDevice15runMixingThreadEPv+0x9) [0x1723a99]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76fa) [0x7fe25fe346fa]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fe25bb3eb5d]
```
I'm trying to workaround this by performing all playhead moves inside Blender - I can arm recording in Ardour and start/stop the recording from Blender. Not convenient, but seems to prevent Blender from crashing for now.
EDIT: This isn't a real workaround, as Blender still crashes when I start playback from it. What's better is that it dones't crash every single time - roughly only once every 5 times.
Here's a backtrace I got when I started playback from within Blender.
I pressed Alt+A, blender crashed immediately, but Ardour started playback fine:
```
# Blender 2.78 (sub 0), Commit date: 2016-09-26 12:42, Hash 4bb1e22
bpy.data.window_managers["WinMan"].(null) = True # Property
# backtrace
/unfa/Applications/Blender/blender(BLI_system_backtrace+0x1d) [0x1b6269d]
/unfa/Applications/Blender/blender() [0x11bc81e]
/lib/x86_64-linux-gnu/libc.so.6(+0x354a0) [0x7f75d7d654a0]
/unfa/Applications/Blender/blender() [0x1966554]
/unfa/Applications/Blender/blender(_ZN14AUD_JackDevice17updateRingBuffersEv+0xc9) [0x1fc2af9]
/unfa/Applications/Blender/blender(_ZN14AUD_JackDevice15runMixingThreadEPv+0x9) [0x1fc2cd9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76fa) [0x7f75d935f6fa]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f75d7e36b5d]
```