# File lib/phusion_passenger/classic_rails/framework_spawner.rb, line 92
        def start
                super
                begin
                        channel = MessageChannel.new(@owner_socket)
                        result = channel.read
                        if result.nil?
                                raise Error, "The framework spawner server exited unexpectedly."
                        else
                                status = result[0]
                        end
                        if status == 'exception'
                                child_exception = unmarshal_exception(channel.read_scalar)
                                stop
                                message = "Could not load Ruby on Rails framework version #{@framework_version}: " <<
                                        "#{child_exception.class} (#{child_exception.message})"
                                options = { :version => @framework_version }
                                if @print_framework_loading_exceptions
                                        print_exception(self.class.to_s, child_exception)
                                end
                                raise FrameworkInitError.new(message, child_exception, options)
                        end
                rescue IOError, SystemCallError, SocketError => e
                        stop if started?
                        raise Error, "The framework spawner server exited unexpectedly: #{e}"
                rescue
                        stop if started?
                        raise
                end
        end