bpo-28603: Fix formatting tracebacks for unhashable exceptions (#4014)

diff --git a/Misc/ACKS b/Misc/ACKS
index 8b9f62e..f1130dc 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -147,6 +147,7 @@
 Philippe Biondi
 Michael Birtwell
 Stuart Bishop
+Zane Bitter
 Roy Bixler
 Daniel Black
 Jonathan Black
diff --git a/Misc/NEWS.d/next/Core and Builtins/2017-10-17-13-29-19.bpo-28603._-oia3.rst b/Misc/NEWS.d/next/Core and Builtins/2017-10-17-13-29-19.bpo-28603._-oia3.rst
new file mode 100644
index 0000000..a3542ac
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2017-10-17-13-29-19.bpo-28603._-oia3.rst
@@ -0,0 +1,3 @@
+Print the full context/cause chain of exceptions on interpreter exit, even
+if an exception in the chain is unhashable or compares equal to later ones.
+Patch by Zane Bitter.
diff --git a/Misc/NEWS.d/next/IDLE/2017-10-17-13-26-13.bpo-28603.TMEQfp.rst b/Misc/NEWS.d/next/IDLE/2017-10-17-13-26-13.bpo-28603.TMEQfp.rst
new file mode 100644
index 0000000..e69f7f6
--- /dev/null
+++ b/Misc/NEWS.d/next/IDLE/2017-10-17-13-26-13.bpo-28603.TMEQfp.rst
@@ -0,0 +1,2 @@
+Fix a TypeError that caused a shell restart when printing a traceback that
+includes an exception that is unhashable. Patch by Zane Bitter.
diff --git a/Misc/NEWS.d/next/Library/2017-10-17-12-29-18.bpo-28603.tGuX2C.rst b/Misc/NEWS.d/next/Library/2017-10-17-12-29-18.bpo-28603.tGuX2C.rst
new file mode 100644
index 0000000..1a5fb0a
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2017-10-17-12-29-18.bpo-28603.tGuX2C.rst
@@ -0,0 +1,3 @@
+traceback: Fix a TypeError that occurred during printing of exception
+tracebacks when either the current exception or an exception in its
+context/cause chain is unhashable. Patch by Zane Bitter.