    # File lib/phusion_passenger/classic_rails/framework_spawner.rb, line 140
            def spawn_application(options = {})
                    app_root = options["app_root"]
                    options = sanitize_spawn_options(options)
                    options["app_root"] = app_root
                    # No need for the ApplicationSpawner to print exceptions. All
                    # exceptions raised by the ApplicationSpawner are sent back here,
                    # so we just need to decide here whether we want to print it.
                    print_exceptions = options["print_exceptions"]
                    options["print_exceptions"] = false

                    begin
                            connect do |channel|
                                    channel.write("spawn_application", *options.to_a.flatten)
                                    result = channel.read
                                    if result.nil?
                                            raise IOError, "Connection closed"
                                    end
                                    if result[0] == 'exception'
                                            e = unmarshal_exception(channel.read_scalar)
                                            if print_exceptions && e.respond_to?(:child_exception) && e.child_exception
                                                    print_exception(self.class.to_s, e.child_exception)
                                            elsif print_exceptions
                                                    print_exception(self.class.to_s, e)
                                            end
                                            raise e
                                    else
                                            return AppProcess.read_from_channel(channel)
                                    end
                            end
                    rescue SystemCallError, IOError, SocketError => e
                            raise Error, "The framework spawner server exited unexpectedly: #{e}"
                    end
            end