View Issue Details

IDProjectCategoryView StatusLast Update
0010871mantisbtdb mysqlpublic2010-04-23 23:22
Reporterrmmarsh Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionunable to reproduce 
Product Version1.2.0rc1 
Summary0010871: On all versions, I get the following error when adding a note
Description

Database query failed. Error received from database was #1054: Unknown column 'd' in 'where clause' for the query: SELECT id, username, realname, access_level
FROM mantis_user_table
WHERE enabled = ?
AND access_level >= d .

What else do you need to see?

TagsNo tags attached.

Activities

rmmarsh

rmmarsh

2009-08-27 09:29

reporter   ~0022819

Hello?

grangeway

grangeway

2009-08-27 15:12

reporter   ~0022821

erm
"access_level >= d ."
not quite sure what you've done here - but access level should be an int -->

I'm guessing that you've set a config variable maybe notify_new_user_created_threshold_min to a string rather then an integer value

rmmarsh

rmmarsh

2009-08-27 17:38

reporter   ~0022823

I have not changed any config variables other than the database variables and the email variables, using config_inc.php.

And I've done a search for 'd .' and of course can't find it. Which php file handles notes?

And thanks for replying to my note... I really appreciate it.

rmmarsh

rmmarsh

2009-08-29 09:31

reporter   ~0022826

Hello?

dhx

dhx

2009-08-31 06:55

reporter   ~0022831

This error is occurring within the project_get_all_user_rows() function within core/project_api.php

Basically this line:
$t_global_access_clause = '>= ' . NOBODY . ' ';

Is creating the false query part:
AND access_level >= d

Unless you define NOBODY as a string somewhere in your Mantis code, I can't imagine why Mantis would be misbehaving.

Do a grep -Rn NOBODY * within your Mantis directory and make sure the only definition you see is:
define( 'NOBODY', 100 );

ONCE and only within core/constant_inc.php

rmmarsh

rmmarsh

2009-08-31 11:04

reporter   ~0022835

Did the GREP and there is only ONE (1) define statement for NOBODY...

What do I do next?

rmmarsh

rmmarsh

2009-08-31 17:17

reporter   ~0022838

Running that command in my mantis directory, these are the results:

