Open
Bug 481549
Opened 16 years ago
Updated 8 years ago
Can't create bug when the product has more than 500 milestones
Categories
(Bugzilla :: Creating/Changing Bugs, defect)
Tracking
()
NEW
People
(Reporter: weiluoca, Unassigned)
References
Details
Attachments
(3 files, 1 obsolete file)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008061712 Fedora/3.0-1.fc9 Firefox/3.0
Build Identifier: Release 3.2.2
Can't create bug when the product has more than 500 milestones.
Error:
Bugzilla has suffered an internal error. Please save this page and send it to THE MAINTAINER HAS NOT YET BEEN SET with details of what you were doing at the time this message appeared.
URL: http://localhost/bugzilla-3.2.2/post_bug.cgi
undef error - Not an ARRAY reference at Bugzilla/Object.pm line 201.
Reproducible: Always
Updated•16 years ago
|
Severity: critical → major
Comment 2•16 years ago
|
||
I just tried with 600 milestones on PostgreSQL + MySQL, both on 3.2.3 and 3.3.4, and I cannot reproduce the problem. I can create and edit bugs without any problem.
Comment 3•16 years ago
|
||
I also tried to reproduce bug 482371 with 600+ bugs edited at once, and still no problem.
Keywords: qawanted
Where can i find 3.2.3 or 3.3.4? I could not find on the bugzilla.org download page.
Thanks
The issue only can be reproduced when one particular product has more than 500 milestones. No limitation on the total number of milestones.
Comment 6•16 years ago
|
||
(In reply to comment #4)
> Where can i find 3.2.3 or 3.3.4?
They haven't been released yet. Should be available soon.
(In reply to comment #5)
> The issue only can be reproduced when one particular product has more than 500
> milestones.
Unless the product has some additional characteristics, I definitely cannot reproduce.
The 'change several' bug that this is duped to is still occurring with cvs tag BUGZILLA-3_2-BRANCH. Some environment difference perhaps?
$ ./checksetup.pl
* This is Bugzilla 3.2.2+ on perl 5.10.0
* Running on Linux 2.6.27.19-78.2.30.fc9.i686.PAE #1 SMP Tue Feb 24 19:57:41 EST 2009
Checking perl modules...
Checking for CGI.pm (v3.33) ok: found v3.38
Checking for TimeDate (v2.21) ok: found v2.22
Checking for PathTools (v0.84) ok: found v3.2501
Checking for DBI (v1.41) ok: found v1.607
Checking for Template-Toolkit (v2.15) ok: found v2.19
Checking for Email-Send (v2.00) ok: found v2.192
Checking for Email-MIME (v1.861) ok: found v1.861
Checking for Email-MIME-Modifier (v1.442) ok: found v1.442
Checking available perl DBD modules...
Checking for DBD-Pg (v1.45) ok: found v2.10.0
Checking for DBD-mysql (v4.00) ok: found v4.005
Checking for DBD-Oracle (v1.19) not found
The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.35
Checking for Chart (v1.0) ok: found v2.4.1
Checking for Template-GD (any) ok: found v1.56
Checking for GDTextUtil (any) ok: found v0.86
Checking for GDGraph (any) ok: found v1.44
Checking for XML-Twig (any) ok: found v3.32
Checking for MIME-tools (v5.406) ok: found v5.426
Checking for libwww-perl (any) ok: found v5.816
Checking for PatchReader (v0.9.4) ok: found v0.9.5
Checking for PerlMagick (any) ok: found v6.3.8
Checking for perl-ldap (any) ok: found v0.34
Checking for Authen-SASL (any) ok: found v2.10
Checking for RadiusPerl (any) ok: found v0.13
Checking for SOAP-Lite (any) ok: found v0.710.07
Checking for HTML-Parser (v3.40) ok: found v3.56
Checking for HTML-Scrubber (any) ok: found v0.08
Checking for Email-MIME-Attachment-Stripper (any) ok: found v1.314
Checking for Email-Reply (any) ok: found v1.202
Checking for mod_perl (v1.999022) ok: found v2.000004
Reading ./localconfig...
Checking for DBD-mysql (v4.00) ok: found v4.005
Checking for MySQL (v4.1.2) ok: found v5.0.51a
Removing existing compiled templates...
Precompiling templates...done.
Fixing file permissions...
I found this problem on 3.2.2 and 3.3.3. But it got verified on 3.2.3 and 3.3.4.
What is big differences between those versions?
And I am using the default product "TestProduct" come with the installation.
Here are what i did.
(1)tar -xzvf bugzilla-3.3.3.tar.gz
(2)./checksetup.pl
(3)/usr/bin/perl install-module.pl --all
(4) modify localconfig
(5)./checksetup.pl
(6) insert 496 milestones for TestProduct into milestones table using the attached file
(7) Then when i create a new bug, I get error.
Comment 10•16 years ago
|
||
I don't know enough about your object layout to know if this is correct, but
here's some print statements of the variables in question on line 201, after a
2000 bug change attempt (again with cvs tag BUGZILLA-3_2-BRANCH):
$ cvs diff Bugzilla/Object.pm
Index: Bugzilla/Object.pm
===================================================================
RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Object.pm,v
retrieving revision 1.23
diff -r1.23 Object.pm
200a201,203
> open(FOO, ">>/tmp/foo"); print FOO "CLASS $class\n"; close(FOO);
> open(FOO, ">>/tmp/foo"); print FOO "OBJECTS $objects\n"; close(FOO);
> open(FOO, ">>/tmp/foo"); print FOO "OBJECTSA @$objects\n"; close(FOO);
$ cat /tmp/foo
CLASS Bugzilla::Field
OBJECTS ARRAY(0xa5365a4)
OBJECTSA HASH(0xaf58474) HASH(0xaf58524) HASH(0xaf585d4)
CLASS Bugzilla::Bug
OBJECTS DBI::db=HASH(0xad6ab94)
$
Didn't like my attempt to print @$objects.
Comment 11•16 years ago
|
||
(In reply to comment #8)
> milestones
No idea what this attachment is. Its name "2" is meaningless. Is that a text file or what?
Attachment #366706 -
Attachment description: milestones → 496 milestones for Product "TestProduct"
Attachment #366706 -
Attachment filename: 2 → milestones
Reporter | ||
Comment 12•16 years ago
|
||
I renamed it. It is a text file and has 496 records. I used it to add milestone into milestones tables.
Comment 13•16 years ago
|
||
I use MySQL 5.0.67.
Updated•16 years ago
|
Attachment #366706 -
Attachment mime type: application/octet-stream → text/plain
Comment 14•16 years ago
|
||
I'm not really in a position to swap around mysql versions. Clearly bugzilla is attempting to treat a DBI::db=HASH object as an ARRAY, and puking.
Everything but bugzilla is stock Fedora Core 9, with a current 'yum update'. Any other diagnostics I can get for you?
Comment 15•15 years ago
|
||
I have observed this same problem, except with Versions > 500 (not Milestones)
Should I file a new bug for Versions?
Comment 16•15 years ago
|
||
(In reply to comment #15)
> Should I file a new bug for Versions?
No, the root cause is probably the same.
Comment 18•15 years ago
|
||
This bug and those I marked as dupes all point to the same line in Object.pm, in sub _do_list_select():
bless ($_, $class) foreach @$objects;
Comment 19•15 years ago
|
||
Hmm, maybe it has something to do with Product::preload().
Comment 20•15 years ago
|
||
Hi
This bug doesn't appear on old version of bugzilla.
On 3.0.4, i don't get this problem but the web interface is very slow for those users.
Perhaps if we have a system caching under bugzilla or postgresql can improve request performances
Comment 21•15 years ago
|
||
Also the request which take a lot of time and which doesn't succeed is the select on the fonticon do_list_select (you can see the log that i send as an attachement under bug 536190) i think that the sub to review is new_from_list which is called under some libs as User.pm.
it seems that it is a kind of limit in number of elements to put on the sql query.
Comment 22•15 years ago
|
||
i've fixed that by updating DBD:PG version
i've installed 2.16.1 with postgresql 8.4
Comment 23•15 years ago
|
||
(In reply to comment #22)
> i've fixed that by updating DBD:PG version
> i've installed 2.16.1 with postgresql 8.4
Okay. What did you fix? Did you fix the issue described in comment 0 on this bug?
Comment 25•14 years ago
|
||
I'm going to confirm this bug based on the number of duplicates. Not being able to reproduce the problem doesn't help me to fix the bug. We at least know the line which throws the error, as mentioned in comment 18.
Did someone manage to narrow the timeframe when this problem occured? Per bug 585938, which I just marked as a duplicate of this bug, Bugzilla 3.6.1 is still affected by this problem. I also see that a lot of people reported this problem against Bugzilla 3.2.2. Does it mean 3.2.1 is not affected?
Comment 26•14 years ago
|
||
Here is the script I used to try to reproduce the problem. You first have to set the $creator and $product_name variables, as explained in the script, and then run it from the bugzilla/ root directory, by typing: perl foo.pl
Can someone reproduce the issue with this script? I personally still cannot, despite I have 1000 components, milestones and versions. I can create a new bug without any problem, and query.cgi is displaying fine.
Comment 27•14 years ago
|
||
(In reply to comment #26)
> Created attachment 464423 [details]
> script to create one product with 1000 components, milestones and versions
>
> Here is the script I used to try to reproduce the problem. You first have to
> set the $creator and $product_name variables, as explained in the script, and
> then run it from the bugzilla/ root directory, by typing: perl foo.pl
>
> Can someone reproduce the issue with this script? I personally still cannot,
> despite I have 1000 components, milestones and versions. I can create a new bug
> without any problem, and query.cgi is displaying fine.
I ran your script against my 3.6.1 installation to create the new product, but the versions creation errored out, so I ended up with a new product with 999 components, but only 1 version and 1 milestone.
Then I tried editing the product, got the same error - Not an ARRAY reference at Bugzilla/Object.pm line 267. Also got the same error when trying to open a new bug against the new product.
Comment 28•14 years ago
|
||
(In reply to comment #27)
> I ran your script against my 3.6.1 installation to create the new product, but
> the versions creation errored out, so I ended up with a new product with 999
> components, but only 1 version and 1 milestone.
Ah yes, sorry, that's because my patch was written against Bugzilla 4.1. It works with Bugzilla 3.7.3 and newer only, due to a change in the backend code.
> Then I tried editing the product, got the same error - Not an ARRAY reference
> at Bugzilla/Object.pm line 267. Also got the same error when trying to open a
> new bug against the new product.
Wow. So what's so different between your installation and mine? What's your output of checksetup.pl?
Updated•14 years ago
|
Attachment #464423 -
Attachment description: script to create one product with 1000 components, milestones and versions → script for Bugzilla 3.7.3 and 4.1 to create one product with 1000 components, milestones and versions
Comment 29•14 years ago
|
||
Here is the same script, but which works with Bugzilla 3.6 - 3.6.2.
Attachment #366706 -
Attachment is obsolete: true
Comment 30•14 years ago
|
||
(In reply to comment #28)
> (In reply to comment #27)
> > I ran your script against my 3.6.1 installation to create the new product, but
> > the versions creation errored out, so I ended up with a new product with 999
> > components, but only 1 version and 1 milestone.
>
> Ah yes, sorry, that's because my patch was written against Bugzilla 4.1. It
> works with Bugzilla 3.7.3 and newer only, due to a change in the backend code.
>
>
> > Then I tried editing the product, got the same error - Not an ARRAY reference
> > at Bugzilla/Object.pm line 267. Also got the same error when trying to open a
> > new bug against the new product.
>
> Wow. So what's so different between your installation and mine? What's your
> output of checksetup.pl?
Here's the output you requested:
[root@agate bugzilla-3.6.1]# ./checksetup.pl
* This is Bugzilla 3.6.1 on perl 5.8.8
* Running on Linux 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:12 EDT 2008
Checking perl modules...
Checking for CGI.pm (v3.21) ok: found v3.49
Checking for Digest-SHA (any) ok: found v5.48
Checking for TimeDate (v2.21) ok: found v2.24
Checking for DateTime (v0.28) ok: found v0.61
Checking for DateTime-TimeZone (v0.71) ok: found v1.19
Checking for DBI (v1.41) ok: found v1.52
Checking for Template-Toolkit (v2.22) ok: found v2.22
Checking for Email-Send (v2.00) ok: found v2.198
Checking for Email-MIME (v1.861) ok: found v1.903
Checking for Email-MIME-Encodings (v1.313) ok: found v1.313
Checking for Email-MIME-Modifier (v1.442) ok: found v1.903
Checking for URI (any) ok: found v1.35
Checking available perl DBD modules...
Checking for DBD-Pg (v1.45) ok: found v1.49
Checking for DBD-mysql (v4.00) ok: found v4.016
Checking for DBD-Oracle (v1.19) not found
The following Perl modules are optional:
Checking for GD (v1.20) ok: found v2.45
Checking for Chart (v2.1) ok: found v2.4.1
Checking for Template-GD (any) ok: found v1.56
Checking for GDTextUtil (any) ok: found v0.86
Checking for GDGraph (any) ok: found v1.44
Checking for XML-Twig (any) ok: found v3.35
Checking for MIME-tools (v5.406) ok: found v5.428
Checking for libwww-perl (any) ok: found v2.033
Checking for PatchReader (v0.9.4) ok: found v0.9.5
Checking for perl-ldap (any) ok: found v0.4001
Checking for Authen-SASL (any) ok: found v2.15
Checking for RadiusPerl (any) not found
Checking for SOAP-Lite (v0.710.06) ok: found v0.712
Checking for JSON-RPC (any) not found
Checking for Test-Taint (any) ok: found v1.04
Checking for HTML-Parser (v3.40) ok: found v3.55
Checking for HTML-Scrubber (any) ok: found v0.08
Checking for Email-MIME-Attachment-Stripper (any) ok: found v1.316
Checking for Email-Reply (any) ok: found v1.202
Checking for TheSchwartz (any) ok: found v1.10
Checking for Daemon-Generic (any) ok: found v0.71
Checking for mod_perl (v1.999022) ok: found v2.000002
***********************************************************************
* OPTIONAL MODULES *
***********************************************************************
* Certain Perl modules are not required by Bugzilla, but by *
* installing the latest version you gain access to additional *
* features. *
* *
* The optional modules you do not have installed are listed below, *
* with the name of the feature they enable. Below that table are the *
* commands to install each module. *
***********************************************************************
* MODULE NAME * ENABLES FEATURE(S) *
***********************************************************************
* RadiusPerl * RADIUS Authentication *
* JSON-RPC * JSON-RPC Interface *
***********************************************************************
COMMANDS TO INSTALL OPTIONAL MODULES:
RadiusPerl: /usr/bin/perl install-module.pl Authen::Radius
JSON-RPC: /usr/bin/perl install-module.pl JSON::RPC
To attempt an automatic install of every required and optional module
with one command, do:
/usr/bin/perl install-module.pl --all
Reading ./localconfig...
Checking for DBD-mysql (v4.00) ok: found v4.016
Checking for MySQL (v4.1.2) ok: found v5.1.48
Comment 31•14 years ago
|
||
We have the same DBD::mysql version, and I use MySQL 5.1.46, which shouldn't matter. But I use DBI 1.613, while you use an old DBI 1.52. Could you run:
./install-module.pl DBI
and see if it fixes your problem?
(I also run Perl 5.10.1 and 5.12.1, while you run 5.8.8, but I hope that's not the reason of the problem.)
Comment 32•14 years ago
|
||
I installed DBI 1.53, and this didn't help. I still cannot reproduce.
Comment 33•14 years ago
|
||
Perhaps it's related to mysql configuration. Attach (as an attachment, not as a comment) the output of the following MySQL command:
SHOW VARIABLES;
Comment 34•14 years ago
|
||
Vanilla Fedora Core 9 + updates and using mysql seems to repro it every time for me.
Comment 35•14 years ago
|
||
Here is the show variables output.
I also updated the DBI module to v1.613, but the problem persists.
Comment 37•14 years ago
|
||
1. Reinstalled latest version of DBI
2. Reinstalled latest version of DBD::mysql
The problem disappeared
Comment 38•14 years ago
|
||
Peter, what were your DBI and DBD::mysql versions before the upgrade (the ones which triggered the problem)?
Comment 39•14 years ago
|
||
This was a standard Ubuntu Server 8.04 with the packages installed via apt-get.
libdbd-mysql-perl 4.005-1
libdbi-perl 1.601-1
Comment 40•14 years ago
|
||
Hmm. Okay. And did you reinstall them via apt-get, or did you re-install them using install-module.pl?
Comment 41•14 years ago
|
||
Through cpan
Comment 42•14 years ago
|
||
Decreasing severity. There are no clear steps to reproduce the problem in 100% of cases, and this only affects products with many (500+) milestones or versions, or users being in many (500+) groups, per the duplicates. Those are not so common cases.
This doesn't mean we won't fix the problem once we can clearly identify what's really going on.
Severity: major → normal
Keywords: qawanted
You need to log in
before you can comment on or make changes to this bug.
Description
•