Program crush when discarding primitives using Geometry Shader.. why?

Hi

I write a geometric shader that in some situations discard primitives.

As simple example ,we can look at this code:

======================
#version 150 core

layout (triangles) in;
layout(triangle_strip, max_vertices = 3) out;

void main(void)
{
// do nothing… so primitive should discarded
}

The program crush then!
Did I forget something?

Thanks