In eager mode, TensorFlow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1 does not set the session state. Hence, calling tf.raw_ops.GetSessionHandle or tf.raw_ops.GetSessionHandleV2 results in a null pointer dereference In linked snippet, in eager mode, ctx->session_state() returns nullptr. Since code immediately dereferences this, we get a segmentation fault. The issue is patched in commit 9a133d73ae4b4664d22bd1aa6d654fec13c52ee1, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
| Software | From | Fixed in |
|---|---|---|
| google / tensorflow | - | 1.15.4 |
| google / tensorflow | 2.0.0 | 2.0.3 |
| google / tensorflow | 2.1.0 | 2.1.2 |
| google / tensorflow | 2.2.0 | 2.2.1 |
| google / tensorflow | 2.3.0 | 2.3.1 |
| opensuse / leap | 15.2 | 15.2.x |
tensorflow
|
- | 1.15.4 |
tensorflow
|
2.0.0 | 2.0.3 |
tensorflow
|
2.1.0 | 2.1.2 |
tensorflow
|
2.2.0 | 2.2.0.x |
tensorflow
|
2.2.0 | 2.2.1 |
tensorflow
|
2.3.0 | 2.3.0.x |
tensorflow
|
2.3.0 | 2.3.1 |
tensorflow-cpu
|
- | 1.15.4 |
tensorflow-cpu
|
2.0.0 | 2.0.3 |
tensorflow-cpu
|
2.1.0 | 2.1.2 |
tensorflow-cpu
|
2.2.0 | 2.2.0.x |
tensorflow-cpu
|
2.2.0 | 2.2.1 |
tensorflow-cpu
|
2.3.0 | 2.3.0.x |
tensorflow-cpu
|
2.3.0 | 2.3.1 |
tensorflow-gpu
|
- | 1.15.4 |
tensorflow-gpu
|
2.0.0 | 2.0.3 |
tensorflow-gpu
|
2.1.0 | 2.1.2 |
tensorflow-gpu
|
2.2.0 | 2.2.0.x |
tensorflow-gpu
|
2.2.0 | 2.2.1 |
tensorflow-gpu
|
2.3.0 | 2.3.0.x |
tensorflow-gpu
|
2.3.0 | 2.3.1 |