2008-12-04: Obsolete?

Test session with Mac OS X client:

/raid/tera3/WikiSpeech/100784210/VO10078421010105_01.wav

is corrupted; premature end of file
2008-12-19:
Hopefully fixed: the temporary files of the subsequent uploads had the same name. It is likely that this caused the problem. Fixed by using an upload id which is created (incremental counter) on the server and sent to the client.   



The AudioPlayerApplet hangs in a loop (It is likely that read returns always zero and not -1 (EOF))
 
Logging is stopped on user quit.


2009-04-08: Obsolete (jflac 1.5.2 seems to be therad safe, since Java 9 we cannot use AudioSystemWrapper anymore) 
jflac-1.2 is not thread safe:

Test Class call:
java -Xbootclasspath/a:../../WebContent/WEB-INF/lib/jflac-1.2.jar ipsk.webapps.audio.DecoderMultiThreadingTest ~klausj/TMP/100793494/ 500 > ~klausj/TMP/jflacTestout_linux10.txt

Fixed: now using ipsk.webapps.audio.AudioSystemWrapper


2016-04-29: Fixed 2016-06-16

No warning if a section which is already in use by another script is added to a script.
The other script will loose this section !! script(n)->section(1)  

Same with section -> promptitem relationship:
The Recordings.jsp uses this WHERE clause for selection of a Recording to add to section: 
 WHERE  ( (o.section IS NULL) OR (o.section <> :persistenceboolexprconverter_1) )
 
But what we need is only Recordings where o.section IS NULL. Only unbound recordings (respectively sections) should be added.

Fixed in Webservice utils: Only show "unbound" entities for ManyToOne and OneTone relationships.


2016-05-20 Obsolete
Storage error: Exception: Exception: class "com.wavpack.encode.WavpackConfig" does not match trust level of other classes in the same package
Passiert aber nur im Debug mode.
Verschiedene Erklaerungen hier:
http://stackoverflow.com/questions/10905790/java-7u4-webstart-security-exception-class-does-not-match-trust-level

WSP-0001 2016-01-11 deprecated (JavaWebStart Speechrecorder related)
"Canceling of upload at end of recording session causes sometimes an error"
See: Java Utils: Bug Id: JU-00001

WSP-0002 2019-02-22 closed
"Distinguished names of LDAP accounts were handled case sensitive but they should not"
For example, if a LDAP User logs in the first time with 'Klaus.Jaensch' DN (uid=Klaus.Jaensch,ou=People...) an Account entry with
login: uid=Klaus.Jaensch,ou=People... is created. If the user uses klaus.jaensch the next time another entry with login:  uid=klaus.jaensch,ou=People...
is created. The same user could have multiple account entries.
Solution: Always convert distinguished names to lower case before they are persisted.
 
WSP-0003 2019-03-27 closed
"Import of recording scripts with a leading BOM did not work"
The HTTP input stream of the upoaded script was wrapped by a reader. Java readers do not support BOMs (see links below). The document builder could not parse the reader stream.
Links:
https://en.wikipedia.org/wiki/Byte_order_mark
https://stackoverflow.com/questions/4897876/reading-utf-8-bom-marker
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4508058


WSP-0004 2019-03-28 closed fixed
"Sessions list in project admin view shows only sessions of selected project".
Bug or feature? The other lists always show entities of all associated projects. So it is a bug.

WSP-0006 2019-03-28 closed
"E-Mail address of organisation forms is not validated."

WSP-0007 2019-03-29 closed
"Project view organisation invitation dialog: The organisation ID should not be editable."

WSP-0009 2019-03-29 fixed 1.2.0
"Wrong relationships of speaker informed consent. If speaker does recordings for multiple projects only the informed consent of the first project is requested."

WSP-0010 2019-04-25 fixed 1.2.1
"Not able to start an additional session of an existing speaker with organisation role."

WSP-0015 2019-04-26 fixed 1.5.0
"Boolean values are not localized in lists"

WSP-0019 2019-05-02 closed 1.3.3
"Project admin project edit: Owning scripts link shows scripts of all projects."

