createMeeting api results in java NullPointerException if the welcomeMessage parameter is not specified

50 views
Skip to first unread message

Yi Qiao

unread,
Apr 7, 2013, 3:29:47 PM4/7/13
to bigblueb...@googlegroups.com
Hi

  Just found out that if the api "create" is called without specifying the "message" parameter, a NullPointerException will be thrown despite that "message" is marked as optional in the documentation. I searched both the issue queue and this group, and it doesn't seem that anyone has reported it yet

  This is validated with a fresh ubuntu 10.04 + bbb 0.80 install running in virtualbox 4.2.10 Mac.

Here is the error message:

Grails Runtime Exception

Error Details

Message:
Caused by: java.lang.NullPointerException
Class: ApiController
At Line: [150]
Code Snippet:

Stack Trace

org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NullPointerException
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:384)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:183)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.NullPointerException
at java.util.regex.Matcher.appendReplacement(Matcher.java:712)
at java.util.regex.Matcher.replaceAll(Matcher.java:823)
at java.lang.String.replaceAll(String.java:2201)
at org.bigbluebutton.api.ParamsProcessorUtil.substituteKeywords(ParamsProcessorUtil.java:54)
at org.bigbluebutton.api.ParamsProcessorUtil.processCreateParams(ParamsProcessorUtil.java:258)
at org.bigbluebutton.web.controllers.ApiController$_closure2.doCall(ApiController.groovy:150)
at org.bigbluebutton.web.controllers.ApiController$_closure2.doCall(ApiController.groovy)
... 32 more




  Hope the information helps ;)

Best wishes
Yi

Gustavo Salazar

unread,
Apr 7, 2013, 8:39:42 PM4/7/13
to bigblueb...@googlegroups.com
Hi, 

I guess you refer to the "welcome" parameter. If you don't pass it in the create api call, you will still get the response, because it is optional. Try it out with the Omar Shammas api buddy,  the api call works without setting the "welcome" parameter.

The problem is related to the method that receives the parameters you are passing in the create api call.

In your server:

-Can you use the demo  without problems?

- Have you made any change to your server?

-How are you generating the url of the create api call? Try creating the url for your server with the api buddy and check out if you still get the problem. 






2013/4/7 Yi Qiao <atru...@gmail.com>

Yi

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.
To post to this group, send email to bigblueb...@googlegroups.com.
Visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Gustavo Salazar (Guga)

Yi Qiao

unread,
Apr 9, 2013, 7:01:01 PM4/9/13
to bigblueb...@googlegroups.com
Hi Guga

  Thanks for the reply. The server is a pristine ubuntu 10.04 + stock BBB 0.80 install. I tried the api buddy, and it worked file. But further inspection revealed that the "name" parameter is part of the url generated by api buddy, even if you don't specify anything in the name string. So I tried it with my own url generator (which is written in php), and whenever I drop the name= part of the url, the server returns error. If I include name= as part of the url, even if I omit the "message" parameter, meets are still created. E.g. the following url returned error

http://bbb.vbnet.local/bigbluebutton/api/create?meetingID=test3&attendeePW=ap&moderatorPW=mp&maxParticipants=100&checksum=b22ba1ddb1e78ee7a7832c1e41a4b1a3a371fcd9

But the next url, which only has an extra &name=, successfully created the meeting
http://bbb.vbnet.local/bigbluebutton/api/create?meetingID=test2&name=&attendeePW=ap&moderatorPW=mp&maxParticipants=100&checksum=01c58eb54ee4bea1a90fc7f773da8adc870be443

Thanks
Yi

Yi Qiao

unread,
Apr 9, 2013, 7:02:10 PM4/9/13
to bigblueb...@googlegroups.com
sorry when I said "message" I meant "welcome'..... always got them confused

markos calderon

unread,
Apr 10, 2013, 12:44:49 PM4/10/13
to bigblueb...@googlegroups.com
Hi Yi Qiao,

Yes, this is a known issue that has been fixed for the next release 0.81-beta, see:

HTH

 - Markos

- Markos
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BigBlueButton Developer
http://about.me/markoscalderon
"A programmer is just a tool which converts caffeine into code"

Yi Qiao

unread,
Apr 10, 2013, 3:17:20 PM4/10/13
to bigblueb...@googlegroups.com
Ah. ok... sorry for the noise then ;)

Interestingly I looked back at my original problem. And it seems that the lacking of "name=" can be rescued by providing an "welcome=" instead. This is probably related to the same issue tho.

Thanks~
Yi

markos calderon

unread,
Apr 10, 2013, 3:24:27 PM4/10/13
to bigblueb...@googlegroups.com
Hi Yi,

no worries... in fact, it's really healthy for BigBlueButton that people report possible bugs... :)

The only required field for create a meeting is "meetingID", all the others should be optional... if you find anything strange or that is not according to the documentation, please don't hesitate in reporting in that way we can fixed...

Thanks, Markos


Reply all
Reply to author
Forward
0 new messages