title: Error in Python Code 'Fatal Python Error: Segmentation Fault'
body: <p>I have an error when I run my custom voice assistant program on Raspberry Pi 3B .This script is made from two programs from examples(assistant_library_demo.py and cloud_speech.py).Consequently the script does the both functions from those examples.</p>
  
  <p>This is how the program code looks like:</p>
  
  <pre class="lang-py prettyprint-override"><code>import argparse
  import locale
  import logging
  import RPi.GPIO as GPIO
  from gpiozero import Servo
  import signal
  import sys
  from google.assistant.library.event import EventType
  from aiy.assistant import auth_helpers
  from aiy.assistant.library import Assistant
  from aiy.board import Board, Led
  from aiy.cloudspeech import CloudSpeechClient
  import aiy.voice.tts
  
  def get_hints(language_code):
      if language_code.startswith('en_'):
          return ('turn on the light',
          'turn off the light',
          'blink the light',
          'goodbye',
          'repeat after me',
          'lights on',
          'lights off',
          'minimum',
          'middle',
          'maximum')
      return None
  
  def locale_language():
      language, _ = locale.getdefaultlocale()
      return language
  
  def process_event(led, event):
      logging.basicConfig(level=logging.INFO)
      GPIO.setmode(GPIO.BCM)
      GPIO.setwarnings(False)
      GPIO.setup(24,GPIO.OUT)
      servo = Servo(6)
      parser = argparse.ArgumentParser(description='Assistant service example.')
      parser.add_argument('--language', default=locale_language())
      args = parser.parse_args()
      logging.info('Initializing for language %s...', args.language)
      hints = get_hints(args.language)
      client = CloudSpeechClient()
      logging.info(event)
      text = client.recognize(language_code=args.language,hint_phrases=hints)
      if 'lights on' in text:
          GPIO.output(24,GPIO.HIGH)
      elif 'lights off' in text:
          GPIO.output(24,GPIO.LOW)
      elif 'maximum' in text:
          servo.max()
      elif 'minimum' in text:
          servo.min()
      elif 'middle' in text:
          servo.mid()
      if event.type == EventType.ON_START_FINISHED:
          led.state = Led.BEACON_DARK # Ready.
          logging.info('Say "OK, Google" then speak, or press Ctrl+C to quit...')
      elif event.type == EventType.ON_CONVERSATION_TURN_STARTED:
          led.state = Led.ON # Listening.
      elif event.type == EventType.ON_END_OF_UTTERANCE:
          led.state = Led.PULSE_QUICK # Thinking.
      elif (event.type == EventType.ON_CONVERSATION_TURN_FINISHED
          or event.type == EventType.ON_CONVERSATION_TURN_TIMEOUT
          or event.type == EventType.ON_NO_RESPONSE):
          led.state = Led.BEACON_DARK
      elif event.type == EventType.ON_ASSISTANT_ERROR and event.args and 
          event.args['is_fatal']:
      main()
  def main():
      credentials = auth_helpers.get_assistant_credentials()
      with Board() as board, Assistant(credentials) as assistant:
      for event in assistant.start():
          process_event(board.led, event)
              if name == 'main':
  main()
  </code></pre>
  
  <p>This is how error text looks like:
  The error text when i run the sketch from python shell:</p>
  
  <blockquote>
    <p>Backend terminated (returncode: -11) Fatal Python error: Segmentation
    fault</p>
    
    <p>Thread 0x580fe470 (most recent call first):</p>
    
    <p>File "/usr/lib/python3.5/threading.py", line 297 in wait File
    "/usr/lib/python3.5/threading.py", line 549 in wait File
    "/opt/aiy/projects-python/src/aiy/board.py", line 208 in _run File
    "/usr/lib/python3.5/threading.py", line 862 in run File
    "/usr/lib/python3.5/threading.py", line 914 in _bootstrap_inner File
    "/usr/lib/python3.5/threading.py", line 882 in _bootstrap</p>
    
    <p>Thread 0x76f66640 (most recent call first): File
    "/usr/local/lib/python3.5/dist-packages-linux-armv7l/google/assistant/library/assistant.py", line 114 in exit File
    "/opt/aiy/projects-python/src/examples/voice/myassistant.py", line 96
    in main File
    "/opt/aiy/projects-python/src/examples/voice/myassistant.py", line 99
    in  File "/usr/lib/python3/dist-packages/thonny/backend.py", line 1232
    in _execute_prepared_user_code File
    "/usr/lib/python3/dist-packages/thonny/backend.py", line 1158 in
    wrapper File "/usr/lib/python3/dist-packages/thonny/backend.py", line
    1171 in wrapper File
    "/usr/lib/python3/dist-packages/thonny/backend.py", line 1219 in
    execute_source File
    "/usr/lib/python3/dist-packages/thonny/backend.py", line 853 in
    _execute_source File "/usr/lib/python3/dist-packages/thonny/backend.py", line 840 in
    _execute_file File "/usr/lib/python3/dist-packages/thonny/backend.py", line 400 in _cmd_Run File
    "/usr/lib/python3/dist-packages/thonny/backend.py", line 217 in
    handle_command File
    "/usr/lib/python3/dist-packages/thonny/backend.py", line 162 in
    mainloop File
    "/usr/lib/python3/dist-packages/thonny/backend_launcher.py", line 70
    in  Use 'Stop/Restart' to restart the backend ...</p>
  </blockquote>
  
  <p>The error text when I run the sketch from terminal:</p>
  
  <p>Segmentation fault</p>
  
  <p>I tried to search for this error in the web, but it gave no actual results. I hope you will help me to solve this issue.</p>