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 in Ardour
7. Watch Blender segfault.
I did a quick test it and the crash initialy 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.