config_defaults_inc.php:441: 'threshold_min' => NOBODY,
config_defaults_inc.php:442: 'threshold_max' => NOBODY);
config_defaults_inc.php:462: 'threshold_min' => NOBODY,
config_defaults_inc.php:463: 'threshold_max' => NOBODY);
config_defaults_inc.php:504: $g_show_user_email_threshold = NOBODY;
config_defaults_inc.php:510: $g_show_user_realname_threshold = NOBODY;
config_defaults_inc.php:955: target version and fixed in version fields. Set this threshold to NOBODY
config_defaults_inc.php:959: $g_show_version_dates_threshold = NOBODY;
config_defaults_inc.php:2074:
set to NOBODY to disable the feature
config_defaults_inc.php:2087: You can set this to NOBODY to prevent uploads to projects
config_defaults_inc.php:2095:
You can set this to NOBODY to prevent uploads to bugs but note that
config_defaults_inc.php:2674: The threshold required for users to be able to create permalinks. To turn of this feature use NOBODY.
config_defaults_inc.php:3621: $g_due_date_update_threshold = NOBODY;
config_defaults_inc.php:3627: $g_due_date_view_threshold = NOBODY;
core/access_api.php:36:
require constaint_inc.php for NOBODY etc
core/access_api.php:200: * @param int|array $p_threshold access threshold, defaults to NOBODY
core/access_api.php:204:function access_compare_level( $p_user_access_level, $p_threshold = NOBODY ) {
core/access_api.php:244: if( NOBODY == $p_access_level ) {
core/access_api.php:337: if( NOBODY == $p_access_level ) {
core/access_api.php:378: if( NOBODY == $p_access_level ) {
core/project_api.php:503: # Optimization when access_level is NOBODY
core/project_api.php:504: if( NOBODY == $p_access_level ) {
core/project_api.php:558: $t_global_access_clause = '>= ' . NOBODY . ' ';
core/constant_inc.php:49:define( 'NOBODY', 100 );
doc/en/administration_guide.txt:1343: 'explicit' => ON, 'threshold_min' => NOBODY,
doc/en/administration_guide.txt:1344: 'threshold_max' => NOBODY); threshold_min and
doc/en/administration_guide.txt:1350: "NOBODY". To send to all DEVELOPERS and above (as
doc/en/administration_guide.txt:1351: 0.17.5), use DEVELOPER and NOBODY respectively.
doc/en/administration_guide.txt:1412: value is NOBODY, hence, even administrators won't have
doc/en/administration_guide.txt:1726: fixed in version fields. Set this threshold to NOBODY to
doc/en/administration_guide.txt:1727: disable the feature. Default value is NOBODY.
doc/en/administration_guide.txt:2428: use NOBODY.
doc/en/administration_guide.txt:3908: 'bugnotes' => ON, 'threshold_min' => NOBODY,
doc/en/administration_guide.txt:3910: => NOBODY);
doc/en/administration_guide.html:3008: 'threshold_min' => NOBODY, 'threshold_max' => NOBODY);
doc/en/administration_guide.html:3013: "threshold_max to "NOBODY". To send to all DEVELOPERS and above (as
doc/en/administration_guide.html:3014: 0.17.5), use DEVELOPER and NOBODY respectively.
doc/en/administration_guide.html:3129: names hyperlinked with mailto: links. The default value is NOBODY,
doc/en/administration_guide.html:3657: NOBODY to disable the feature. Default value is NOBODY.
doc/en/administration_guide.html:5041:>The threshold required for users to be able to create permalinks (default DEVELOPER). To turn this feature off use NOBODY.</P
doc/en/administration_guide.html:8335: 'bugnotes' => ON, 'threshold_min' => NOBODY, 'threshold_max'
doc/en/administration_guide.html:8336: => NOBODY);
docbook/adminguide/en/configuration.sgml:310: 'threshold_min' => NOBODY, 'threshold_max' => NOBODY);
docbook/adminguide/en/configuration.sgml:315: "threshold_max to "NOBODY". To send to all DEVELOPERS and above (as
docbook/adminguide/en/configuration.sgml:316: 0.17.5), use DEVELOPER and NOBODY respectively.
docbook/adminguide/en/configuration.sgml:420: names hyperlinked with mailto: links. The default value is NOBODY,
docbook/adminguide/en/configuration.sgml:857: NOBODY to disable the feature. Default value is NOBODY.
docbook/adminguide/en/configuration.sgml:2018: <para>The threshold required for users to be able to create permalinks (default DEVELOPER). To turn this feature off use NOBODY.</para>
docbook/adminguide/en/customizing_mantis.sgml:644: 'bugnotes' => ON, 'threshold_min' => NOBODY, 'threshold_max'
docbook/adminguide/en/customizing_mantis.sgml:645: => NOBODY);
manage_config_email_set.php:69: $t_thresholds_min[$t_action] = NOBODY;
manage_config_email_set.php:104: $t_default_max = NOBODY;
manage_config_work_threshold_set.php:53: $t_lower_threshold = NOBODY;
manage_config_work_threshold_set.php:58: if ( NOBODY == $t_lower_threshold ) {
manage_config_work_threshold_set.php:63: if ( NOBODY <> $t_lower_threshold ) {

rmmarsh

rmmarsh

2009-09-02 09:27

reporter   ~0022850

Hello? any other ideas or things to check?

dhx

dhx

2009-09-04 07:09

reporter   ~0022862

Are you able to explain your hosting situation in more detail? Which distribution, version of PHP and database (and version) are you using?

It could potentially be an issue with adodb and the particular database type you're trying to use.

rmmarsh

rmmarsh

2009-09-04 11:52

reporter   ~0022876

Detail:

Mantis version 1.2.x (although it happens on all versions)
PHP version 5.2.9
Database is MySQL, version 5.0.67 (community)
running on an i86 Linux platform

rmmarsh

rmmarsh

2009-09-09 11:46

reporter   ~0022898

bump?

dhx

dhx

2009-09-10 03:51

reporter   ~0022900

I'm not sure what this could be :(

Could you please try installing a test version of Mantis (current git master, either 1.2.x or 1.3.x) with default configuration to see if the error remains for you?

If you can't reproduce the problem on a vanilla version, are you able to provide a censored (remove your passwords, etc) copy/diff of any files you've changed (configuration, etc)? Also check mantis_config_table in your database to see if any settings have been modified.