roxen.lists.pike.general

Subject Author Date
Wow, Trace++ (Re: Identifier reference index 36 out of range 0..29) Stephen R. van den Berg <srb[at]cuci[dot]nl> 22-06-2009
Henrik Grubbstr?m wrote:
>Please update src/program.[ch] so you get the program tables dumped.

This looks promising.  See the new & improved full trace below.

>My guess at this point is that there's some non-threadsafe code during 
>error handling in the mysql module.

That's what I thought, though a casual inspection of the ALLOW() macros
in mysql.c doesn't reveal anything significant so far.

    Program flags: 0x202f

    Reference table:
      ####: Flags Inherit Identifier
         0:     8       0          0  error
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b619d0
         1:     8       0          1  create
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6d620
         2:     0       0          2  _sprintf
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6cb70
         3:     8       0          3  affected_rows
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6c2b0
         4:     8       0          4  insert_id
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6b9f0
         5:     8       0          5  select_db
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b60690
         6:     8       0          6  big_query
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6b9c0
         7:     8       0          7  streaming_query
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b6b990
         8:     0       0          8  MYSQL_NO_ADD_DROP_DB
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #0
         9:     8       0          9  shutdown
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b68ee0
        10:     8       0         10  reload
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b681f0
        11:     8       0         11  statistics
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b67910
        12:     8       0         12  server_info
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b66ff0
        13:     8       0         13  host_info
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b66700
        14:     8       0         14  protocol_info
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b65e30
        15:     8       0         15  list_dbs
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b64ae0
        16:     8       0         16  list_tables
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b63790
        17:     8       0         17  list_fields
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b622f0
        18:     8       0         18  list_processes
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b5f440
        19:     8       0         19  binary_data
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b5c960
        20:     8       0         20  set_charset
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b5d0d0
        21:     8       0         21  get_charset
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b5ccd0
        22:     1       0         22  _can_send_as_latin1
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Cfun: 0xb7b5c550
        23:     0       0         23  CLIENT_COMPRESS
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #1
        24:     0       0         24  CLIENT_FOUND_ROWS
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #2
        25:     0       0         25  CLIENT_IGNORE_SPACE
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #3
        26:     0       0         26  CLIENT_INTERACTIVE
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #4
        27:     0       0         27  CLIENT_NO_SCHEMA
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #5
        28:     0       0         28  CLIENT_ODBC
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #6
        29:     0       0         29  HAVE_MYSQL_FIELD_CHARSETNR
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
                                      Constant #0

    Identifier index table:
      ####: Index	Name
         0:     2	_sprintf
         1:     1	create
         2:    29	HAVE_MYSQL_FIELD_CHARSETNR
         3:    24	CLIENT_FOUND_ROWS
         4:     6	big_query
         5:    15	list_dbs
         6:    13	host_info
         7:     9	shutdown
         8:     7	streaming_query
         9:    16	list_tables
        10:     3	affected_rows
        11:    28	CLIENT_ODBC
        12:    23	CLIENT_COMPRESS
        13:    20	set_charset
        14:    19	binary_data
        15:    18	list_processes
        16:    17	list_fields
        17:    14	protocol_info
        18:    12	server_info
        19:    11	statistics
        20:    10	reload
        21:     0	error
        22:     4	insert_id
        23:    21	get_charset
        24:     5	select_db
        25:     8	MYSQL_NO_ADD_DROP_DB
        26:    27	CLIENT_NO_SCHEMA
        27:    25	CLIENT_IGNORE_SPACE
        28:    26	CLIENT_INTERACTIVE

    Inherit table:
      ####: Level prog_id id_level storage_offs par_id par_offs par_obj_id
id_ref_offs
         0:     0   65649        0            0     -1      -18         -1      
    0

    Identifier table:
      ####: Flags Offset Type Name
         0:     2 -1212802608    4 "error"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         1:     2 -1212754400    4 "create"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         2:     2 -1212757136    4 "_sprintf"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         3:     2 -1212759376    4 "affected_rows"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         4:     2 -1212761616    4 "insert_id"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         5:     2 -1212807536    4 "select_db"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         6:     2 -1212761664    4 "big_query"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         7:     2 -1212761712    4 "streaming_query"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         8:     1      0    8 "MYSQL_NO_ADD_DROP_DB"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
         9:     2 -1212772640    4 "shutdown"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        10:     2 -1212775952    4 "reload"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        11:     2 -1212778224    4 "statistics"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        12:     2 -1212780560    4 "server_info"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        13:     2 -1212782848    4 "host_info"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        14:     2 -1212785104    4 "protocol_info"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        15:     2 -1212790048    4 "list_dbs"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        16:     2 -1212794992    4 "list_tables"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        17:     2 -1212800272    4 "list_fields"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        18:     2 -1212812224    4 "list_processes"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        19:     2 -1212823200    4 "binary_data"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        20:     2 -1212821296    4 "set_charset"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        21:     2 -1212822320    4 "get_charset"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        22:     2 -1212824240    4 "_can_send_as_latin1"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        23:     1      1    8 "CLIENT_COMPRESS"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        24:     1      2    8 "CLIENT_FOUND_ROWS"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        25:     1      3    8 "CLIENT_IGNORE_SPACE"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        26:     1      4    8 "CLIENT_INTERACTIVE"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        27:     1      5    8 "CLIENT_NO_SCHEMA"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        28:     1      6    8 "CLIENT_ODBC"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1
        29:     1      0    8 "HAVE_MYSQL_FIELD_CHARSETNR"
            /usr/local/pike/7.8.307/lib/modules/Mysql.so:1

    Variable table:
      ####: Index

    Constant table:
      ####: Type            Raw
         0: int             0x1
         1: int             0x20
         2: int             0x2
         3: int             0x100
         4: int             0x400
         5: int             0x10
         6: int             0x40

    String table:
      ####: Value
         0: [0x89faf80]"/usr/local/pike/7.8.307/lib/modules/Mysql.so"(44
characters)

    LFUN table:
      LFUN  Ref# Name
         1: 0001 create
        40: 0002 _sprintf

    Linenumber table:
      Filename: "src/modules/Mysql/mysql.c"
               0:    1863

Identifier reference index 36 out of range 0..29
-- 
Sincerely,
           Stephen R. van den Berg.

"Very funny, Mr. Scott. Now beam down my clothes!"