Issue 1:
Reduction from #28118 (comment). Note: Needs julia -g (or julia-debug) for reproduction to enable the verifier:

julia> function foo()
try
finally
try
catch ex
end
end
end
foo (generic function with 1 method)

julia> code_typed(foo, Tuple{})
Block 6 successors (Array{Int64, (2,)}[9, 7]), does not match fall-through terminator
ERROR:
Stacktrace:
[1] error() at ./error.jl:42
[2] verify_ir(::Core.Compiler.IRCode) at ./compiler/ssair/verify.jl:110

The failing test is this:

julia/base/compiler/ssair/verify.jl

Lines 108 to 109
in
4b8c697

if length(block.succs) != 1 || block.succs[1] != idx + 1

@verify_error "Block $idx successors ($(block.succs)), does not match fall-through terminator"

The IR looks like this:

1 ── $(Expr(:enter, #4))
2 ── $(Expr(:leave, 1))
3 ── goto #6
4 ── $(Expr(:leave, 1))
5 ── %5 = $(Expr(:the_exception))::Any
4 6 ┄─ %6 = φ (#3 => 1, #5 => 2)::Int64
│ %7 = φ (#3 => false, #5 => true)::Bool
│ %8 = φ (#3 => #undef, #5 => %5)::Core.Compiler.MaybeUndef(Any)
│ $(Expr(:enter, #9))
│ %10 = ϒ (%6)::Int64
└─── %11 = ϒ (%8)::Any
7 ── $(Expr(:leave, 1))
8 ── goto #11
9 ── %14 = φᶜ (%10)::Int64
│ %15 = φᶜ (%11)::Any
└─── $(Expr(:leave, 1))
10 ─ nothing::Nothing
6 11 ┄ %18 = φ (#8 => %6, #10 => %14)::Int64
│ %19 = φ (#8 => %7, #10 => true)::Bool
│ %20 = φ (#8 => %8, #10 => %15)::Core.Compiler.MaybeUndef(Any)
│ %21 = (%18 === 2)::Bool
└─── goto #13 if not %21
12 ─ $(Expr(:throw_undef_if_not, Symbol("#temp#"), :(%19)))::Any
│ $(Expr(:foreigncall, :(:jl_rethrow_other), Union{}, svec(Any), :(:ccall), 1, :(%20)))::Union{}
└─── unreachable
13 ─ return nothing

IIUC, the $(Expr(:enter, #9)) should terminate that block with these successors.

Issue 2:
Repro, build julia-debug. Run:

julia> try
finally
try
catch
end
end
Block 6 successors (Array{Int64, (2,)}[9, 7]), does not match fall-through terminator
Internal error: encountered unexpected error in runtime:
MethodError(f=typeof(Base.string)(), args=(), world=0x0000000000000e78)
rec_backtrace at /Users/kristoffer/julia/src/stackwalk.c:94
record_backtrace at /Users/kristoffer/julia/src/task.c:246
jl_throw at /Users/kristoffer/julia/src/task.c:577
jl_method_error_bare at /Users/kristoffer/julia/src/gf.c:1597
jl_method_error at /Users/kristoffer/julia/src/gf.c:1615
jl_lookup_generic_ at /Users/kristoffer/julia/src/gf.c:2142
jl_apply_generic at /Users/kristoffer/julia/src/gf.c:2162
error at ./error.jl:42
jl_fptr_args at /Users/kristoffer/julia/src/gf.c:1822
jl_invoke at /Users/kristoffer/julia/src/gf.c:42
verify_ir at ./compiler/ssair/verify.jl:110
run_passes at ./compiler/ssair/driver.jl:132
optimize at ./compiler/optimize.jl:162
typeinf at ./compiler/typeinfer.jl:35
typeinf_ext at ./compiler/typeinfer.jl:611
jfptr_typeinf_ext_58 at /Users/kristoffer/julia/usr/lib/julia/sys-debug.dylib (unknown line)
jl_apply_generic at /Users/kristoffer/julia/src/gf.c:2165
jl_apply at /Users/kristoffer/julia/src/./julia.h:1538
jl_apply_with_saved_exception_state at /Users/kristoffer/julia/src/rtutils.c:257
jl_type_infer at /Users/kristoffer/julia/src/gf.c:275
jl_toplevel_eval_flex at /Users/kristoffer/julia/src/toplevel.c:822
jl_toplevel_eval at /Users/kristoffer/julia/src/toplevel.c:840
jl_toplevel_eval_in at /Users/kristoffer/julia/src/builtins.c:633
eval at ./boot.jl:319
jl_fptr_args at /Users/kristoffer/julia/src/gf.c:1822
jl_apply_generic at /Users/kristoffer/julia/src/gf.c:2165
eval_user_input at /Users/kristoffer/julia/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:87
macro expansion at /Users/kristoffer/julia/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:119 [inlined]
#28 at ./task.jl:262
jl_fptr_args at /Users/kristoffer/julia/src/gf.c:1822
jl_fptr_trampoline at /Users/kristoffer/julia/src/gf.c:1812
jl_apply_generic at /Users/kristoffer/julia/src/gf.c:2165
jl_apply at /Users/kristoffer/julia/src/./julia.h:1538
start_task at /Users/kristoffer/julia/src/task.c:268

Changing the finally to catchmakes it go away.