WSP-0021 2019-05-02 closed 1.3.3
"Project admin should not be required to select a project to view his project list."

WSP-0022 2019-08-07 closed 1.12.0
"Error deleting normal session recorded by organisation."
 The session is deleted but it seems not to be removed from the organisation sessions property.
 catalina.out:
 java.lang.IllegalArgumentException: java.lang.ClassCastException@3ad50899
        at jdk.internal.reflect.GeneratedMethodAccessor1337.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at ipsk.webapps.BasicPersistenceBeanController.deleteRelated(BasicPersistenceBeanController.java:523)
        at ipsk.webapps.BasicPersistenceBeanController.processRequest(BasicPersistenceBeanController.java:2390)
        at ipsk.webapps.BasicPersistenceBeanController.processRequest(BasicPersistenceBeanController.java:2090)
        at ipsk.webapps.BasicPersistenceBeanController.process(BasicPersistenceBeanController.java:2074)
        at ipsk.webapps.ControllerDispatcherServlet.service(ControllerDispatcherServlet.java:218)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    Fixed with WAL-0001 2019-08-07 closed 0.36.0
    "Error deleting related objects"

WSP-0023 2019-08-07 closed 1.12.0
"Deleting a session without deleting the speaker did not remove the session from the speakers sessions collection"
   Fixed with WAL-0002 2019-08-07 closed 0.36.0
   "Deleting objects did not remove the object from owning many-to-many related collections."
   
WSP-0025 2019-11-25 closed 1.18.6
"A REST API call to the list of recording files of a session with parameter latestVersionsOnly=true returns an empty result for new sessions"
If latestVersionsOnly=true the set of recording files of recording entities are used to build the list of latest recording files.
It looks like that these sets are not in sync and do not contain the files of sessions which are added after the last refresh of the JPA cache.
In the REST API POST method for new recording files (and the old recording servlet) the recording entity is set to the recording file, but the recording file is not added to the recordings set of recording files.
The problem might exists since we changed to JPA caching.       

WSP-0026 2020-03-17 closed 1.32.4
"Imported project script not available to other accounts."
Project admin creates new project, imports script, but script is not visible to other accounts (admin and invited subject).
Subject is not able to make recordings. Session form blocks without available script.

WSP-0027 2020-03-17 closed 1.32.4
"Informed consent is not requested."
Project admin creates new project without speaker form, invites speaker and the speaker can make recordings without confirmation of informed consent.

WSP-0028 2020-03-17 closed 1.32.6
"Project admin does not see personal user accounts in database list"

WSP-0029 2020-03-19 closed 1.32.8
"LDAP user gets exception on welcome screen"

Caused by merge mistake in ips.speechdb. The Getter/Setter of baseDN property of Organisation class were commented out. 
Log file:
ipsk.webapps.ControllerException: java.lang.reflect.InvocationTargetException
        at ipsk.jsp.taglib.ControllerProcessTag.doStartTag(ControllerProcessTag.java:116)
        at org.apache.jsp.login.welcome_jsp._jspx_meth_ips_005fctrl_005fprocess_005f2(welcome_jsp.java:5447)
        at org.apache.jsp.login.welcome_jsp._jspService(welcome_jsp.java:633)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        
        ...
         
        Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Problem compiling [SELECT orga FROM Organisation orga WHERE orga.baseDN IS NOT NULL AND LOCATE(orga.baseDN,'uid=pouplier,ou=People,dc=phonetik,dc=uni-muenchen,dc=de') = (LENGTH('uid=pouplier,ou=People,dc=phonetik,dc=uni-muenchen,dc=de') - LENGTH(orga.baseDN) +1 )].
