I have did a debug on the following code segment of Conference Service
Class,
public List<RoomType> getRoomTypes(String SID) {
Long users_id = sessiondataDao.checkSession(SID);
Long user_level = userManager.getUserLevelByID(users_id);
if (authLevelUtil.checkUserLevel(user_level)) {
User user = userManager.getUserById(users_id);
return roomManager.getAllRoomTypes(user.getLanguage_id());
}
return null;
}
When a OM registered user or OM unregistered user clicks on the "click here
to enter room" link, this code executes two times,
For the fist time,
user_id is -1 and user_level is 1, user=null
For the second time,
user_id is 0 and user_level is -1, authLevelUtil.checkUserLevel(user_level)
is false
Both time for the particular session no user is found. Is there a error in
session persisting logic?
Thanks!
On Thu, Apr 18, 2013 at 3:35 PM, Andun Sameera <[email protected]> wrote:
> OK Maxim, Will have a look.
>
>
> On Thu, Apr 18, 2013 at 3:33 PM, Maxim Solodovnik <[email protected]>wrote:
>
>> Just put breakpoint into this method and take a look what is going on ...
>> Currently we just ignoring these errors, but i believe the code should be
>> corrected
>>
>>
>> On Thu, Apr 18, 2013 at 5:01 PM, Andun Sameera <[email protected]>
>> wrote:
>>
>> > Hi Maxim,
>> >
>> > Is there any particular instruction or methods to investigate about
>> this ?
>> > I will look in to this.
>> >
>> > Thanks!
>> >
>> > On Thu, Apr 18, 2013 at 2:54 PM, Maxim Solodovnik <[email protected]
>> > >wrote:
>> >
>> > > This need to be investigated ...
>> > > maybe additional check is necessary like userId/level is not null ...
>> > >
>> > >
>> > > On Sun, Apr 14, 2013 at 3:22 AM, Andun Sameera <[email protected]>
>> > wrote:
>> > >
>> > > > Hi All,
>> > > >
>> > > > The getRoomTypes method of autoloaderBarOnly, calls the
>> > > > getRoomTypes(String SID) method of ConferenceService class. There it
>> > > > tries to fetch user id form the session suing the backend db like
>> > > > this,
>> > > >
>> > > > Long users_id = sessiondataDao.checkSession(SID);
>> > > >
>> > > > That is the point where this fails. As I understood there have to
>> be a
>> > > > entry in the back end db related to the invitation and the
>> > > > user(Internal/External).
>> > > >
>> > > > Some instructions or corrections will be needed to proceed.
>> > > >
>> > > > Thanks!
>> > > >
>> > > > On Thu, Apr 11, 2013 at 4:40 PM, Andun Sameera <[email protected]>
>> > > wrote:
>> > > > > Hi All,
>> > > > >
>> > > > > Just now noticed that when a person click on the link "Click here
>> to
>> > > > > enter room", following exceptions are logged in the server
>> console.
>> > > > >
>> > > > > [ERROR] [NioProcessor-2] org.red5.server.service.ServiceInvoker -
>> > > > > Error executing call: Service: conferenceservice Method:
>> getRoomTypes
>> > > > > Num Params: 1 0: e1ed5f812af1a913fcb55a58d5793864
>> > > > > java.lang.reflect.InvocationTargetException: null
>> > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > > ~[na:1.7.0_17]
>> > > > > at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:196)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:115)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:164)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > > org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:409)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:132)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:170)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmpe.RTMPEIoFilter.messageReceived(RTMPEIoFilter.java:130)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>> > > > > [mina-core-2.0.7.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> > > > > [na:1.7.0_17]
>> > > > > at
>> > > >
>> > >
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> > > > > [na:1.7.0_17]
>> > > > > at java.lang.Thread.run(Thread.java:722) [na:1.7.0_17]
>> > > > > Caused by: java.lang.NullPointerException: null
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.openmeetings.remote.ConferenceService.getRoomTypes(ConferenceService.java:416)
>> > > > > ~[openmeetings-3.0.0-SNAPSHOT.jar:na]
>> > > > > ... 35 common frames omitted
>> > > > >
>> > > > > And also this,
>> > > > >
>> > > > >
>> > > > > ERROR 04-11 16:36:08.544 UserService.java 114998 156
>> > > > > org.apache.openmeetings.remote.UserService
>> [Red5_Scheduler_Worker-1]
>> > -
>> > > > > [getUserSelf]
>> > > > > java.lang.NullPointerException: null
>> > > > > at
>> > > >
>> > >
>> >
>> org.apache.openmeetings.remote.UserService.getUserSelf(UserService.java:152)
>> > > > > ~[openmeetings-3.0.0-SNAPSHOT.jar:na]
>> > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > Method)
>> > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> > >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> > > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> > >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> > > > > ~[na:1.7.0_17]
>> > > > > at java.lang.reflect.Method.invoke(Method.java:601)
>> > > > ~[na:1.7.0_17]
>> > > > > at
>> > > >
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:196)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.java:115)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.java:164)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > > org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.java:409)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHandler.java:132)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmpt.RTMPTHandler.messageReceived(RTMPTHandler.java:124)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.net.rtmpt.RTMPTConnection$ProcessJob.execute(RTMPTConnection.java:253)
>> > > > > [red5-server.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.red5.server.scheduling.QuartzSchedulingServiceJob.execute(QuartzSchedulingServiceJob.java:56)
>> > > > > [red5-server.jar:na]
>> > > > > at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>> > > > [quartz-2.1.6.jar:na]
>> > > > > at
>> > > >
>> > >
>> >
>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
>> > > > > [quartz-2.1.6.jar:na]
>> > > > >
>> > > > >
>> > > > > Is this functionality broken ? Shall I come with a Jira?
>> > > > > Thanks
>> > > > > AndunSLG
>> > > > >
>> > > > >
>> > > > > On Thu, Apr 11, 2013 at 1:26 AM, Andun Sameera <
>> [email protected]>
>> > > > wrote:
>> > > > >> Hi All,
>> > > > >>
>> > > > >> To check what is going on, I have gone through code where it
>> starts
>> > > > >> with
>> > > >
>> > >
>> >
>> singlewebapp/WebContent/src/base/hibernate/hibRtmpConnection.getInvitationByHash
>> > > > >> method and until showing the the dash board. In that I have
>> noticed
>> > > > >> that following code segment of the
>> > > > >>
>> > >
>> singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx
>> > > > >> handles the login mechanism of the process.
>> > > > >>
>> > > > >> <method name="login">
>> > > > >> this.userlang = Number(this.languages.getValue());
>> > > > >>
>> this.labellanguages.setAttribute('visibility','hidden');
>> > > > >> this.languages.setAttribute('visibility','hidden');
>> > > > >> this.connect.setAttribute('visibility','hidden');
>> > > > >>
>> this.labelloading.setAttribute('visibility','visible');
>> > > > >>
>> > > > >> parent.userlang = Number(this.userlang);
>> > > > >>
>> > > > >> var userObject = new Array();
>> > > > >>
>> > > > >>
>> > > >
>> > >
>> >
>> canvas.setAttribute('currentuser',canvas.thishib.currentInvitation.invitedEMail);
>> > > > >> canvas.setAttribute('user_id',-1);
>> > > > >> canvas.setAttribute('firstName',"");
>> > > > >>
>> > > >
>> > >
>> >
>> canvas.setAttribute('lastName',canvas.thishib.currentInvitation.invitedEMail);
>> > > > >> canvas.setAttribute('mail',canvas.mail);
>> > > > >> canvas.setAttribute('lastLogin','');
>> > > > >> canvas.setAttribute('official_code','');
>> > > > >> canvas.setAttribute('picture_uri','');
>> > > > >> canvas.setAttribute('language','');
>> > > > >>
>> > > > >> userObject["login"] =
>> > > > canvas.thishib.currentInvitation.invitedEMail;
>> > > > >> userObject["firstname"] = "";
>> > > > >> userObject["lastname"] =
>> > > > >> canvas.thishib.currentInvitation.invitedEMail;
>> > > > >> userObject["adresses"] = new Array();
>> > > > >> //userObject["adresses"]["emails"] = new Array();
>> > > > >> userObject["adresses"]["email"] =
>> > > > >> canvas.thishib.currentInvitation.invitedEMail;
>> > > > >> //userObject["adresses"]["emails"][0]["mail"] = new
>> > > Array();
>> > > > >>
>> //userObject["adresses"]["emails"][0]["mail"]["email"] =
>> > > > >> canvas.thishib.currentInvitation.invitedEMail;
>> > > > >>
>> > > > >> hib.userobject = userObject;
>> > > > >>
>> > > > >> hib.userlang = Number(this.userlang);
>> > > > >> canvas.thishib.loaderVar = new
>> > > lz.autoloaderBarOnly(canvas);
>> > > > >> canvas.thishib.loaderVar.setProgress();
>> > > > >> this.close();
>> > > > >>
>> canvas.thishib.loaderVar.getLanguageByIdAndMax.doCall();
>> > > > >> </method>
>> > > > >>
>> > > > >> Parallel to this I have checked
>> > > > >> /singlewebapp/WebContent/src/base/auth/checkLoginData.lzx to find
>> > the
>> > > > >> login process of given user name name and password. There I found
>> > that
>> > > > >> after submitting correct user name and password, the method
>> > > > >> xmlcrm.loginUser return a user object which have all the details
>> of
>> > > > >> user. That object is assigned to hib.userobject as follows.
>> > > > >>
>> > > > >> hib.userobject = value;
>> > > > >>
>> > > > >> So that means in the above code of invitationQuickLoader,
>> > > > >> hib.userobject = userObject; have to do the same thing.
>> > > > >>
>> > > > >> But I found that on the way of showing the dashboard, in the
>> > > > >>
>> > > >
>> > >
>> >
>> /singlewebapp/WebContent/src/modules/invitation/autoloaderBarOnly.getRoomTypes
>> > > > >> method it fails to get room type. Debug log shows that
>> getRoomTypes
>> > :
>> > > > >> null. That means when we logged with invitation hash it cant get
>> > these
>> > > > >> room details.
>> > > > >>
>> > > > >> Thanks!
>> > > > >>
>> > > > >> On Thu, Apr 11, 2013 at 12:02 AM, Andun Sameera <
>> [email protected]
>> > >
>> > > > wrote:
>> > > > >>> Hi All,
>> > > > >>>
>> > > > >>> I am investigating following issue at [1]. In that process I
>> > > > >>> encountered following problem. I have scheduled some meetings
>> using
>> > > > >>> following methods,
>> > > > >>>
>> > > > >>> - Clicking on the calender date to create a meeting and sending
>> an
>> > > > >>> invitation to registered OM users /external people via iCal
>> > > > >>> - Clicking on the calender date to create a meeting and sending
>> an
>> > > > >>> invitation to registered OM users /external people via simple
>> mail
>> > > > >>> - Composing a mail with Book Conference room option and sending
>> > that
>> > > > >>> mail to registered OM users /external people.
>> > > > >>>
>> > > > >>> In each of these situations people will get a mail with link
>> "Click
>> > > > >>> here to enter room". When I click those links it redirects to a
>> > > > >>> dashboard and not to the room. This happens to the registered OM
>> > > users
>> > > > >>> as well as unregistered people. Also when I looked at the
>> profile
>> > of
>> > > > >>> that page I found all details are empty for both registered
>> users
>> > > case
>> > > > >>> and external user case.
>> > > > >>>
>> > > > >>> But with the registered user's case. When we logged in those
>> > meeting
>> > > > >>> rooms are displayed. So why this want work with clicking the
>> link
>> > in
>> > > > >>> email? Did something wrong with my configuration or setup ?
>> Also I
>> > am
>> > > > >>> checking on
>> > > >
>> > singlewebapp/WebContent/src/modules/invitation/invitationQuickLoader.lzx
>> > > > >>> to find a reason.
>> > > > >>>
>> > > > >>> [1] - https://issues.apache.org/jira/browse/OPENMEETINGS-481
>> > > > >>>
>> > > > >>> Thanks!
>> > > > >>> --
>> > > > >>> Regards
>> > > > >>> Andun S.L. Gunawardana
>> > > > >>> Undergraduate
>> > > > >>> Department of Computer Science And Engineering
>> > > > >>> University of Moratuwa
>> > > > >>> Sri Lanka
>> > > > >>>
>> > > > >>> Blog - http://www.insightforfuture.blogspot.com/
>> > > > >>> LinkedIn -
>> > > > http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> > > > >>> Twitter -http://twitter.com/AndunSLG
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> --
>> > > > >> Regards
>> > > > >> Andun S.L. Gunawardana
>> > > > >> Undergraduate
>> > > > >> Department of Computer Science And Engineering
>> > > > >> University of Moratuwa
>> > > > >> Sri Lanka
>> > > > >>
>> > > > >> Blog - http://www.insightforfuture.blogspot.com/
>> > > > >> LinkedIn -
>> > > http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> > > > >> Twitter -http://twitter.com/AndunSLG
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > Regards
>> > > > > Andun S.L. Gunawardana
>> > > > > Undergraduate
>> > > > > Department of Computer Science And Engineering
>> > > > > University of Moratuwa
>> > > > > Sri Lanka
>> > > > >
>> > > > > Blog - http://www.insightforfuture.blogspot.com/
>> > > > > LinkedIn -
>> > > http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> > > > > Twitter -http://twitter.com/AndunSLG
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > Regards
>> > > > Andun S.L. Gunawardana
>> > > > Undergraduate
>> > > > Department of Computer Science And Engineering
>> > > > University of Moratuwa
>> > > > Sri Lanka
>> > > >
>> > > > Blog - http://www.insightforfuture.blogspot.com/
>> > > > LinkedIn -
>> > http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> > > > Twitter -http://twitter.com/AndunSLG
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > WBR
>> > > Maxim aka solomax
>> > >
>> >
>> >
>> >
>> > --
>> > Regards
>> > Andun S.L. Gunawardana
>> > Undergraduate
>> > Department of Computer Science And Engineering
>> > University of Moratuwa
>> > Sri Lanka
>> >
>> > Blog - http://www.insightforfuture.blogspot.com/
>> > LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
>> > Twitter -http://twitter.com/AndunSLG
>> >
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> Regards
> Andun S.L. Gunawardana
> Undergraduate
> Department of Computer Science And Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog - http://www.insightforfuture.blogspot.com/
> LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
> Twitter -http://twitter.com/AndunSLG
>
>
>
>
>
--
Regards
Andun S.L. Gunawardana
Undergraduate
Department of Computer Science And Engineering
University of Moratuwa
Sri Lanka
Blog - http://www.insightforfuture.blogspot.com/
LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703
Twitter -http://twitter.com/AndunSLG