# File lib/phusion_passenger/utils.rb, line 147 def unmarshal_exception(data) hash = Marshal.load(data) if hash[:is_initialization_error] if hash[:child_exception] child_exception = unmarshal_exception(hash[:child_exception]) else child_exception = nil end exception = Marshal.load(hash[:exception]) exception.child_exception = child_exception return exception else begin return Marshal.load(hash[:exception]) rescue ArgumentError, TypeError return UnknownError.new(hash[:message], hash[:class], hash[:backtrace]) end end end