[41, 52] The state field path 'orga.baseDN' cannot be resolved to a valid type.
[76, 87] The state field path 'orga.baseDN' cannot be resolved to a valid type.
[227, 238] The state field path 'orga.baseDN' cannot be resolved to a valid type.
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1751)
        at ipsk.webapps.db.speech.AccountController.getOrCreateInetOrgPerson(AccountController.java:504)
        at ipsk.webapps.db.speech.AccountController.login(AccountController.java:346)
        ... 48 more
Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.7.6.v20200131-b7c997804f): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Problem compiling [SELECT orga FROM Organisation orga WHERE orga.baseDN IS NOT NULL AND LOCATE(orga.baseDN,'uid=pouplier,ou=People,dc=phonetik,dc=uni-muenchen,dc=de') = (LENGTH('uid=pouplier,ou=People,dc=phonetik,dc=uni-muenchen,dc=de') - LENGTH(orga.baseDN) +1 )].
[41, 52] The state field path 'orga.baseDN' cannot be resolved to a valid type.
[76, 87] The state field path 'orga.baseDN' cannot be resolved to a valid type.
[227, 238] The state field path 'orga.baseDN' cannot be resolved to a valid type.
        at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:157)
        at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:349)
        at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:280)
        at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:165)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:118)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:104)
        at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:88)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1749)
        ... 50 more
        

WSP-0030 2020-03-20 closed ips.speechdb 1.69.6, wikispeech 1.32.10
"Script cannot be deleted because it shows a related session. But this session is already deleted."

Likely another caching/relationships problem. Script classes and Session class are cachable and the deletion of the session does not refresh the related objects."


WSP-0031 2020-03-20 closed 1.33.3
"Concurrent requests for pseudonymized recordings get stuck in Google Chrome"

Chrome uses its 6 connections to download the first files and then gets stuck. We used streaming of the audio files in class
PseudonymizedPublicRecordingfileResource. The problem might be caused either by the missing Content-length header or JAX-RS does not close the stream properly.
Fix: Use the recording file directly as response and set the Content-length header.

WSP-0032 2020-04-02 closed 2.0.0-SNAPSHOT
"Project admin project edit page: Add/remove active scripts select page shows all scripts the project admin owns. It should show only the scripts owned by the project."

WSP-0025 2020-04-08 closed 2.0.0-SNAPSHOT
"Very slow loading of projects list."

WSP-0033 2020-04-19 closed  2.?.?
"Project admin deleting user account gets permission denied exception."

WSP-0034 2020-05-04 closed 2.2.2
"Disabling of broad consent does not work for invited speakers."

WSP-0035 2020-05-05 closed 2.4.3
"When a project admin deletes an organisation the associated account is not deleted and invisible/unreachable for the project admin."

WSP-0036 2020-05-18 2.7.1 closed 2.7.2  
"Project admin trying to delete a script if no project is selected causes NPE."

Caused by: java.lang.NullPointerException
        at ipsk.webapps.db.speech.script.ScriptController.deleteScriptCompletely(ScriptController.java:372)

WSP-0037 2020-05-18 2.7.1 closed 2.7.2
"Project admin reports error trying to delete active script containing formatted prompts."

FEHLER: Aktualisieren oder Löschen in Tabelle »fmt_prompt_doc_element« verletzt Fremdschlüssel-Constraint »fk_fmt_prompt_body_element_id« von Tabelle »fmt_prompt_body_element« Detail: Auf Schlüssel (id)=(101386905) wird noch aus Tabelle »fmt_prompt_body_element« verwiesen. Error Code: 0 Call: DELETE FROM fmt_prompt_doc_element WHERE (id = ?) bind => [101386905] 

WSP-0039 2020-06-04 closed 2.8.0
"Wrong session status when WebSpeehRecorder is restarted on a session."

WSP-0040 2020-07-02 closed 2.13.0  2020-07-06
"Recording file edit selection does not take browser sample rate conversion in account."
 
 Related to IPS-LMU/WebSpeechRecorderNg bug ID (GitHub) "Selection start and end frame positions may refer to wrong samplerate" #21
 
WSP-0041 2020-07-21 closed 2.13.2
"If no project is selected and a project admin tries to download a script from the script view WikiSpeech requests project selection which should not be necessary."   

WSP-0042 2020-07-22 closed 2.13.2
"Script export servlet does not check permissions for the script to download."

WSP-0044 2020-08-11 
"Project admin does not see (invited) speakers with personal accounts."

WSP-0043 2020-08-11 fixed 2.15.1-SNAPSHOT 2020-09-06
"Project admin does not see user accounts which have no associated speaker or organization, but are members of the project."

WSP-0044 2020-09-08 fixed 2.16.0 2020-09-10
"Privacy: E-mail address is stored to person when a subject is invited per E-Mail. Speaker/person data should be anonymous after removing the account."

WSP-0045 2020-09-17 fixed 2.16.3
"Added column in speakers list of project admin view appears right to the actions column. The actions column should always the last column."

WSP-0046 2020-10-21 fixed 2.17.1-SNAPSHOT (WAL-0003 2020-10-21 fixed 0.59.5)
"Submitting a selection for remove and maybe other actions in table views result in invalid request."
The table view does not provide a secure token to prevent CSRF.

WSP-0047 2020-10-21 fixed 2.17.1-SNAPSHOT (WAL-0004 2020-10-21 fixed 0.59.5)
"Forward/redirect requests using ControllerDispatchServlet are rejected due to invalid secure request token"

WSP-0048 2020-10-21 fixed 2.17.1 (fixed with ips.speechdb 2.29.2)
"Password reset request does not work anymore."
The method contactEmail() does not use new email property of the account class.

WSP-0049 2020-10-21 fixed 2.18.1
"Additional research purpose and informed consent localized texts lists in project admin view showed texts of all projects."
The JSP files did not use the processMethod attribute to use the controller method to show only texts of the current edited project.

WSP-0050 2020-12-14 fixed 2.19.2-SNAPSHOT
"Errors on maintenance mode pages."

WSP-0051 2020-12-15
"Error page trying to assign project own speaker form as project admin."

Error disappears on re-login. JPA Cache problem?

15-Dec-2020 10:33:16.632 SCHWERWIEGEND [https-openssl-nio-443-exec-239] org.apache.catalina.core.ApplicationContext.log jsp: JSP Page Error:
 java.lang.NullPointerException
        at ipsk.jsp.taglib.beans.table.BeanTableTag.getColHeader(BeanTableTag.java:147)
        at ipsk.jsp.taglib.beans.table.BeanTableTag.printHeader(BeanTableTag.java:190)
        at ipsk.jsp.taglib.beans.table.BeanTableTag.doAfterBody(BeanTableTag.java:377)
        at org.apache.jsp.prjdb.project.form.ProjectSpeakerForms_jsp._jspx_meth_ips_005fbtable_005f0(ProjectSpeakerForms_jsp.java:5267)
        at org.apache.jsp.prjdb.project.form.ProjectSpeakerForms_jsp._jspx_meth_ips_005fctrl_005fprocess_005f1(ProjectSpeakerForms_jsp.java:5210)
        at org.apache.jsp.prjdb.project.form.ProjectSpeakerForms_jsp._jspService(ProjectSpeakerForms_jsp.java:652)

colName=='_formtype'
and then
btc==null

The pages ProjectForms.jsp and ProjectSpeakerForms.jsp used the same controller variable pfrmsDb.
When ProjectForms.jsp was used before ProjectSpeakerForms.jsp the displayColumns variable contained _formtype which is not used in ProjectSpeakerForms.jsp and causes the NPE.

WSP-0053
"Forgot username link: When the E-Mail address is entered with characters with different case as stored in the database no E-Mail is sent. But E-Mail addresses are case-insensitive."

WSP-0055
"Script import as admin causes HTTP Status 404 – Not Found"

WSP-0056
"Reset password request does not work for case insensitive user names when the given user name is not equal to the stored one."

WSP-0058 2021-11-26 fixed 2.30.4
"Access denied on invitations list of project admin."
The page uses the same method as for admins, but project admins have only access to the invitations of their projects. 

WSP-0059 2021-12-01 fixed 2.30.8
"On delete of the last session of a speaker the speaker data was not deleted."
Disabled checkbox inputs get not posted. Use a separate hidden input to delete the related speaker. 

WSP-0060 2021-12-01 fixed 2021-12-07 2.31.1
"Project admins project list suddenly appears empty. It reappears after re-login."
Likely a condition is set on the project controller by a projects lists request from a related entity.
Steps to reproduce: Import script, view this script, view projects of scripts (sets condition projects of this script to project controller), delete this script, list projects. 

WSP-0061
"Link to import script on admin project page does not work."

WSP-0062
"Deletion of a recording file only deletes the database entry, not the audio file."

WSP-0064
"Deletion of a session only deletes the database entry, not the audio files and storage directory."

WSP-0063
"E-Mail invitations with E-Mail addresses containing an personal name part are used as this as user name. User names should not contain the personal name."

WSP-0064
"Deleting a recording session as administrator removes the associated speaker even if is the speaker data of an subject account."

WSP-0065 2022-01-20 fixed 2022-01-20 2.32.3-SNAPSHOT
"When user role is added/removed the returned page shows the same state as when it was used before."
If a condition was set on the user role list controller the controller is not reset to show the full list.

WSP-0066 IPS-LMU/WebSpeechRecorderNg issue #31 2022-02-10 Fixed 2022-02-10 2.33.5 
"Canceling out of a recording file edit selection does not work."
The edit selection is not canceled and the orange button appears over and over again.

WSP-0067 2022-02-14 Fixed 2022-02-14 2.34.3-SNAPSHOT 
"Permission denied viewing a recording script as project-admin if script is in application scope and not in the set of activated scripts."

WSP-0068 2022-02-28 Fixed 2022-03-07 2.35.3
"In the recording file view the navigation is sometimes disabled."

WSP-0069 2022-03-06 Fixed 2022-03-07 2.35.3
"In the recording file view the versions are not shown anymore."
Maybe related to WSP-0068

WSP-0070 2022-03-24 Fixed 2022-03-24 2.35.9-SNAPSHOT
"Password reset request email was always sent in german."
40.
WSP-0071 2022-05-09 Fixed 2022-05-13 2.38.3
"Problems with an project admin account whose login name ends with blank."

WSP-0072 2022-05-27 Fixed 2022-05-27 2.40.1
"WAV files have extension .unknown. (Bug likely introduced with version 2.39/2.40)"

WSP-0075 2022-08-30 Fixed 2022-08-30 2.42.0-SNAPSHOT (ips.speechdb 2.44.2-SNAPSHOT)
"Metadata properties of imported recording script where stored to the database but not connected to the metadata and therefore the script. The script appears to have no properties then."

WSP-0076 2022-08-30 Fixed 2022-08-30 2.42.0-SNAPSHOT (ips.speechdb 2.44.2-SNAPSHOT)
"Script view download creates invalid recording script with empty metadata element if recording script was imported before bug fix WSP-0075."

WSP-0077 2023-03-14 Fixed 2023-03-14 2.46.0-SNAPSHOT (ips.speechdb 2.46.1)
"JPA/SQl Error when trying to delete a project with research purpose set in an additional language."
Evaluation: The JPA Cascade.REMOVE is not set on this property in the Project class. 

WSP-0079 2024-04-03 Fixed: 2024-04-03 2.57.0-SNAPSHOT
"Link to accounts of organizations of projects did not work for application admin."

WSP-0081 (WAL-0007) 2024-08-21 fixed 2.60.0-SNAPSHOT,2024-08-22
"Query does not handle the characters '_' and '%' (the SQL wildcard characters in LIKE expressions) correctly."

WSP-0082 2025-01-16 Fixed: 2.63.4
"NPE on server prevented upload of recordings for all projects that do not use a speaker code."
Evaluation: 
java.lang.NullPointerException
                at ipsk.io.FilenameValidator.validateUnixFileNameCharacters(FilenameValidator.java:102)
                at ipsk.io.FilenameValidator.validatePlatformFileNameCharacters(FilenameValidator.java:140)
                at ipsk.webapps.db.speech.ws.BasicRecordingfileResource.speakerCodeValid(BasicRecordingfileResource.java:122)
                at ipsk.webapps.db.speech.ws.SessionRecfileResource.postRecfileChunk(SessionRecfileResource.java:861)
                at ipsk.webapps.db.speech.ws.SessionRecfileResource.postSprRecfileChunk(SessionRecfileResource.java:630)
 