Error while creating actor class

This line is causing the pickling issue.

@jjyao Can you suggest some workaround to this issue?

Hi @shyampatel,

Could you follow Serialization ā€” Ray 2.0.0, and run ray.util.inspect_serializability(GstServer) (remove @ray.remote annotation first) and paste its output?

Hi @jjyao

Find the output of:

========================================================
Checking Serializability of <class '__main__.GstServer'>
========================================================
!!! FAIL serialization: can't pickle GLibProxyModule objects
    Serializing '__init__' <function GstServer.__init__ at 0x7fb48e0c0a60>...
    !!! FAIL serialization: can't pickle GLibProxyModule objects
    Detected 3 global variables. Checking serializability...
        Serializing 'Gst' <IntrospectionModule 'Gst' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/Gst-1.0.typelib'>...
        Serializing 'GstRtspServer' <IntrospectionModule 'GstRtspServer' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/GstRtspServer-1.0.typelib'>...
        Serializing 'GLib' <GLibProxyModule <IntrospectionModule 'GLib' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/GLib-2.0.typelib'>>...
        !!! FAIL serialization: can't pickle GLibProxyModule objects
            Serializing '_child_watch_add_get_args' <function _child_watch_add_get_args at 0x7fb48dfc8950>...
            Serializing '_io_add_watch_get_args' <function _io_add_watch_get_args at 0x7fb48dfc8840>...
            Serializing 'child_watch_add' <function child_watch_add at 0x7fb48dfce1e0>...
            Serializing 'filename_from_utf8' <function filename_from_utf8 at 0x7fb48dfce378>...
            Serializing 'get_current_time' <function get_current_time at 0x7fb48dfce2f0>...
            Serializing 'idle_add' <function idle_add at 0x7fb48dfb0c80>...
            Serializing 'io_add_watch' <function io_add_watch at 0x7fb48dfc88c8>...
            Serializing 'markup_escape_text' <function markup_escape_text at 0x7fb48dfb0bf8>...
            Serializing 'threads_init' <function threads_init at 0x7fb48e0618c8>...
            Serializing 'timeout_add' <function timeout_add at 0x7fb48dfc8730>...
            Serializing 'timeout_add_seconds' <function timeout_add_seconds at 0x7fb48dfc87b8>...
            Serializing 'ANALYZER_ANALYZING' 1...
            Serializing 'ASCII_DTOSTR_BUF_SIZE' 39...
            Serializing 'Array' <class 'gi.repository.GLib.Array'>...
            Serializing 'AsciiType' <class 'gi.repository.GLib.AsciiType'>...
            Serializing 'AsyncQueue' <class 'gi.repository.GLib.AsyncQueue'>...
            Serializing 'BIG_ENDIAN' 4321...
            Serializing 'BookmarkFile' <class 'gi.repository.GLib.BookmarkFile'>...
            Serializing 'BookmarkFileError' <class 'gi.repository.GLib.BookmarkFileError'>...
            Serializing 'ByteArray' <class 'gi.repository.GLib.ByteArray'>...
            Serializing 'Bytes' <class 'gi.repository.GLib.Bytes'>...
            Serializing 'CSET_A_2_Z' ABCDEFGHIJKLMNOPQRSTUVWXYZ...
            Serializing 'CSET_DIGITS' 0123456789...
            Serializing 'CSET_a_2_z' abcdefghijklmnopqrstuvwxyz...
            Serializing 'Checksum' <class 'gi.repository.GLib.Checksum'>...
            Serializing 'ChecksumType' <class 'gi.repository.GLib.ChecksumType'>...
            Serializing 'Cond' <class 'gi.repository.GLib.Cond'>...
            Serializing 'ConvertError' <class 'gi.repository.GLib.ConvertError'>...
            Serializing 'DATALIST_FLAGS_MASK' 3...
            Serializing 'DATE_BAD_DAY' 0...
            Serializing 'DATE_BAD_JULIAN' 0...
            Serializing 'DATE_BAD_YEAR' 0...
            Serializing 'DIR_SEPARATOR' 47...
            Serializing 'DIR_SEPARATOR_S' /...
            Serializing 'Data' <class 'gi.repository.GLib.Data'>...
            Serializing 'Date' <class 'gi.repository.GLib.Date'>...
            Serializing 'DateDMY' <class 'gi.repository.GLib.DateDMY'>...
            Serializing 'DateMonth' <class 'gi.repository.GLib.DateMonth'>...
            Serializing 'DateTime' <class 'gi.repository.GLib.DateTime'>...
            Serializing 'DateWeekday' <class 'gi.repository.GLib.DateWeekday'>...
            Serializing 'DebugKey' <class 'gi.repository.GLib.DebugKey'>...
            Serializing 'Dir' <class 'gi.repository.GLib.Dir'>...
            Serializing 'DoubleIEEE754' <class 'gi.repository.GLib.DoubleIEEE754'>...
            Serializing 'E' 2.718282...
            Serializing 'Error' <class 'gi.repository.GLib.GError'>...
            Serializing 'ErrorType' <class 'gi.repository.GLib.ErrorType'>...
            Serializing 'FileError' <class 'gi.repository.GLib.FileError'>...
            Serializing 'FileTest' <class 'gi.repository.GLib.FileTest'>...
            Serializing 'FloatIEEE754' <class 'gi.repository.GLib.FloatIEEE754'>...
            Serializing 'FormatSizeFlags' <class 'gi.repository.GLib.FormatSizeFlags'>...
            Serializing 'GError' <class 'gi.repository.GLib.GError'>...
            Serializing 'GINT16_FORMAT' hi...
            Serializing 'GINT16_MODIFIER' h...
            Serializing 'GINT32_FORMAT' i...
            Serializing 'GINT32_MODIFIER' ...
            Serializing 'GINT64_FORMAT' li...
            Serializing 'GINT64_MODIFIER' l...
            Serializing 'GINTPTR_FORMAT' li...
            Serializing 'GINTPTR_MODIFIER' l...
            Serializing 'GNUC_FUNCTION' ...
            Serializing 'GNUC_PRETTY_FUNCTION' ...
            Serializing 'GSIZE_FORMAT' lu...
            Serializing 'GSIZE_MODIFIER' l...
            Serializing 'GSSIZE_FORMAT' li...
            Serializing 'GSSIZE_MODIFIER' l...
            Serializing 'GUINT16_FORMAT' hu...
            Serializing 'GUINT32_FORMAT' u...
            Serializing 'GUINT64_FORMAT' lu...
            Serializing 'GUINTPTR_FORMAT' lu...
            Serializing 'HAVE_GINT64' 1...
            Serializing 'HAVE_GNUC_VARARGS' 1...
            Serializing 'HAVE_GNUC_VISIBILITY' 1...
            Serializing 'HAVE_GROWING_STACK' 0...
            Serializing 'HAVE_ISO_VARARGS' 1...
            Serializing 'HOOK_FLAG_USER_SHIFT' 4...
            Serializing 'HashTable' <class 'gi.repository.GLib.HashTable'>...
            Serializing 'HashTableIter' <class 'gi.repository.GLib.HashTableIter'>...
            Serializing 'Hmac' <class 'gi.repository.GLib.Hmac'>...
            Serializing 'Hook' <class 'gi.repository.GLib.Hook'>...
            Serializing 'HookFlagMask' <class 'gi.repository.GLib.HookFlagMask'>...
            Serializing 'HookList' <class 'gi.repository.GLib.HookList'>...
            Serializing 'IEEE754_DOUBLE_BIAS' 1023...
            Serializing 'IEEE754_FLOAT_BIAS' 127...
            Serializing 'IOChannel' <class 'gi.overrides.GLib.IOChannel'>...
            Serializing 'IOChannelError' <class 'gi.repository.GLib.IOChannelError'>...
            Serializing 'IOCondition' <class 'gi.repository.GLib.IOCondition'>...
            Serializing 'IOError' <class 'gi.repository.GLib.IOError'>...
            Serializing 'IOFlags' <class 'gi.repository.GLib.IOFlags'>...
            Serializing 'IOFuncs' <class 'gi.repository.GLib.IOFuncs'>...
            Serializing 'IOStatus' <class 'gi.repository.GLib.IOStatus'>...
            Serializing 'IO_ERR' <flags G_IO_ERR of type GLib.IOCondition>...
            Serializing 'IO_FLAG_APPEND' <flags G_IO_FLAG_APPEND of type GLib.IOFlags>...
            Serializing 'IO_FLAG_GET_MASK' <flags G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK | G_IO_FLAG_IS_READABLE | G_IO_FLAG_IS_WRITABLE | G_IO_FLAG_IS_WRITEABLE | G_IO_FLAG_IS_SEEKABLE | G_IO_FLAG_MASK | G_IO_FLAG_GET_MASK | G_IO_FLAG_SET_MASK of type GLib.IOFlags>...
            Serializing 'IO_FLAG_IS_READABLE' <flags G_IO_FLAG_IS_READABLE of type GLib.IOFlags>...
            Serializing 'IO_FLAG_IS_SEEKABLE' <flags G_IO_FLAG_IS_SEEKABLE of type GLib.IOFlags>...
            Serializing 'IO_FLAG_IS_WRITEABLE' <flags G_IO_FLAG_IS_WRITABLE | G_IO_FLAG_IS_WRITEABLE of type GLib.IOFlags>...
            Serializing 'IO_FLAG_MASK' <flags G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK | G_IO_FLAG_IS_READABLE | G_IO_FLAG_IS_WRITABLE | G_IO_FLAG_IS_WRITEABLE | G_IO_FLAG_IS_SEEKABLE | G_IO_FLAG_MASK | G_IO_FLAG_GET_MASK | G_IO_FLAG_SET_MASK of type GLib.IOFlags>...
            Serializing 'IO_FLAG_NONBLOCK' <flags G_IO_FLAG_NONBLOCK of type GLib.IOFlags>...
            Serializing 'IO_FLAG_SET_MASK' <flags G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK | G_IO_FLAG_SET_MASK of type GLib.IOFlags>...
            Serializing 'IO_HUP' <flags G_IO_HUP of type GLib.IOCondition>...
            Serializing 'IO_IN' <flags G_IO_IN of type GLib.IOCondition>...
            Serializing 'IO_NVAL' <flags G_IO_NVAL of type GLib.IOCondition>...
            Serializing 'IO_OUT' <flags G_IO_OUT of type GLib.IOCondition>...
            Serializing 'IO_PRI' <flags G_IO_PRI of type GLib.IOCondition>...
            Serializing 'IO_STATUS_AGAIN' <enum G_IO_STATUS_AGAIN of type GLib.IOStatus>...
            Serializing 'IO_STATUS_EOF' <enum G_IO_STATUS_EOF of type GLib.IOStatus>...
            Serializing 'IO_STATUS_ERROR' <enum G_IO_STATUS_ERROR of type GLib.IOStatus>...
            Serializing 'IO_STATUS_NORMAL' <enum G_IO_STATUS_NORMAL of type GLib.IOStatus>...
            Serializing 'Idle' <class 'gi.overrides.GLib.Idle'>...
            Serializing 'KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX' Desktop Action...
            Serializing 'KEY_FILE_DESKTOP_GROUP' Desktop Entry...
            Serializing 'KEY_FILE_DESKTOP_KEY_ACTIONS' Actions...
            Serializing 'KEY_FILE_DESKTOP_KEY_CATEGORIES' Categories...
            Serializing 'KEY_FILE_DESKTOP_KEY_COMMENT' Comment...
            Serializing 'KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE' DBusActivatable...
            Serializing 'KEY_FILE_DESKTOP_KEY_EXEC' Exec...
            Serializing 'KEY_FILE_DESKTOP_KEY_FULLNAME' X-GNOME-FullName...
            Serializing 'KEY_FILE_DESKTOP_KEY_GENERIC_NAME' GenericName...
            Serializing 'KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN' X-GNOME-Gettext-Domain...
            Serializing 'KEY_FILE_DESKTOP_KEY_HIDDEN' Hidden...
            Serializing 'KEY_FILE_DESKTOP_KEY_ICON' Icon...
            Serializing 'KEY_FILE_DESKTOP_KEY_KEYWORDS' Keywords...
            Serializing 'KEY_FILE_DESKTOP_KEY_MIME_TYPE' MimeType...
            Serializing 'KEY_FILE_DESKTOP_KEY_NAME' Name...
            Serializing 'KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN' NotShowIn...
            Serializing 'KEY_FILE_DESKTOP_KEY_NO_DISPLAY' NoDisplay...
            Serializing 'KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN' OnlyShowIn...
            Serializing 'KEY_FILE_DESKTOP_KEY_PATH' Path...
            Serializing 'KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY' StartupNotify...
            Serializing 'KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS' StartupWMClass...
            Serializing 'KEY_FILE_DESKTOP_KEY_TERMINAL' Terminal...
            Serializing 'KEY_FILE_DESKTOP_KEY_TRY_EXEC' TryExec...
            Serializing 'KEY_FILE_DESKTOP_KEY_TYPE' Type...
            Serializing 'KEY_FILE_DESKTOP_KEY_URL' URL...
            Serializing 'KEY_FILE_DESKTOP_KEY_VERSION' Version...
            Serializing 'KEY_FILE_DESKTOP_TYPE_APPLICATION' Application...
            Serializing 'KEY_FILE_DESKTOP_TYPE_DIRECTORY' Directory...
            Serializing 'KEY_FILE_DESKTOP_TYPE_LINK' Link...
            Serializing 'KeyFile' <class 'gi.repository.GLib.KeyFile'>...
            Serializing 'KeyFileError' <class 'gi.repository.GLib.KeyFileError'>...
            Serializing 'KeyFileFlags' <class 'gi.repository.GLib.KeyFileFlags'>...
            Serializing 'LITTLE_ENDIAN' 1234...
            Serializing 'LN10' 2.302585...
            Serializing 'LN2' 0.693147...
            Serializing 'LOG_2_BASE_10' 0.30103...
            Serializing 'LOG_DOMAIN' 0...
            Serializing 'LOG_FATAL_MASK' 5...
            Serializing 'LOG_LEVEL_USER_SHIFT' 8...
            Serializing 'List' <class 'gi.repository.GLib.List'>...
            Serializing 'LogField' <class 'gi.repository.GLib.LogField'>...
            Serializing 'LogLevelFlags' <class 'gi.repository.GLib.LogLevelFlags'>...
            Serializing 'LogWriterOutput' <class 'gi.repository.GLib.LogWriterOutput'>...
            Serializing 'MAJOR_VERSION' 2...
            Serializing 'MAXDOUBLE' 1.7976931348623157e+308...
            Serializing 'MAXFLOAT' 3.4028234663852886e+38...
            Serializing 'MAXINT' 2147483647...
            Serializing 'MAXINT16' 32767...
            Serializing 'MAXINT32' 2147483647...
            Serializing 'MAXINT64' 9223372036854775807...
            Serializing 'MAXINT8' 127...
            Serializing 'MAXLONG' 9223372036854775807...
            Serializing 'MAXOFFSET' 9223372036854775807...
            Serializing 'MAXSHORT' 32767...
            Serializing 'MAXSIZE' 18446744073709551615...
            Serializing 'MAXSSIZE' 9223372036854775807...
            Serializing 'MAXUINT' 4294967295...
            Serializing 'MAXUINT16' 65535...
            Serializing 'MAXUINT32' 4294967295...
            Serializing 'MAXUINT64' 18446744073709551615...
            Serializing 'MAXUINT8' 255...
            Serializing 'MAXULONG' 18446744073709551615...
            Serializing 'MAXUSHORT' 65535...
            Serializing 'MICRO_VERSION' 1...
            Serializing 'MINDOUBLE' 2.2250738585072014e-308...
            Serializing 'MINFLOAT' 1.1754943508222875e-38...
            Serializing 'MININT' -2147483648...
            Serializing 'MININT16' -32768...
            Serializing 'MININT32' -2147483648...
            Serializing 'MININT64' -9223372036854775808...
            Serializing 'MININT8' -128...
            Serializing 'MINLONG' -9223372036854775808...
            Serializing 'MINOFFSET' -9223372036854775808...
            Serializing 'MINOR_VERSION' 56...
            Serializing 'MINSHORT' -32768...
            Serializing 'MINSSIZE' -9223372036854775808...
            Serializing 'MODULE_SUFFIX' so...
            Serializing 'MainContext' <class 'gi.overrides.GLib.MainContext'>...
            Serializing 'MainLoop' <class 'gi.overrides.GLib.MainLoop'>...
            Serializing 'MappedFile' <class 'gi.repository.GLib.MappedFile'>...
            Serializing 'MarkupCollectType' <class 'gi.repository.GLib.MarkupCollectType'>...
            Serializing 'MarkupError' <class 'gi.repository.GLib.MarkupError'>...
            Serializing 'MarkupParseContext' <class 'gi.repository.GLib.MarkupParseContext'>...
            Serializing 'MarkupParseFlags' <class 'gi.repository.GLib.MarkupParseFlags'>...
            Serializing 'MarkupParser' <class 'gi.repository.GLib.MarkupParser'>...
            Serializing 'MatchInfo' <class 'gi.repository.GLib.MatchInfo'>...
            Serializing 'MemVTable' <class 'gi.repository.GLib.MemVTable'>...
            Serializing 'Mutex' <class 'gi.repository.GLib.Mutex'>...
            Serializing 'Node' <class 'gi.repository.GLib.Node'>...
            Serializing 'NormalizeMode' <class 'gi.repository.GLib.NormalizeMode'>...
            Serializing 'NumberParserError' <class 'gi.repository.GLib.NumberParserError'>...
            Serializing 'OPTION_ERROR_BAD_VALUE' <enum G_OPTION_ERROR_BAD_VALUE of type GLib.OptionError>...
            Serializing 'OPTION_ERROR_FAILED' <enum G_OPTION_ERROR_FAILED of type GLib.OptionError>...
            Serializing 'OPTION_ERROR_UNKNOWN_OPTION' <enum G_OPTION_ERROR_UNKNOWN_OPTION of type GLib.OptionError>...
            Serializing 'OPTION_FLAG_FILENAME' <flags G_OPTION_FLAG_FILENAME of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_HIDDEN' <flags G_OPTION_FLAG_HIDDEN of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_IN_MAIN' <flags G_OPTION_FLAG_IN_MAIN of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_NOALIAS' <flags G_OPTION_FLAG_NOALIAS of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_NO_ARG' <flags G_OPTION_FLAG_NO_ARG of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_OPTIONAL_ARG' <flags G_OPTION_FLAG_OPTIONAL_ARG of type GLib.OptionFlags>...
            Serializing 'OPTION_FLAG_REVERSE' <flags G_OPTION_FLAG_REVERSE of type GLib.OptionFlags>...
            Serializing 'OPTION_REMAINING' ...
            Serializing 'Once' <class 'gi.repository.GLib.Once'>...
            Serializing 'OnceStatus' <class 'gi.repository.GLib.OnceStatus'>...
            Serializing 'OptionArg' <class 'gi.repository.GLib.OptionArg'>...
            Serializing 'OptionContext' <class 'gi._gi.OptionContext'>...
            Serializing 'OptionEntry' <class 'gi.repository.GLib.OptionEntry'>...
            Serializing 'OptionError' <class 'gi.repository.GLib.OptionError'>...
            Serializing 'OptionFlags' <class 'gi.repository.GLib.OptionFlags'>...
            Serializing 'OptionGroup' <class 'gi._gi.OptionGroup'>...
            Serializing 'PDP_ENDIAN' 3412...
            Serializing 'PI' 3.141593...
            Serializing 'PID_FORMAT' i...
            Serializing 'PI_2' 1.570796...
            Serializing 'PI_4' 0.785398...
            Serializing 'POLLFD_FORMAT' %d...
            Serializing 'PRIORITY_DEFAULT' 0...
            Serializing 'PRIORITY_DEFAULT_IDLE' 200...
            Serializing 'PRIORITY_HIGH' -100...
            Serializing 'PRIORITY_HIGH_IDLE' 100...
            Serializing 'PRIORITY_LOW' 300...
            Serializing 'PatternSpec' <class 'gi.repository.GLib.PatternSpec'>...
            Serializing 'Pid' <class 'gi._gi.Pid'>...
            Serializing 'PollFD' <class 'gi.overrides.GLib.PollFD'>...
            Serializing 'Private' <class 'gi.repository.GLib.Private'>...
            Serializing 'PtrArray' <class 'gi.repository.GLib.PtrArray'>...
            Serializing 'Queue' <class 'gi.repository.GLib.Queue'>...
            Serializing 'RWLock' <class 'gi.repository.GLib.RWLock'>...
            Serializing 'Rand' <class 'gi.repository.GLib.Rand'>...
            Serializing 'RecMutex' <class 'gi.repository.GLib.RecMutex'>...
            Serializing 'Regex' <class 'gi.repository.GLib.Regex'>...
            Serializing 'RegexCompileFlags' <class 'gi.repository.GLib.RegexCompileFlags'>...
            Serializing 'RegexError' <class 'gi.repository.GLib.RegexError'>...
            Serializing 'RegexMatchFlags' <class 'gi.repository.GLib.RegexMatchFlags'>...
            Serializing 'SEARCHPATH_SEPARATOR' 58...
            Serializing 'SEARCHPATH_SEPARATOR_S' :...
            Serializing 'SIZEOF_LONG' 8...
            Serializing 'SIZEOF_SIZE_T' 8...
            Serializing 'SIZEOF_SSIZE_T' 8...
            Serializing 'SIZEOF_VOID_P' 8...
            Serializing 'SList' <class 'gi.repository.GLib.SList'>...
            Serializing 'SOURCE_CONTINUE' True...
            Serializing 'SOURCE_REMOVE' False...
            Serializing 'SPAWN_CHILD_INHERITS_STDIN' <flags G_SPAWN_CHILD_INHERITS_STDIN of type GLib.SpawnFlags>...
            Serializing 'SPAWN_DO_NOT_REAP_CHILD' <flags G_SPAWN_DO_NOT_REAP_CHILD of type GLib.SpawnFlags>...
            Serializing 'SPAWN_FILE_AND_ARGV_ZERO' <flags G_SPAWN_FILE_AND_ARGV_ZERO of type GLib.SpawnFlags>...
            Serializing 'SPAWN_LEAVE_DESCRIPTORS_OPEN' <flags G_SPAWN_LEAVE_DESCRIPTORS_OPEN of type GLib.SpawnFlags>...
            Serializing 'SPAWN_SEARCH_PATH' <flags G_SPAWN_SEARCH_PATH of type GLib.SpawnFlags>...
            Serializing 'SPAWN_STDERR_TO_DEV_NULL' <flags G_SPAWN_STDERR_TO_DEV_NULL of type GLib.SpawnFlags>...
            Serializing 'SPAWN_STDOUT_TO_DEV_NULL' <flags G_SPAWN_STDOUT_TO_DEV_NULL of type GLib.SpawnFlags>...
            Serializing 'SQRT2' 1.414214...
            Serializing 'STR_DELIMITERS' _-|> <....
            Serializing 'SYSDEF_AF_INET' 2...
            Serializing 'SYSDEF_AF_INET6' 10...
            Serializing 'SYSDEF_AF_UNIX' 1...
            Serializing 'SYSDEF_MSG_DONTROUTE' 4...
            Serializing 'SYSDEF_MSG_OOB' 1...
            Serializing 'SYSDEF_MSG_PEEK' 2...
            Serializing 'Scanner' <class 'gi.repository.GLib.Scanner'>...
            Serializing 'ScannerConfig' <class 'gi.repository.GLib.ScannerConfig'>...
            Serializing 'SeekType' <class 'gi.repository.GLib.SeekType'>...
            Serializing 'Sequence' <class 'gi.repository.GLib.Sequence'>...
            Serializing 'SequenceIter' <class 'gi.repository.GLib.SequenceIter'>...
            Serializing 'ShellError' <class 'gi.repository.GLib.ShellError'>...
            Serializing 'SliceConfig' <class 'gi.repository.GLib.SliceConfig'>...
            Serializing 'Source' <class 'gi.overrides.GLib.Source'>...
            Serializing 'SourceCallbackFuncs' <class 'gi.repository.GLib.SourceCallbackFuncs'>...
            Serializing 'SourceFuncs' <class 'gi.repository.GLib.SourceFuncs'>...
            Serializing 'SourcePrivate' <class 'gi.repository.GLib.SourcePrivate'>...
            Serializing 'SpawnError' <class 'gi.repository.GLib.SpawnError'>...
            Serializing 'SpawnFlags' <class 'gi.repository.GLib.SpawnFlags'>...
            Serializing 'StatBuf' <class 'gi.repository.GLib.StatBuf'>...
            Serializing 'String' <class 'gi.repository.GLib.String'>...
            Serializing 'StringChunk' <class 'gi.repository.GLib.StringChunk'>...
            Serializing 'TIME_SPAN_DAY' 86400000000...
            Serializing 'TIME_SPAN_HOUR' 3600000000...
            Serializing 'TIME_SPAN_MILLISECOND' 1000...
            Serializing 'TIME_SPAN_MINUTE' 60000000...
            Serializing 'TIME_SPAN_SECOND' 1000000...
            Serializing 'TestCase' <class 'gi.repository.GLib.TestCase'>...
            Serializing 'TestConfig' <class 'gi.repository.GLib.TestConfig'>...
            Serializing 'TestFileType' <class 'gi.repository.GLib.TestFileType'>...
            Serializing 'TestLogBuffer' <class 'gi.repository.GLib.TestLogBuffer'>...
            Serializing 'TestLogMsg' <class 'gi.repository.GLib.TestLogMsg'>...
            Serializing 'TestLogType' <class 'gi.repository.GLib.TestLogType'>...
            Serializing 'TestResult' <class 'gi.repository.GLib.TestResult'>...
            Serializing 'TestSubprocessFlags' <class 'gi.repository.GLib.TestSubprocessFlags'>...
            Serializing 'TestSuite' <class 'gi.repository.GLib.TestSuite'>...
            Serializing 'TestTrapFlags' <class 'gi.repository.GLib.TestTrapFlags'>...
            Serializing 'Thread' <class 'gi.repository.GLib.Thread'>...
            Serializing 'ThreadError' <class 'gi.repository.GLib.ThreadError'>...
            Serializing 'ThreadPool' <class 'gi.repository.GLib.ThreadPool'>...
            Serializing 'TimeType' <class 'gi.repository.GLib.TimeType'>...
            Serializing 'TimeVal' <class 'gi.repository.GLib.TimeVal'>...
            Serializing 'TimeZone' <class 'gi.repository.GLib.TimeZone'>...
            Serializing 'Timeout' <class 'gi.overrides.GLib.Timeout'>...
            Serializing 'Timer' <class 'gi.repository.GLib.Timer'>...
            Serializing 'TokenType' <class 'gi.repository.GLib.TokenType'>...
            Serializing 'TokenValue' <class 'gi.repository.GLib.TokenValue'>...
            Serializing 'TrashStack' <class 'gi.repository.GLib.TrashStack'>...
            Serializing 'TraverseFlags' <class 'gi.repository.GLib.TraverseFlags'>...
            Serializing 'TraverseType' <class 'gi.repository.GLib.TraverseType'>...
            Serializing 'Tree' <class 'gi.repository.GLib.Tree'>...
            Serializing 'UNICHAR_MAX_DECOMPOSITION_LENGTH' 18...
            Serializing 'URI_RESERVED_CHARS_GENERIC_DELIMITERS' :/?#[]@...
            Serializing 'URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS' !$&'()*+,;=...
            Serializing 'USEC_PER_SEC' 1000000...
            Serializing 'USER_DIRECTORY_DESKTOP' <enum G_USER_DIRECTORY_DESKTOP of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_DOCUMENTS' <enum G_USER_DIRECTORY_DOCUMENTS of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_DOWNLOAD' <enum G_USER_DIRECTORY_DOWNLOAD of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_MUSIC' <enum G_USER_DIRECTORY_MUSIC of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_PICTURES' <enum G_USER_DIRECTORY_PICTURES of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_PUBLIC_SHARE' <enum G_USER_DIRECTORY_PUBLIC_SHARE of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_TEMPLATES' <enum G_USER_DIRECTORY_TEMPLATES of type GLib.UserDirectory>...
            Serializing 'USER_DIRECTORY_VIDEOS' <enum G_USER_DIRECTORY_VIDEOS of type GLib.UserDirectory>...
            Serializing 'UnicodeBreakType' <class 'gi.repository.GLib.UnicodeBreakType'>...
            Serializing 'UnicodeScript' <class 'gi.repository.GLib.UnicodeScript'>...
            Serializing 'UnicodeType' <class 'gi.repository.GLib.UnicodeType'>...
            Serializing 'UserDirectory' <class 'gi.repository.GLib.UserDirectory'>...
            Serializing 'VA_COPY_AS_ARRAY' 1...
            Serializing 'VERSION_MIN_REQUIRED' 2...
            Serializing 'Variant' <class 'gi.overrides.GLib.Variant'>...
            Serializing 'VariantBuilder' <class 'gi.repository.GLib.VariantBuilder'>...
            Serializing 'VariantClass' <class 'gi.repository.GLib.VariantClass'>...
            Serializing 'VariantDict' <class 'gi.repository.GLib.VariantDict'>...
            Serializing 'VariantParseError' <class 'gi.repository.GLib.VariantParseError'>...
            Serializing 'VariantType' <class 'gi.repository.GLib.VariantType'>...
            Serializing 'WIN32_MSG_HANDLE' 19981206...
            Serializing '_child_watch_add_get_args' <function _child_watch_add_get_args at 0x7fb48dfc8950>...
            Serializing '_introspection_module' <IntrospectionModule 'GLib' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/GLib-2.0.typelib'>...
            !!! FAIL serialization: can't pickle gi.FunctionInfo objects
    Serializing 'start_streaming' <function GstServer.start_streaming at 0x7fb48dfe5620>...
========================================================
Variable: 

	FailTuple(_introspection_module [obj=<IntrospectionModule 'GLib' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/GLib-2.0.typelib'>, parent=<GLibProxyModule <IntrospectionModule 'GLib' from '/usr/lib/x86_64-linux-gnu/girepository-1.0/GLib-2.0.typelib'>>])

was found to be non-serializable. There may be multiple other undetected variables that were non-serializable. 
Consider either removing the instantiation/imports of these variables or moving the instantiation into the scope of the function/class. 
If you have any suggestions on how to improve this error message, please reach out to the Ray developers on github.com/ray-project/ray/issues/
========================================================

1 Like

Thanks.

Could you try to move from gi.repository import Gst, GstRtspServer, GLib to GstServer.__init__ (Iā€™m trying to make these three variables local variables instead of global).

Hi jjyao,
Thanks for the suggestion. We no longer have the serialization issue. Will check the functionality and get back to you in case we have further queries.

1 Like