patch 7.4.1329
Problem:    Crash when using channel that failed to open.
Solution:   Check for NULL.  Update messages. (Yukihiro Nakadaira)
diff --git a/src/eval.c b/src/eval.c
index a90dd0b..ff7f9a7 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -21828,7 +21828,10 @@
 		channel_T *channel = varp->vval.v_channel;
 		char      *status = channel_status(channel);
 
-		vim_snprintf((char *)buf, NUMBUFLEN,
+		if (channel == NULL)
+		    vim_snprintf((char *)buf, NUMBUFLEN, "channel %s", status);
+		else
+		    vim_snprintf((char *)buf, NUMBUFLEN,
 				     "channel %d %s", channel->ch_id, status);
 		return buf;
 	    }
@@ -22467,7 +22470,8 @@
 	case VAR_CHANNEL:
 #ifdef FEAT_CHANNEL
 	    to->vval.v_channel = from->vval.v_channel;
-	    ++to->vval.v_channel->ch_refcount;
+	    if (to->vval.v_channel != NULL)
+		++to->vval.v_channel->ch_refcount;
 	    break;
 #endif
 	case VAR_STRING: