Liferay Issues

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Test Sessions Access more options
    • Getting Started
PUBLIC - Liferay Portal Community Edition
  • PUBLIC - Liferay Portal Community Edition
  • LPS-25521

unable to upload plugin

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: No Longer Reproducible
  • Affects Version/s: 6.1.0 CE GA1
  • Fix Version/s: --Sprint 11/12, 6.2.0 CE M2
  • Component/s: Administration, Administration > Server > Plugin Installer
  • Labels:
    None
  • Environment:
    windows 7 x64 with jdk 1.7u2 and glassfish 3.1.2 b22
  • Technical Documentation Required:
    Needs Documentation
  • Similar Issues:
    Show 5 results 

    LPS-25899Unable to Upload Documents
    LPS-24679Jonas - Unable to hot deploy plugins
    LPS-22950Jonas - Unable to deploy the CAS Web plugin
    LPS-20062WSRP - Unable to build the plugin portlet
    LPS-16100Unable to upload a document to the document library

Description

upon using the plugin upload facility to upload a portlet war file, user is presented with the attached error display.

no visible content in the log files regarding the cause of the error.

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. liferay1.png
    54 kB
    13/Feb/12 1:10 PM

Issue Links

is related to

Regression Bug - Used by Liferay QA to indicate an issue discovered during regression testing LPS-25647 Plugins cannot be installed via Plugin Installer

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.
relates

Regression Bug - Used by Liferay QA to indicate an issue discovered during regression testing LPS-27978 User is unable to add attachments

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions Summary
  • Commits
Hide
Permalink
peter belbin added a comment - 13/Feb/12 1:12 PM

James (JHF) was able to reproduce the issue with his Glassfish 3.1.1 environment, but indicated that he saw some log file content, but, I do not believe it was very indicative of the cause of the error.

note: Copying the same .war file to the liferay deploy directory results in the portlet being deployed successfully.

Show
peter belbin added a comment - 13/Feb/12 1:12 PM James (JHF) was able to reproduce the issue with his Glassfish 3.1.1 environment, but indicated that he saw some log file content, but, I do not believe it was very indicative of the cause of the error. note: Copying the same .war file to the liferay deploy directory results in the portlet being deployed successfully.
Hide
Permalink
peter belbin added a comment - 19/Feb/12 9:17 PM

looking into this further, in InstallPluginAction.java:269 which (as of 6.1GA1) has:

fileName = GetterUtil.getString(uploadPortletRequest.getFileName(
"file"));

even though the file name was given on the web page, the value is retrieved as being an empty string.

so, now the question is: why is 'file' not being populated??

Show
peter belbin added a comment - 19/Feb/12 9:17 PM looking into this further, in InstallPluginAction.java:269 which (as of 6.1GA1) has: fileName = GetterUtil.getString(uploadPortletRequest.getFileName( "file")); even though the file name was given on the web page, the value is retrieved as being an empty string. so, now the question is: why is 'file' not being populated??
Hide
Permalink
peter belbin added a comment - 21/Feb/12 10:33 PM

digging a little bit further, and I'm seeing in UploadServletRequestImpl.UploadServletRequestImpl(HttpServletRequest) that after having had the request parsed by the ServletFileUpload (from apache commons) that it has not seen any files as being there to document as being part of the request.

this is the piece of code (around line 92 of the 6.1GA1 version of the source) that actually adds / populates the _params collection with the LiferayFileItems collection.

I'm wondering if the issue is not on the server side of this issue, but on the side that pushes the request to the servlet. ie: the browser based code is not constructing the request properly?

Show
peter belbin added a comment - 21/Feb/12 10:33 PM digging a little bit further, and I'm seeing in UploadServletRequestImpl.UploadServletRequestImpl(HttpServletRequest) that after having had the request parsed by the ServletFileUpload (from apache commons) that it has not seen any files as being there to document as being part of the request. this is the piece of code (around line 92 of the 6.1GA1 version of the source) that actually adds / populates the _params collection with the LiferayFileItems collection. I'm wondering if the issue is not on the server side of this issue, but on the side that pushes the request to the servlet. ie: the browser based code is not constructing the request properly?
Hide
Permalink
Sharry Shi added a comment - 23/Feb/12 7:36 PM

Hi Peter,

Thanks for the report. I tried to reproduce this issue on Liferay Portal 6.1.0 GA1 as well as our trunk head but could not. Here are the steps I tried:

1. Control Panel -> Plugins Installation ->Install More Portlets.
2. Upload a war file in Plugin Installer.

I got the successful upload information.

Please ensure you have a fresh environment with no other issues that may interfere with the bug. If you still experience this issue, please let me know how to reproduce the issue and we can re-visit it. If I cannot reproduce this issue, it cannot be fixed. Thanks!

Show
Sharry Shi added a comment - 23/Feb/12 7:36 PM Hi Peter, Thanks for the report. I tried to reproduce this issue on Liferay Portal 6.1.0 GA1 as well as our trunk head but could not. Here are the steps I tried: 1. Control Panel -> Plugins Installation ->Install More Portlets. 2. Upload a war file in Plugin Installer. I got the successful upload information. Please ensure you have a fresh environment with no other issues that may interfere with the bug. If you still experience this issue, please let me know how to reproduce the issue and we can re-visit it. If I cannot reproduce this issue, it cannot be fixed. Thanks!
Hide
Permalink
peter belbin added a comment - 23/Feb/12 9:50 PM

For more information on how to reproduce it, Please talk to James Falkner, as he was able to reproduce the issue on a VM environment he had for other reasons.

and: what app/web server environment did you use? I am using Glassfish 3.1.2. I believe James might be using Glassfish 3.1.1.

Show
peter belbin added a comment - 23/Feb/12 9:50 PM For more information on how to reproduce it, Please talk to James Falkner, as he was able to reproduce the issue on a VM environment he had for other reasons. and: what app/web server environment did you use? I am using Glassfish 3.1.2. I believe James might be using Glassfish 3.1.1.
Hide
Permalink
Sharry Shi added a comment - 23/Feb/12 10:56 PM

Hi,Peter
I have my another workmate test this, she also was unable to reproduce it using Glassfish 3.1.1.

Show
Sharry Shi added a comment - 23/Feb/12 10:56 PM Hi,Peter I have my another workmate test this, she also was unable to reproduce it using Glassfish 3.1.1.
Hide
Permalink
peter belbin added a comment - 24/Feb/12 7:04 AM

did you actually talk with James? even though your workmate may have demonstrated it working, James was able to demonstrate it not working.

also: I am using glassfish, but, not using one of your bundles. I manually followed the instructions on adding Liferay to an existing instance. I wonder if there are steps that are missing from the instructions that could be contributing to this issue?

note: since the patches from your organization have already been incorporated into the glassfish code, with glassfish 3.1.2, there is no need to do the manual updates of the glassfish jars. however, I do notice that in glassfish/modules, there is a commons-codec jar that is present in the pre-built package which is not in the normal glassfish download - so I am a bit suspicious that there may be some instructions missing on what is needed to properly add liferay to glassfish.

Show
peter belbin added a comment - 24/Feb/12 7:04 AM did you actually talk with James? even though your workmate may have demonstrated it working, James was able to demonstrate it not working. also: I am using glassfish, but, not using one of your bundles. I manually followed the instructions on adding Liferay to an existing instance. I wonder if there are steps that are missing from the instructions that could be contributing to this issue? note: since the patches from your organization have already been incorporated into the glassfish code, with glassfish 3.1.2, there is no need to do the manual updates of the glassfish jars. however, I do notice that in glassfish/modules, there is a commons-codec jar that is present in the pre-built package which is not in the normal glassfish download - so I am a bit suspicious that there may be some instructions missing on what is needed to properly add liferay to glassfish.
Hide
Permalink
Eric Tiongson added a comment - 05/Mar/12 5:06 AM

I am encountering the same error that was reported. Additionally, I cannot also upload files using Document and Media.

Platform: Mac OS X Lion (latest update)
App Server: Glassfish v3.1.2 (opensource, full profile version)

Steps to reproduce (using Documents and Media):
1. downloaded and installed this - http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2-unix-ml.sh
2. copied the 3 jars in liferay dependencies (hsql.jar, portlet.jar, portal-service.jar) into <glassfish-dir>/glassfish/lib
3. adjusted a few JVM parameters (nothing major, just -Xmx and permSize)
4. restarted the server
5. using glassfish's admin console - deployed liferay-portal-6.1.0-ce-ga1-20120106155615760.war), changed context root to "/"
6. after deployment, I used the default values from Liferay's Basic Configuration screen (hsql, test@liferay.com, etc)
7. logged in, went into Control Panel -> Documents and Media
8. Tried to upload a document (Basic Document) <- Error! (Documents and Media is temporarily unavailable)

I only encounter the plugin and documents and media error when using Glassfish 3.1.2, with Glassfish 3.1.1 it works fine.

Show
Eric Tiongson added a comment - 05/Mar/12 5:06 AM I am encountering the same error that was reported. Additionally, I cannot also upload files using Document and Media. Platform: Mac OS X Lion (latest update) App Server: Glassfish v3.1.2 (opensource, full profile version) Steps to reproduce (using Documents and Media): 1. downloaded and installed this - http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2-unix-ml.sh 2. copied the 3 jars in liferay dependencies (hsql.jar, portlet.jar, portal-service.jar) into <glassfish-dir>/glassfish/lib 3. adjusted a few JVM parameters (nothing major, just -Xmx and permSize) 4. restarted the server 5. using glassfish's admin console - deployed liferay-portal-6.1.0-ce-ga1-20120106155615760.war), changed context root to "/" 6. after deployment, I used the default values from Liferay's Basic Configuration screen (hsql, test@liferay.com, etc) 7. logged in, went into Control Panel -> Documents and Media 8. Tried to upload a document (Basic Document) <- Error! (Documents and Media is temporarily unavailable) I only encounter the plugin and documents and media error when using Glassfish 3.1.2, with Glassfish 3.1.1 it works fine.
Hide
Permalink
James Falkner added a comment - 06/Mar/12 2:35 PM

I have successfully reproduced this using GlassFish 3.1.2. After attaching to a debugger, it appears that the content stream has already been read, parsed, and closed by the time Liferay code gets to the point of parsing the multipart form data.

This is a result of the GlassFish Bugfix:
http://java.net/jira/browse/GLASSFISH-16740

And has been noticed by others, such as Magnolia CMS:
http://java.net/jira/browse/GLASSFISH-18444

I believe that the right fix is for GlassFish to respect annotations for servlets prepared to use the getParts()/getPart() API (which Liferay is not).

As a workaround it is possible for Liferay to try to use getPart()/getParts() first, and if unsucessful, revert to the existing method of parsing multipart form data.

IN any case this totally breaks Liferay's ability to upload files (e.g. to the Document Library, or uploading plugins to deploy, anything that uses the UploadServlet).

Show
James Falkner added a comment - 06/Mar/12 2:35 PM I have successfully reproduced this using GlassFish 3.1.2. After attaching to a debugger, it appears that the content stream has already been read, parsed, and closed by the time Liferay code gets to the point of parsing the multipart form data. This is a result of the GlassFish Bugfix: http://java.net/jira/browse/GLASSFISH-16740 And has been noticed by others, such as Magnolia CMS: http://java.net/jira/browse/GLASSFISH-18444 I believe that the right fix is for GlassFish to respect annotations for servlets prepared to use the getParts()/getPart() API (which Liferay is not). As a workaround it is possible for Liferay to try to use getPart()/getParts() first, and if unsucessful, revert to the existing method of parsing multipart form data. IN any case this totally breaks Liferay's ability to upload files (e.g. to the Document Library, or uploading plugins to deploy, anything that uses the UploadServlet).
Hide
Permalink
James Falkner added a comment - 10/Mar/12 6:09 AM

Confirmed that this has been fixed in GlassFish, presumably to show up in GlassFish 3.1.3, and the next nightly build.

There is also a fixed binary (web-core.jar) attached to the associated GlassFish bug that one can use, if they wish to use Liferay with GlassFish 3.1.2.

Assigning this to me for any future follow-up issues.

Show
James Falkner added a comment - 10/Mar/12 6:09 AM Confirmed that this has been fixed in GlassFish, presumably to show up in GlassFish 3.1.3, and the next nightly build. There is also a fixed binary (web-core.jar) attached to the associated GlassFish bug that one can use, if they wish to use Liferay with GlassFish 3.1.2. Assigning this to me for any future follow-up issues.
Hide
Permalink
Michael Saechang added a comment - 12/Mar/12 10:24 AM

This issue looks related to LPS-25647.

Show
Michael Saechang added a comment - 12/Mar/12 10:24 AM This issue looks related to LPS-25647 .
Hide
Permalink
Edward Gonzales added a comment - 19/Apr/13 5:20 PM

Hello everyone! We are in the process of removing component "Portlet" from LPS. Please replace this issue's component, "Portlet", with a new component. There are over 200+ components, in the newly organized component list. Also, make the necessary adjustments to affected filters. Thanks!

Show
Edward Gonzales added a comment - 19/Apr/13 5:20 PM Hello everyone! We are in the process of removing component "Portlet" from LPS. Please replace this issue's component, "Portlet", with a new component. There are over 200+ components, in the newly organized component list. Also, make the necessary adjustments to affected filters. Thanks!

People

  • Assignee:
    James Falkner
    Reporter:
    peter belbin
    Participants of an Issue:
    Edward Gonzales, Eric Tiongson, James Falkner, Michael Saechang, peter belbin, Sharry Shi
Vote (0)
Watch (4)

Dates

  • Created:
    13/Feb/12 1:10 PM
    Updated:
    03/May/13 9:25 PM
    Resolved:
    12/Mar/12 10:25 AM
    Days since last comment:
    4 weeks, 2 days ago

Agile

  • View on Board
  • Atlassian JIRA (v5.2.11#854-sha1:ef00d61)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Liferay. Try JIRA - bug tracking software for your team.