|
Ok, I did more testing, sometimes the
modules startup fine if I don’t use all numbers (ip addresses) in some of
the fields of some tables (ie. trusted, domain), or if I start or end the
values with a blank space, but its not always the same. Also, I figured out how to do a backtrace
correctly, here it is: WARNING: no fork mode stateless - initializing 0(0) Maxfwd module- initializing 0(0) ACC - initializing 0(0) AUTH module - initializing textops - initializing Connected Returned connection string was:
DSN=sybasetds;UID=sa;PWD=DialerR0x; 0(0) AVPops - initializing 0(0) permissions - initializing 0(0) WARNING: File not found:
/usr/local/etc/openser/permissions.allow 0(0) Default allow file
(/usr/local/etc/openser/permissions.allow) not found => empty rule set 0(0) WARNING: File not found:
/usr/local/etc/openser/permissions.deny 0(0) Default deny file
(/usr/local/etc/openser/permissions.deny) not found => empty rule set Connected Returned connection string was:
DSN=sybasetds;UID=admin;PWD=password; *** glibc detected *** free(): invalid
pointer: 0x08ec15c8 *** Program received signal SIGABRT, Aborted. [Switching to Thread -1208084800 (LWP
7823)] 0x0017f7a2 in _dl_sysinfo_int80 () from
/lib/ld-linux.so.2 (gdb) bt #0 0x0017f7a2 in _dl_sysinfo_int80
() from /lib/ld-linux.so.2 #1 0x001bf7d5 in raise () from
/lib/tls/libc.so.6 #2 0x001c1149 in abort () from
/lib/tls/libc.so.6 #3 0x001f340a in __libc_message () from
/lib/tls/libc.so.6 #4 0x001f9b3f in _int_free () from
/lib/tls/libc.so.6 #5 0x001f9eba in free () from
/lib/tls/libc.so.6 #6 0x0032b85e in tds_dstr_free
(s=0x8ec15c8) at tdsstring.c:71 #7 0x0030cd5f in desc_free_record
(drec=0x8ed87c0) at descriptor.c:140 #8 0x0030cf4c in desc_free_records
(desc=0x8ec0f60) at descriptor.c:152 #9 0x00305704 in odbc_populate_ird
(stmt=0x8ed8968) at odbc.c:2269 #10 0x003060db in _SQLFetch
(stmt=0x8ed8968) at odbc.c:2649 #11 0x00306172 in SQLFetch
(hstmt=0x8ed8968) at odbc.c:2777 #12 0x0052f6b6 in SQLFetch () from
/usr/lib/libodbc.so.1 #13 0x00f01510 in convert_result
(_h=0x8147bb8, _r=0x8147e20) at res.c:193 #14 0x00eff445 in store_result
(_h=0x8147bb8, _r=0xbffe944c) at dbase.c:339 #15 0x002d5c15 in reload_trusted_table ()
at trusted.c:371 #16 0x002d61e8 in init_trusted () at
trusted.c:125 #17 0x002d3395 in mod_init () at
permissions.c:460 #18 0x08084a93 in init_mod (m=0x811da10)
at sr_module.c:460 #19 0x08084a47 in init_mod (m=0x811dab0)
at sr_module.c:457 #20 0x08084a47 in init_mod (m=0x811db50)
at sr_module.c:457 #21 0x08084a47 in init_mod (m=0x811dbf0)
at sr_module.c:457 #22 0x08084a47 in init_mod (m=0x811dc90)
at sr_module.c:457 #23 0x08084a47 in init_mod (m=0x811dd30)
at sr_module.c:457 #24 0x08084a47 in init_mod (m=0x811ddd0)
at sr_module.c:457 #25 0x0806426d in main (argc=1,
argv=0xbffe96e4) at main.c:1450 (gdb) From: Lenir
[mailto:[EMAIL PROTECTED] Ok, so now that openser loads fine,
here’s the kicker, openser coredumps when any of the tables are populated
except for the version table. In my case the only two tables that I use are
permissions and domain. Here’s what I get: stateless - initializing 0(0) Maxfwd module- initializing 0(0) ACC - initializing 0(0) AUTH module - initializing textops - initializing Connected Returned connection string was:
DSN=SYBASE;UID=admin;PWD=password; Segmentation fault (core dumped) I tried running a trace on the file and
this is what I got (not sure if im doing this right): (gdb) bt No stack. (gdb) core-file core.28339 Core was generated by `openser -f
/etc/openser/openser.cfg'. Program terminated with signal 11,
Segmentation fault. #0 0x0045bffb in ?? () (gdb) bt #0 0x0045bffb in ?? () #1 0x007debfc in ?? () #2 0x0045c544 in ?? () #3 0x00521838 in ?? () #4 0x00521800 in ?? () #5 0x00000418 in ?? () #6 0x005153f1 in ?? () #7 0x005153f1 in ?? () #8 0x005153f1 in ?? () #9 0x005153f1 in ?? () #10 0xfffffffd in ?? () #11 0x00521838 in ?? () #12 0x007e2c40 in ?? () #13 0x007debfc in ?? () #14 0x0045c544 in ?? () #15 0x00000010 in ?? () #16 0x00000030 in ?? () #17 0x00521838 in ?? () #18 0x00000000 in ?? () (gdb) From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of Lenir Guys, Im trying to use the unixodbc module using the FreeTDS
drivers. I’m trying to connect to Sybase. I can connect fine using both isql and tsql and connecting
by both: using DSN or specifying host, port UID and PWD, so I know for a fact
that unixODBC and FreeTDS are installed and working properly. Here are my config files for unixODBC and FreeTDS: [SYBASE] Description
= FreeTDS ODBC Data Source UID
= admin PWD
= password Driver
= FreeTDS Server
= xx.xx.xx.xx Port
= 5000 Database
= database DSN
= database UseCursor
= 1 TDS_Version
= 5 [EMAIL PROTECTED] ~]# cat /etc/odbcinst.ini # Example driver definitinions # # [FreeTDS] Description
= FreeTDS ODBC Driver Driver
= /usr/lib/libtdsodbc.so [EMAIL PROTECTED] ~]# cat /etc/freetds.conf [global] tds version = 4.2 dump file =
/tmp/freetds.log debug level = 10 [SYBASE] host =
xx.xx.xx.xx port = 5000 tds version = 5.0 in my openser.cfg file I use the following for all DB
related parameters fifo_db_url="unixodbc://admin:[EMAIL PROTECTED]/SYBASE" modparam("acc|usrloc|permissions|domain|speeddial|alias_db",
"db_url", "unixodbc://admin:[EMAIL PROTECTED]/SYBASE") modparam("avpops",
"avp_url","unixodbc://admin:[EMAIL PROTECTED]/SYBASE") When I run openser I get the
following: WARNING: no fork mode stateless - initializing 0(0) Maxfwd module- initializing 0(0) ACC - initializing 0(0) AUTH module - initializing textops - initializing Failed to connect The driver reported the following diagnostics whilst running
SQLDriverConnect IM007:1:0:[unixODBC][FreeTDS][SQL Server]Could not find UID
parameter HYC00:2:0:[unixODBC][FreeTDS][SQL Server]Driver not capable 0(0) ERROR:domain_db_init: cannot initialize database
connection 0(0) init_mod(): Error while initializing module
domain ERROR: error while initializing modules. For whatever reason the module is not picking up the UID and
PWD from the db_url parameters. The way I fixed the problem was by changing the file
my_con.c, line 68: From: sprintf(
stringDNS, "%s%s%s", "DSN=", id->database,
";"); to: sprintf(
stringDNS, "%s%s%s", "DSN=", id->database,
";UID=username;PWD=password;"); And now works fine. Also, to add debug to figure out which
SQL queries fail, I changed the file dbase.c line 77: From:
LOG(L_ERR, "Return value: %d\n", ret); To:
LOG(L_ERR, "Return value: %d, Performing query: %s\n", ret, _s); Now everytime a query fails it’ll say the result
msg, as well as the actual query that failed. Lenir |
_______________________________________________ Devel mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/devel
