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