Skip to content

Fetching DF segfaults when outputtypehandler is present #486

@mauropagano

Description

@mauropagano
  1. What versions are you using?
    3.1.0, repro in python 3.9 and 3.12, issue is on client side I think, DB version is irrelevant

  2. Is it an error or a hang or a crash?
    Hard crash, segfault

  3. What error(s) or behavior you are seeing?
    Segmentation fault

  4. Does your application call init_oracle_client()?
    Reproduces both in thin and thick mode

  5. Include a runnable Python script that shows the problem.

import oracledb # this is copy&paste from doc def output_type_handler(cursor, metadata): def out_converter(d): if isinstance(d, str): return f"{d} was a string" else: return f"{d} was not a string" if metadata.type_code is oracledb.DB_TYPE_NUMBER: return cursor.var( oracledb.DB_TYPE_VARCHAR, arraysize=cursor.arraysize, outconverter=out_converter, ) conn = oracledb.connect("...") # comment out the line below and the issue goes away conn.outputtypehandler = output_type_handler sql = "select 1 n from dual" t = conn.fetch_df_all(sql) print(t) 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions