Re: sqlite error with roundup-demo
Tonu Mikk via Roundup-users <[email protected]> Thu, 9 Nov 2023 08:51:49 -0600
| Newsgroups | gmane.comp.bug-tracking.roundup.user |
|---|---|
| Message-ID | <CABDFm8hK==tgK-0zGzHgtYRcmMy-zXKH1hhyGYpDdxJgbhy6VA@mail.gmail.com> |
Thanks, John, for these questions! This email may be hard to read. I put the answers inline and showed 3 crash reports. Please let me know if I should format this email differently in the future. The main trouble is with the sqlite3 fts5 module. On Wed, Nov 8, 2023 at 8:05 PM John P. Rouillard <[email protected]> wrote: > Are you installing Roundup 2.3.0, or are you using the repository > version? > Roundup 2.3.0 using the "pip install roundup" command. > Ok. With the virtual env enabled, what does: > > % python -V > > report? > Python 3.6.12 What commands did you use to install Roundup? > "pip install roundup" > > I assume your virtual-env is at: /home/tmikk/pydev/py36-venv? > Yes! > > Is that a local filesystem or an NFS filesystem? > > Local I believe. I am connecting to the Linux virtual server with Putty. > >I then ran the roundup-demo to create a demo tracker, but got an > >error with sqlite3. I tried downloading and installing the latest > >version of sqlite, but that did not work. > > > >Any suggestions? > > > >(py36-venv) [tmikk@drc-roundup-prd-web bin]$ sudo roundup-demo > > You shouldn't be running roundup as root. Run it as it's own user or > run it as yourself. > > I tried running as myself and got the same error (without the nuke error this time) (py36-venv) [tmikk@drc-roundup-prd-web bin]$ roundup-demo Enter directory path to create demo tracker [./demo]: /home/tmikk/demo-classic Enter tracker template to use (one of (minimal,jinja2,classic,responsive,devel)) [classic]: Trying to set up web server on port 8917 ... should be ok. Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 202, in open_connection self.load_dbschema() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 305, in load_dbschema self.cursor.execute('select schema from schema') sqlite3.OperationalError: no such table: schema During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/bin/roundup-demo", line 11, in <module> load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-demo')() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/scripts/roundup_demo.py", line 173, in run use_port=cli_args.urlport or DEFAULT_PORT) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/demo.py", line 120, in install_demo tracker.init(password.Password('admin', config=config)) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 209, in init db = self.open('admin') File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 115, in open 'db': backend.Database(self.config, name) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 227, in __init__ self.open_connection() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 211, in open_connection self._add_fts5_table() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 255, in _add_fts5_table self.sql('CREATE virtual TABLE __fts USING fts5(_class, ' File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 266, in sql cursor.execute(sql) sqlite3.OperationalError: no such module: fts5 (py36-venv) [tmikk@drc-roundup-prd-web bin]$ > What is the #! line at the top of roundup-demo? > I am not sure how to know that? > > >> Enter directory path to create demo tracker [./demo]: > >> /swadm/roundup/trackers/demo-classic > > Is /swadm/roundup/trackers a local or NFS filesystem? > Yes > > >> Enter tracker template to use (one of > >> (minimal,jinja2,classic,responsive,devel)) [classic]: > > This looks fine. > > >> Nuking directory left from the previous demo instance. > > This is odd. It is supposed to nuke the previous contents *ONLY IF* > nuke is specified on the roundup-demo command line. This could be a > bug. I can reproduce it interacively: > > (roundup)$ roundup-demo > Enter directory path to create demo tracker [./demo]: /tmp/demo-classic > Enter tracker template to use (one of > (minimal,issue,jinja2,classic,responsive,devel,classic-demo,classic-postgres)) > [classic]: > Nuking directory left from the previous demo instance. > Trying to set up web server on port 8917 ... > should be ok. > [...] > > Apparently the interactive path doesn't require a nuke > keyword. However I can't reproduce your crash. > > >> Trying to set up web server on port 8917 ... > >> should be ok. > >> Traceback (most recent call last): > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", > >> line 202, in open_connection > >> self.load_dbschema() > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", > >> line 305, in load_dbschema > >> self.cursor.execute('select schema from schema') > >> sqlite3.OperationalError: no such table: schema > > This looks like an init failed. Try removing the target directory > (demo-classic) entirely and rerunning roundup-demo so it doesn't try > to nuke the existing directory since there is no existing directory. > > I tried that too just now and got the same error (py36-venv) [tmikk@drc-roundup-prd-web bin]$ roundup-demo Enter directory path to create demo tracker [./demo]: Enter tracker template to use (one of (minimal,jinja2,classic,responsive,devel)) [classic]: Trying to set up web server on port 8917 ... should be ok. Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 202, in open_connection self.load_dbschema() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 305, in load_dbschema self.cursor.execute('select schema from schema') sqlite3.OperationalError: no such table: schema During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/bin/roundup-demo", line 11, in <module> load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-demo')() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/scripts/roundup_demo.py", line 173, in run use_port=cli_args.urlport or DEFAULT_PORT) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/demo.py", line 120, in install_demo tracker.init(password.Password('admin', config=config)) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 209, in init db = self.open('admin') File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 115, in open 'db': backend.Database(self.config, name) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 227, in __init__ self.open_connection() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 211, in open_connection self._add_fts5_table() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 255, in _add_fts5_table self.sql('CREATE virtual TABLE __fts USING fts5(_class, ' File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 266, in sql cursor.execute(sql) sqlite3.OperationalError: no such module: fts5 (py36-venv) [tmikk@drc-roundup-prd-web bin]$ > If a valid tracker directory exists (e.g. at d in my example), you > should be seeing: > > % roundup-demo d > > Demo Tracker Home: d > Server running - connect to: > > http://localhost:8917/demo/ > > It should never nuke the directory unless you specify nuke. For example: > > (roundup)$ roundup-demo /tmp/demo-classic nuke > Enter tracker template to use (one of > (minimal,issue,jinja2,classic,responsive,devel,classic-demo,classic-postgres)) > [classic]: > Nuking directory left from the previous demo instance. > Trying to set up web server on port 8917 ... > > >> During handling of the above exception, another exception occurred: > >> > >> Traceback (most recent call last): > >> File "/home/tmikk/pydev/py36-venv/bin/roundup-demo", line 11, in > <module> > >> load_entry_point('roundup==2.3.0', 'console_scripts', > 'roundup-demo')() > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/scripts/roundup_demo.py", > >> line 173, in run > >> use_port=cli_args.urlport or DEFAULT_PORT) > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/demo.py", > >> line 120, in install_demo > >> tracker.init(password.Password('admin', config=config)) > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", > >> line 209, in init > >> db = self.open('admin') > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", > >> line 115, in open > >> 'db': backend.Database(self.config, name) > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", > >> line 227, in __init__ > >> self.open_connection() > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", > >> line 211, in open_connection > >> self._add_fts5_table() > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", > >> line 255, in _add_fts5_table > >> self.sql('CREATE virtual TABLE __fts USING fts5(_class, ' > >> File > >> > "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", > >> line 266, in sql > >> cursor.execute(sql) > >> sqlite3.OperationalError: no such module: fts5 > > What version of sqlite are you using? SQLite version 3.9.0 (released: > 2015-10-14) and newer have fts5 support by default. > > What does: > > % sqlite3 -version > > show? > > (py36-venv) [tmikk@drc-roundup-prd-web bin]$ sqlite3 -version 3.44.0 2023-11-01 11:23:50 17129ba1ff7f0daf37100ee82d507aef7827cf38de1866e2633096ae6ad81301 (64-bit) (py36-venv) [tmikk@drc-roundup-prd-web bin]$ > My main dev platform is debian based (ubuntu 18.04) with Python 3.6 > and sqlite works fine. > > What happens if you run (from within the venv): > > % roundup-demo -b sqlite -t classic /tmp/demo-classic > > The same complaint about sqlite: (py36-venv) [tmikk@drc-roundup-prd-web bin]$ roundup-demo -b sqlite -t classic /tmp/demo-classic Trying to set up web server on port 8917 ... should be ok. Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 202, in open_connection self.load_dbschema() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 305, in load_dbschema self.cursor.execute('select schema from schema') sqlite3.OperationalError: no such table: schema During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/tmikk/pydev/py36-venv/bin/roundup-demo", line 11, in <module> load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-demo')() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/scripts/roundup_demo.py", line 173, in run use_port=cli_args.urlport or DEFAULT_PORT) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/demo.py", line 120, in install_demo tracker.init(password.Password('admin', config=config)) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 209, in init db = self.open('admin') File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py", line 115, in open 'db': backend.Database(self.config, name) File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 227, in __init__ self.open_connection() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 211, in open_connection self._add_fts5_table() File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py", line 255, in _add_fts5_table self.sql('CREATE virtual TABLE __fts USING fts5(_class, ' File "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py", line 266, in sql cursor.execute(sql) sqlite3.OperationalError: no such module: fts5 > This is what I get: > > $ roundup-admin -V > Roundup 2.3.0 ready for input. > > (type exit to exit the admin interface) > > (roundup)$ roundup-demo -b sqlite -t classic /tmp/demo-classic > Trying to set up web server on port 8917 ... > should be ok. > > Demo Tracker Home: /tmp/demo-classic > Server running - connect to: > > http://localhost:8917/demo/ > [...] > > when restarting I get: > > (roundup)$ roundup-demo /tmp/demo-classic > > Demo Tracker Home: /tmp/demo-classic > Server running - connect to: > [...] > > python version: > > (roundup)$ python -V > Python 3.6.9 > > python sqlite3 version info: > > (roundup)$ python -c 'import sqlite3; print(sqlite3.version_info, > sqlite3.sqlite_version_info)' > (2, 6, 0) (3, 22, 0) > > sqlite3 cli version > > $ sqlite3 -version > 3.22.0 2018-01-22 18:45:57 0c55d[...] > > Compare these to what you get. > > Have a great day. > -- > -- rouilj > John Rouillard > =========================================================================== > My employers don't acknowledge my existence much less my opinions. > -- Tonu Mikk Developer | Disability Resource Center | disability.umn.edu University of Minnesota | umn.edu [email protected] Pronouns: He/Him _______________________________________________ Roundup-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/roundup-users