Convert gpencil to curve, python, crash
The custom context has an invalid region set, which results in the region data rv3d pointer being NULL in gp_camera_view_subrect() (gpencil_convert.c).
In your custom context region is set to [bpy.data.screens['Scripting']...Region]. Instead of a list it should be a single bpy_struct. This can be fixed by modifying your override dictionary:

override = {'window': win,
            'screen': scr,
            'area'  : areas3d[0],
            'region': region[0],
            'scene' : bpy.context.scene} 


Alternatively you could copy the current context and modify the area and region.

import bpy


context = bpy.context.copy()

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                context['area'] = area
                context['region'] = region
                break
        break

bpy.ops.gpencil.convert(context, type='CURVE', use_timing_data=True)