Re: [libdbi-users] firebird driver segfault
Am 24.02.2013 01:43, schrieb markus.hoeni...@mhoenicka.de: > In any case I concluded that firebird is above my head. I've spent an > entire week trying to get a simple test case running, to no avail. I'm > going to release libdbi-drivers without official firebird support > unless someone steps up and takes a look at the firebird driver and > the tests. That's fair. Let's release and I will do my best in future findings Thanks so far! Christoph -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
markus.hoeni...@mhoenicka.de writes: > Christoph Kottke writes: > > Am 19.02.2013 00:16, schrieb markus.hoeni...@mhoenicka.de: > > > Did you ever succeed in running the new test > > > kit? Or the old one shipped with 0.8.3 fwiw? > > > > hi, > > > > i can't remeber on old kit passes and the new one has never pass. > > > ... even more findings After perusing the available documentation I concluded that it is not possible to drop tables from within a C program. Apparently you have to resort to isql/isql-fb in order to get rid of them. I modified our test program to do just that. Things work ok until just after dropping a trigger and a generator (both of which are created when creating the test table. I don't know what these are good for, someone else coded that). The next step would be to actually drop the table using isql. However, at this point the firebird client library segfaults, although I can't see why. It is not being called at this point. The test table is still present after the crash. In any case I concluded that firebird is above my head. I've spent an entire week trying to get a simple test case running, to no avail. I'm going to release libdbi-drivers without official firebird support unless someone steps up and takes a look at the firebird driver and the tests. best regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Christoph Kottke writes: > Am 19.02.2013 00:16, schrieb markus.hoeni...@mhoenicka.de: > > Did you ever succeed in running the new test > > kit? Or the old one shipped with 0.8.3 fwiw? > > hi, > > i can't remeber on old kit passes and the new one has never pass. > Hi, maybe you can shed some light on my latest findings: - isql-fb can connect from a FreeBSD box to a firebird server running on Debian - the libdbi-drivers test_dbi program (cvs revision) connects to the server, successfully creates a database, but then immediately hangs forever - the *old* test program as of approx. 0.8.3 runs most tests ok when run locally on Debian. However, trouble starts when the program tries to get rid of the table that was used during the tests - the "DROP TABLE" command causes an error saying "unsuccessful metadata update" - I took from several web resources that it may be necessary to explicitly commit a transaction before dropping a previously used table. However, this causes a "Dynamic SQL Error" - this, in turn, seems to be fixed by enclosing the table name in double quotes. However, this now causes a "invalid transaction handle (expecting explicit transaction start)" kind of error - if I try to fix this by issuing a "SET TRANSACTION" command, we're back to "Dynamic SQL error", full circle Can you confirm, from your experience, that firebird is kind of picky about dropping tables which were previously used? This is kind of weird, as any serious database should support dropping tables. How do you deal with this in your own programs? regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Christoph Kottke was heard to say: > Am 19.02.2013 00:16, schrieb markus.hoeni...@mhoenicka.de: >> Did you ever succeed in running the new test >> kit? Or the old one shipped with 0.8.3 fwiw? > > hi, > > i can't remeber on old kit passes and the new one has never pass. > Hi, I've tried a few things with the new testkit in the past couple of days. However, it seems we're asking too much of firebird if we intend to create and drop tables with each test - this results in lock file errors which I was not yet able to resolve. gdb isn't cooperative at least on Linux, so I can't even tell exactly which SQL command kills the server. My tried and true "printf debugger" wasn't helpful either. I built the firebird client on FreeBSD yesterday. I'll try and see if gdb is more up to the task on that platform. In any case, going back to your original problem report: could you please provide two simple but complete test cases, one which is supposed to succeed (i.e. which retrieves a single row of data) and one which fails (which retrieves three or more rows, according to what you mentioned). Both test cases should be complete in that they create the database, create the table, insert the data, and clean up after themselves when the test succeeds. It would be a major step forward towards debugging if I was able to run these test cases on my box. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Am 19.02.2013 00:16, schrieb markus.hoeni...@mhoenicka.de: > Did you ever succeed in running the new test > kit? Or the old one shipped with 0.8.3 fwiw? hi, i can't remeber on old kit passes and the new one has never pass. christoph -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Christoph Kottke writes: > some more hits, > > if you use xinet.d you must enabled by hand in > /etc/xinet.d/firebird.conf and restart xinetd. > and new created db can only access by SYSDBA before the are activated... > Hi, one reboot later things have improved considerably. I tried to start the superserver process manually yesterday. There were no error messages, but the commands apparently did not succeed. After I booted the box tonight, the server was started correctly, and I was at least able to connect to the test database. I started to fiddle with tests/test_dbi in order to get some tests running. The test database is created ok using isql-fb, and I can connect to that (empty) database manually. I also found out the hard way that you have to run ./test_dbi as root to avoid error messages like: Can't access lock files' directory /tmp/firebird However, running the test as root results in error messages like (printed using printf using a modified debug firebird driver): Fatal lock manager error: invalid lock id (19892), errno: 11 --Resource temporarily unavailable I'll have to investigate which commands exactly cause this error messages, but at this time the test program does not run to completion using this driver. Did you ever succeed in running the new test kit? Or the old one shipped with 0.8.3 fwiw? regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Am 18.02.2013 10:43, schrieb Christoph Kottke: > Am 18.02.2013 10:27, schrieb Markus Hoenicka: >>> Classic does not require this step, but it doesn't work either. I'm >>> sure that I miss some critical step in the procedure. What about >>> accounts: do you run your queries from a regular user account? root? >>> firebird? Also, where do you create databases? What are the >>> permissions of that directory, and who owns it? Do you use localhost >>> in the database specifier, do you use any other host information, or >>> none at all? > Hi again, > > the server is full funktional, i connect via network with normal user > accound. the used > table is public ownership. the directory of the database file must own > by firebird:firebird > and have rw pemissions. > > btw. i can setup an testserver for you! > > christoph some more hits, if you use xinet.d you must enabled by hand in /etc/xinet.d/firebird.conf and restart xinetd. and new created db can only access by SYSDBA before the are activated... christoph -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Am 18.02.2013 10:27, schrieb Markus Hoenicka: >> Classic does not require this step, but it doesn't work either. I'm >> sure that I miss some critical step in the procedure. What about >> accounts: do you run your queries from a regular user account? root? >> firebird? Also, where do you create databases? What are the >> permissions of that directory, and who owns it? Do you use localhost >> in the database specifier, do you use any other host information, or >> none at all? Hi again, the server is full funktional, i connect via network with normal user accound. the used table is public ownership. the directory of the database file must own by firebird:firebird and have rw pemissions. btw. i can setup an testserver for you! christoph -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Christoph Kottke was heard to say: > Hi, > > thanks for your investigating :) > > i've run an debian 6.0.6 on i386 and install the lastest firebird-1.5 > from http://firebirdsql.org/ > because libdbi-driver depends on old include files (gds.h, etc). but you > can use the tarball only > to compile and use the server from debian repository. > > i 've never had problems to install an firebird server on debian, it > works always out of the box. > > the server is: firebird2.5-classic > Hi, I've tried both classic and super. In order to get the latter up and running, you're supposed to configure the package like this (as root): dpkg-reconfigure firebird2.5-super Even that command fails, saying it cannot connect. As this is still part of the installation, I have to consider this package broken. Classic does not require this step, but it doesn't work either. I'm sure that I miss some critical step in the procedure. What about accounts: do you run your queries from a regular user account? root? firebird? Also, where do you create databases? What are the permissions of that directory, and who owns it? Do you use localhost in the database specifier, do you use any other host information, or none at all? I'll give it another try tonight, but of course there is no point in delaying libdbi-drivers 0.9 any further if I don't have a chance to fix the firebird driver anyway. We'd have to move that driver to the "code present but unsupported" vault. BTW I'm running Debian Wheezy i386 on the test box. I've installed it from scratch on Saturday, so it shouldn't be screwed up in any way that affects firebird. If I include Debian's weird non-standard library directories, I don't have any problems building the firebird driver from the headers and libraries provided by the Debian packages. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
Re: [libdbi-users] firebird driver segfault
Am 18.02.2013 00:51, schrieb markus.hoeni...@mhoenicka.de: > Christoph Kottke writes: > > hi, > > > > i've installed the latest cvs revisions for libdbi and libdbi-driver and > > when ever i try to fetch more than > > 3 row from an firebird table it's end in an segfault. > > > > but when i revert the "bull patch" in dbi_result.c it works like a charm. > > > > Hi, > > I'd be happy to look at this issue. However, I haven't been able to > set up firebird on Debian either. I've followed the excellent Ubuntu > instructions which should work for Debian as well: > > https://help.ubuntu.com/community/Firebird2.5 > > However, no luck. isql-fb never manages to make a connection. I cannot > create database, and I can't access the example database either. This > database drives me nuts, I haven't seen it work on any platform here > in the past couple of years. > > In order to have a chance to debug the driver, would you please share > some information how you succeeded in running firebird at > all. Again, I'm not talking about libdbi or libdbi-drivers problems. I > just can't get the engine itself to work. > > regards, > Markus Hi, thanks for your investigating :) i've run an debian 6.0.6 on i386 and install the lastest firebird-1.5 from http://firebirdsql.org/ because libdbi-driver depends on old include files (gds.h, etc). but you can use the tarball only to compile and use the server from debian repository. i 've never had problems to install an firebird server on debian, it works always out of the box. the server is: firebird2.5-classic christoph -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
[libdbi-users] firebird driver segfault
Christoph Kottke writes: > hi, > > i've installed the latest cvs revisions for libdbi and libdbi-driver and > when ever i try to fetch more than > 3 row from an firebird table it's end in an segfault. > > but when i revert the "bull patch" in dbi_result.c it works like a charm. > Hi, I'd be happy to look at this issue. However, I haven't been able to set up firebird on Debian either. I've followed the excellent Ubuntu instructions which should work for Debian as well: https://help.ubuntu.com/community/Firebird2.5 However, no luck. isql-fb never manages to make a connection. I cannot create database, and I can't access the example database either. This database drives me nuts, I haven't seen it work on any platform here in the past couple of years. In order to have a chance to debug the driver, would you please share some information how you succeeded in running firebird at all. Again, I'm not talking about libdbi or libdbi-drivers problems. I just can't get the engine itself to work. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
[libdbi-users] firebird driver segfault (c/o Christian???)
Christoph Kottke writes: > hi, > > i've installed the latest cvs revisions for libdbi and libdbi-driver and > when ever i try to fetch more than > 3 row from an firebird table it's end in an segfault. > > but when i revert the "bull patch" in dbi_result.c it works like a charm. > Hi, thanks for the bug report. This one barely came in time to stop me from packaging the long-awaited 0.9 releases :-/ Unfortunately, I haven't been able to make firebird operational on my FreeBSD box for at least two years so I cannot do any real debugging here. I plan to set up a Debian box shortly which may be a better platform for this database engine. It took me a couple of hours to more or less understand what's going on in theory. In any case, I've got a hunch. I assume the "bull patch" was correct as it fixed a memory leak shown by valgrind, without causing any problems with the drivers that I can test over here. What if the firebird driver just happened to work ok as long as libdbi prevented one particular bordercase to occur, at the expense of some bits of leaked memory? In that case it would be wrong to revert the patch. Instead, someone in the know (Christian please ???) would have to review the result fetching code of the firebird driver with an eye on numrows_matched. According to what I've seen in the driver code, firebird makes it particularly hard to get things right. Also, Christoph, did you run make check? If that didn't crash, we need extra tests to discover problems like these. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users
[libdbi-users] firebird driver segfault
hi, i've installed the latest cvs revisions for libdbi and libdbi-driver and when ever i try to fetch more than 3 row from an firebird table it's end in an segfault. but when i revert the "bull patch" in dbi_result.c it works like a charm. christoph -- Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb ___ libdbi-users mailing list libdbi-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libdbi-users