## Installation

### Problem using the library

by Douglas Brown -
Number of replies: 48
Today I installed 2.7 on an Ubuntu server running 12.04.2. All went well - I was able to create the admin class and a test course. However, I cannot add problems to a homework set. The library opens, I can steer to a set of desired problems, view them, attempt them and edit them but when I click "add" nothing happens. No error messages are generated. What am I missing?

Thanks - Doug
In reply to Douglas Brown

### Re: Problem using the library

by Arnold Pizer -
Hi Doug,

Have you checked the target set to make sure they are not being added?  I ask because maybe they are being added but it looks like nothing is happening because the message "(in target set)" is not getting displayed. In the bar above a problem on the left you should see "Add   Path ..." (clicking on ... gives the path) and on the left possibly a msg "(in target set)" and icons for Randomizing, Viewing, Editing and Hiding the problem.  At least on some hardware when running this on VMware Player and not adding the recommended additions to improve video performance, etc for WMware, these messages and icons were not displayed. But when I checked the set, the problems had been added.  Trying this again on the same hardware with VMware Player, but this time installing the recommended tools when prompted, all messages and icons are displayed.  Not sure if your problem is at all related.

Note that something else may be going on.  See the post in the main forum, http://webwork.maa.org/moodle/mod/forum/discuss.php?d=3019

Arnie

In reply to Arnold Pizer

### Re: Problem using the library

by Douglas Brown -
Thanks for the reply, Arnie. I had looked at the set and no problems were there. Checking my apache error log this morning, I am getting the same message as Marc, so the hunt continues.

Thanks again,
Doug
In reply to Douglas Brown

### Re: Problem using the library

by John Jones -
My first guess is that this is an authentication problem.  For people who are having difficulties, does your configuration use an authentication method other than the regular webwork login?  (I.e., do you use a module in the webwork2/lib/WeBWorK/Authen directory?

John

In reply to John Jones

### Re: Problem using the library

by Douglas Brown -
When I first encountered the problem I was not using any module in the Authen directory. I have since enabled LDAP and the problem is still there. In all cases I am acting as admin.

Thanks,
Doug
In reply to Douglas Brown

### Re: Problem using the library

by Arnold Pizer -
Hi Doug,

I'm running WeBWorK 2.7 on Ubuntu 12.04.2 and don't see your bug so there must be something subtle going on.  If you have a virtual machine environment available (e.g. VMware, VirtualBox) maybe you can use the WeBWorK virtual machine image (http://webwork.maa.org/wiki/Installing_from_WW2.7_Ubuntu12.04_Vanilla_Virtual_Machine_Image) and tell us what is different between your installation and the virtual machine one.  The virtual machine image was built following the instructions http://webwork.maa.org/wiki/Installation_Manual_for_2.7_on_Ubuntu_12.04 . Do you know how your installation may differ?

Arnie

In reply to Douglas Brown

### Re: Problem using the library

by John Jones -
Just to check two other things for clues:
1. Since you can get to problems, I take it that when picking a Subject and Chapter in the library browser (when looking at the NPL), the Chapter (resp. Section) menus update themselves automatically?
2. If you open the javascript console in your browser, clicking "View Problems" should clear the console.  Then when you click "Add" should add one entry to the console labelled "Object".  Does it appear?  If you open it (there should be a little triangle) and then open result_data, you should get a list of paths to files in the current set.  Do you get this?
John
In reply to John Jones

### Re: Problem using the library

by Douglas Brown -
Thanks for your help John and Arnie. I will look into the virtual image later. Following up on John's ideas:

1. When I select a Subject, the Chapter menu will not update unless I hit "Advanced Search" and after a chapter selection the Section menu will not update until I hit "Update Menus."

2. When I select a problem, the Java console returns:

SyntaxError: JSON.parse: unexpected character @ https://math.catawba.edu/webwork2_files/js/jquery-1.7.1.min.js:2

Along the way there were a number of other errors reported, all seem to have to do with formatting issues, though everything appears fine on-screen.

This installation was done using Jason Aubry's install script (I had done one according to the manual at the wiki and ran into some database issues at the end - had the same ones at the end of running the script which turned out to be some password conflicts). This is on a virtual server on the main IT server at Catawba. I ran the script on a desktop at home earlier in the summer and this issue is not present there.

Doug
In reply to Douglas Brown

### Re: Problem using the library

by John Jones -
OK, I think we are making progress.

First, there is a configuration option to have the old library browser 1.  If you get sufficiently frustrated, you can switch to that (in localOverrides.conf, uncomment the line with librarybrowsernojs).  At worst, you go back to tried and true version of the library browser.

Next, a quick explanation as to what is happening.  The new library browser 1 does some things with javascript/ajax.  This means things can happen without redrawing the whole web page (something which can be particularly slow with the library browser if it means rendering 10-20 webwork problems).

The fact that the menus are not updating means that this is failing, and it is usually a general breakdown in javascript communicating with the server.

In the error message I see a url starting with https.  Is server_root_url set to match https (it is set in site.conf)?

John

In reply to John Jones

### Re: Problem using the library

by Marc BUFFAT -
Hi Jones,
using the librarybrowser2, I can add new problem from the library using the following localOverrides.conf

# librarybrowsernojs => 1,
librarybrowser1 => 1,
librarybrowser2 => 1,
# librarybrowser3 => 1,

with librarybrowser1, the add button does not work and I get php error log
Furthermore with librarybrowser2, I get an instantaneous list of subject, whereas I add to click to "view problem" to get the list (which is very slow)

Thus with librarybrowser2 enable, I have a workaround solution

Regards
Marc
In reply to John Jones

### Re: Problem using the library

by Douglas Brown -
John,

Thanks for the information. I may well bail out, but the problem is intriguing - server_root_url is indeed set to match the https address

Doug
In reply to John Jones

by Danny Glin -
I am getting similar issues with my system upgraded from 2.6 to 2.7 (running on CentOS 5.9).  I've tried switching back to basic authentication, and verified that $server_root_url is set correctly. Library Browser 2 isn't rendering math in jsMath or MathJax, so for now I'm reverting to librarybrowsernojs. I'm probably not going to have time to troubleshoot this further before the term starts. Since this may be related to versions of perl packages, my next step is likely to try again on CentOS 6 (which also cures the perl 5.8.8 incompatibilities with WW2.7). Danny In reply to Danny Glin ### Re: Problem using the library by Michael Gage - The most stable library at the moment is librarybrowser (no number) -- library browser 2 and 3 are still more proof of concept. librarybrowser (or rather the webservice it depends on) does have some issues with authentication in some instances. (And the error reporting in these cases is not helpful -- it often simply reports that some bad character is being detected in the response). In reply to John Jones ### Re: Problem using the library by Michael Gage - I'm not able to duplicate this problem on my machines (I'm using 3 or 4). I'm using the latest version of the master branch (which is 2.7) and is quite stable. I just want to recommend that everyone update to that to make sure that we are tracking down problems in the same code. cd webwork2 git branch should show master branch starred git pull origin should bring you up to date. Do the same with pg. Then restart the server. In reply to Michael Gage ### Re: Problem using the library by Douglas Brown - This process shows that all is up to date. The problem is also browser and machine independent (at least on the 2 I have at home). Doug In reply to Michael Gage ### Re: Problem using the library by Marc BUFFAT - I confirm, I am using the latest version of the master branch only Library Browser v2 is working the two other v1 and v3 does not I am running the latest 64bits Ubuntu 12.04 with php 5.3.4 and perl 5.14.2 Marc In reply to Douglas Brown ### Re: Problem using the library by Louis Zulli - Our IT folks recently installed the latest WeBWorK (2.7 from master on GitHub) software on a development server running Ubuntu 10.04.1 LTS. The system has seemed slow to respond in general, but in particular, it takes more than a minute for "(in target set)" to appear the first time the Add button is clicked. Subsequent clicks yield faster response time. Does clicking the Add button actually work for you, but very, very slowly? By the way, I set up an analogous WeBWorK system on my iMac at home (running OS X 10.6) and have no problem using Library Browser to add problems to a set. Here is some version info for the Ubuntu system: Server version: Apache/2.2.14 (Ubuntu) Server built: Sep 28 2010 12:53:28 Server's Module Magic Number: 20051115:23 Server loaded: APR 1.3.8, APR-Util 1.3.9 Compiled using: APR 1.3.8, APR-Util 1.3.9 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="" -D SUEXEC_BIN="/usr/lib/apache2/suexec" -D DEFAULT_PIDLOG="/var/run/apache2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf" mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1 This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi In reply to Louis Zulli ### Re: Problem using the library by Arnold Pizer - Hi all, Those of you who are having trouble with the Library Browser, what MySQL database engine are you using? Look at http://webwork.maa.org/wiki/Installation_Manual_for_2.7_on_Ubuntu_12.04#MySQL_Security_and_Performance_Issuses, specifically Now we change MySQL's default engine. The default engine is InnoDB as of MySQL 5.5.5 (MyISAM before 5.5.5) but (at least on some hardware) InnoDB seems to be 50-100 times slower than MyISAM. So we will change the default MySQL engine from InnoDB to MyISAM. Note that this change only applies to new tables, tables already constructed will continue to use InnoDB. But we haven't created any WeBWorK tables so we don't have to change the engine for any existing tables. Do the following In reply to Louis Zulli ### Re: Problem using the library by John Jones - Hi, I can partly understand the cases where "Add" is not working. I think it stems from an authentication failure, although it is difficult to debug without direct access to the machine (since I can't replicate the bug). I may put more diagnostics put in the javascript console to help sort this out (they would be hidden from general view but can be used to help diagnose problems). I can't think of a cause for the slow-then-faster behavior (assuming identical circumstances -- roughly the same number of problems being displayed and roughly the same sized target set). The number of database calls involved with "Add" is tiny (probably only one), so I don't think mysql differences can account for this (it does make a huge difference in running OPL-update). John In reply to John Jones ### Re: Problem using the library by Danny Glin - Does it make sense to force OPL tables to be MyISAM in the OPL-update script? This wouldn't be hard to do. Simply add ENGINE=MyISAM to each CREATE TABLE statement. I don't know if this would cause problems for people with non-standard database configurations. Danny In reply to Danny Glin ### Re: Problem using the library by John Jones - That sounds like a good idea to me. From 5 minutes of reading up on wikipedia, it looks like myisam is ideal for the OPL database. I don't know much about database engines, but it is possible that innodb (or something else) would be better for other tables. Does anyone know anything about this, or if there is a good reason not to implement Danny's suggestion? John In reply to Douglas Brown ### Re: Problem using the library by Arnold Pizer - Hi, One thing that will cause the "Add" button not to work in the Library Browser is if in the site.conf file (in /opt/webwork/webwork2/conf/),$server_root_url is not configured correctly.  Most other parts of WeBWorK will work, but the  Library Browser will not.

Arnie
In reply to Arnold Pizer

### Re: Problem using the library

by Sarunas Burdulis -
We have the same problem: Add button in "Library Browser" doesn't add problems to a set. ("Library Browser 2" works fine.)

System data:
Ubuntu 12.04.2 LTS x86_64 with latest updates.
WeBWorK 2.7 installed from git and up-to-date:
/opt/webwork/webwork2# git branch
* master
/opt/webwork/webwork2# git pull origin
Already up-to-date.

MySQL default engine is MyISAM, all the current courses have tables in MyISAM.

$PATH= /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /opt/webwork/webwork2/bin /opt/webwork/webwork2/bin mkdir found at /bin/mkdir mv found at /bin/mv mysql found at /usr/bin/mysql tar found at /bin/tar gzip found at /bin/gzip latex found at /usr/bin/latex pdflatex found at /usr/bin/pdflatex dvipng found at /usr/bin/dvipng tth found at /usr/bin/tth giftopnm found at /usr/bin/giftopnm ppmtopgm found at /usr/bin/ppmtopgm pnmtops found at /usr/bin/pnmtops pnmtopng found at /usr/bin/pnmtopng pngtopnm found at /usr/bin/pngtopnm Checking your @INC for modules required by WeBWorK... @INC= /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . Benchmark found and loaded Carp found and loaded CGI found and loaded Data::Dumper found and loaded Data::UUID found and loaded Date::Format found and loaded Date::Parse found and loaded DateTime found and loaded DBD::mysql found and loaded DBI found and loaded Digest::MD5 found and loaded Email::Address found and loaded Errno found and loaded Exception::Class found and loaded File::Copy found and loaded File::Find found and loaded File::Path found and loaded File::Spec found and loaded File::stat found and loaded File::Temp found and loaded GD found and loaded Getopt::Long found and loaded Getopt::Std found and loaded HTML::Entities found and loaded HTML::Scrubber found and loaded HTML::Tagset found and loaded HTML::Template found and loaded IO::File found and loaded Iterator found and loaded Iterator::Util found and loaded JSON found and loaded Locale::Maketext::Lexicon found and loaded Locale::Maketext::Simple found and loaded Mail::Sender found and loaded MIME::Base64 found and loaded Net::IP found and loaded Net::LDAPS found and loaded Net::OAuth found and loaded Net::SMTP found and loaded Opcode found and loaded PadWalker found and loaded PHP::Serialization found and loaded Pod::Usage found and loaded Pod::WSDL found and loaded Safe found and loaded Scalar::Util found and loaded SOAP::Lite found and loaded Socket found and loaded SQL::Abstract found and loaded String::ShellQuote found and loaded Text::CSV found and loaded Text::Wrap found and loaded Tie::IxHash found and loaded Time::HiRes found and loaded Time::Zone found and loaded URI::Escape found and loaded UUID::Tiny found and loaded XML::Parser found and loaded XML::Parser::EasyTree found and loaded XML::Writer found and loaded XMLRPC::Lite found and loaded Apache2::Request found and loaded Apache2::Cookie found and loaded Apache2::ServerRec found and loaded Apache2::ServerUtil found and loaded Courses are either upgraded or created already in current 2.7 version. Here is Apache2 error.log while UNIT_TESTS_ON=1 and clicking "Add" in "Library Browser" (log segment for one click): WebworkClient.pm 149 xmlrpcCall sent to https://webwork.dartmouth.edu/mod_xmlrpc WebworkClient.pm 150 xmlrpcCall issued with command addProblem [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 151 input is: student_id displayMode userpassword fileName mode images recitation userID admin new_set_name new set maxdepth 0 password noprepostambles user admin envir HASH(0x7f56aad3e998) id session_key 63o6UGOnSQnvQOLVtdQujY0ytgIP7NgI email_address library_subjects course m13f13 library_sections permission 0 library_name Library new_password problem_state HASH(0x7f56aad3e968) courseID m13f13 subcommand library_keywords problemSeed 0 source library_textchapter status section last_name library_textsection set test1 command buildtree library_chapters pw extra_packages_to_load ARRAY(0x7f56aad25738) modules_to_evaluate ARRAY(0x7f56aad206d8) path Marsden-Tromba-Weinstein/setMTWCh1S4/problem_1.pg comment library_textbook answer_form_submitted 1 probList first_name WebworkClient.pm 152 xmlrpcCall addProblem initiated webwork webservice object XMLRPC::Lite=HASH(0x7f56aad24ac0) [Fri Aug 02 21:00:50 2013] [error] [client 129.170.28.39] Illegal field name 'APR::Table=HASH(0x7f56a8b60f68)' at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP.pm line 818.\n There were a lot of errors [Fri Aug 02 21:00:50 2013] [error] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Can't call method "result" on an undefined value at /opt/webwork/webwork2/lib/WebworkClient.pm line 165.\n * in WebworkClient::xmlrpcCall called at line 278 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/instructorXMLHandler.pm\n * in WeBWorK::ContentGenerator::instructorXMLHandler::pre_header_initialize called at line 181 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm\n * in WeBWorK::ContentGenerator::go called at line 370 of /opt/webwork/webwork2/lib/WeBWorK.pm, referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 149 xmlrpcCall sent to https://webwork.dartmouth.edu/mod_xmlrpc WebworkClient.pm 150 xmlrpcCall issued with command listSetProblems [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Fri Aug 02 21:00:50 2013] [warn] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 151 input is: student_id displayMode userpassword fileName mode images recitation userID admin new_set_name new set maxdepth 0 password noprepostambles user admin envir HASH(0x7f56aad65510) id session_key 63o6UGOnSQnvQOLVtdQujY0ytgIP7NgI email_address library_subjects course m13f13 library_sections permission 0 library_name Library new_password problem_state HASH(0x7f56aad561b8) courseID m13f13 subcommand true library_keywords problemSeed 0 source library_textchapter status section last_name library_textsection set test1 command buildtree library_chapters pw extra_packages_to_load ARRAY(0x7f56aad3ec20) modules_to_evaluate ARRAY(0x7f56aad4c4d8) comment library_textbook answer_form_submitted 1 probList first_name WebworkClient.pm 152 xmlrpcCall listSetProblems initiated webwork webservice object XMLRPC::Lite=HASH(0x7f56aad63bb0) [Fri Aug 02 21:00:50 2013] [error] [client 129.170.28.39] Illegal field name 'APR::Table=HASH(0x7f56a8b611a8)' at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP.pm line 818.\n There were a lot of errors [Fri Aug 02 21:00:50 2013] [error] [client 65.96.5.255] [/webwork2/instructorXMLHandler] Can't call method "result" on an undefined value at /opt/webwork/webwork2/lib/WebworkClient.pm line 165.\n * in WebworkClient::xmlrpcCall called at line 278 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/instructorXMLHandler.pm\n * in WeBWorK::ContentGenerator::instructorXMLHandler::pre_header_initialize called at line 181 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm\n * in WeBWorK::ContentGenerator::go called at line 370 of /opt/webwork/webwork2/lib/WeBWorK.pm, referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ In reply to Sarunas Burdulis ### Re: Problem using the library by Arnold Pizer - Hi, If you have a virtual machine environment available (VMware, VirtualBox, etc) you might grab the virtual machine image (http://webwork.maa.org/wiki/Installing_from_WW2.7_Ubuntu12.04_Vanilla_Virtual_Machine_Image) and then try to figure out what is different between your set up and the virtual machine set up. Arnie In reply to Arnold Pizer ### Re: Problem using the library by Sarunas Burdulis - FIXED. Thanks for the suggestion! We had much more in /usr/local/lib/perl/ and /usr/local/share/perl/, than in WeBWorK VM. Though WeBWorK 2.7 itself was installed fresh, quite a few Perl modules remained from previous installs, when they still had to be installed from CPAN. Of course /usr/local/ was overriding whatever came from Ubuntu repos. Removed /usr/local/.../perl/, reinstalled only a few modules, that are still needed from CPAN and all is fine now, i.e. "Add" in Library Browser works. In reply to Sarunas Burdulis ### Re: Problem using the library by John Jones - Great. So it sounds like the problem stems from perl module versions. The modules are there (so check_modules says it is ok), but there are probably some module(s) which needed to be updated. Does anyone know if there is a perl-cpan command which says update all modules (for those who use perl's cpan to install modules)? John In reply to John Jones ### Re: Problem using the library by Sarunas Burdulis - Modules from CPAN were at their latest CPAN version. The problem was that some of them needed to be of versions in Ubuntu 12.04.2 instead. I didn't find out which modules in particular. Most likely they were modules related to HTTP/SOAP/XML RPC. This line in Apache error.log prompted at checking what's in /usr/local/share/perl/ vs. /usr/share/perl/" [Mon Aug 05 10:22:22 2013] [error] [client 129.170.28.39] Illegal field name 'APR::Table=HASH(0x7fb40e19b708)' at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP.pm line 818.\n In reply to John Jones ### Re: Problem using the library by Dick Lane - Hi John, CPAN does have an upgrade command. Its report command has a strong relation to that upgrade command. Part 1 of the attached HTML file shows commands to report status of modules used by WeBWorK 2.7 together with quasi-automatic upgrade of those needing that work. Note: the BUG in part 7 was probably due to some not-commented-out lines in database.conf.dist in the initial 2.7 release. dick In reply to Sarunas Burdulis ### Re: Problem using the library by John Jones - This is helpful. I think there were more error message before which are included in this output. I still don't know what is going on, but the "Illegal field name" message seems like it may be at the heart of the problem. It looks like we are not seeing some of the error messages because of an oversight in the code. In webwork2/lib/WebworkClient.pm, near line 160 it says print "Errors: \n$@\n End Errors\n" if $@; whereas I think it should say print STDERR "Errors: \n$@\n End Errors\n" if $@; Then we would be seeing the error messages in the apache error log file. One easy related question (sorry if you have already answered it). Are you using the standard webwork login, or some other authentication module? John In reply to John Jones ### Re: Problem using the library by Sarunas Burdulis - Below is error.log for a single click on "Add" with line 161 changed to output to STDERR (print STDERR "Errors: \n$@\n End Errors\n" if $@;). It outputs an additional error: 500 Internal Server Error at /opt/webwork/webwork2/lib/WebworkClient.pm line 159. Line 159 in is: eval {$result = $requestResult->call(REQUEST_CLASS.'.'.$command, $input) }; ===== error.log ===== WebworkClient.pm 149 xmlrpcCall sent to https://webwork.dartmouth.edu/mod_xmlrpc WebworkClient.pm 150 xmlrpcCall issued with command addProblem [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 151 input is: student_id displayMode userpassword fileName mode images recitation userID admin new_set_name new set maxdepth 0 password noprepostambles user admin envir HASH(0x7fb4101511b0) id session_key SQarat8zzkmJtbIjGx9bJ0j6Fjk4mCbk email_address library_subjects course m13f13 library_sections permission 0 library_name Library new_password problem_state HASH(0x7fb410151180) courseID m13f13 subcommand library_keywords problemSeed 0 source library_textchapter status section last_name library_textsection set test1 command buildtree library_chapters pw extra_packages_to_load ARRAY(0x7fb41013fab8) modules_to_evaluate ARRAY(0x7fb410132ee0) path Marsden-Tromba-Weinstein/setMTWCh1S6/problem_1.pg comment library_textbook answer_form_submitted 1 probList first_name WebworkClient.pm 152 xmlrpcCall addProblem initiated webwork webservice object XMLRPC::Lite=HASH(0x7fb41008aef0) [Mon Aug 05 10:22:22 2013] [error] [client 129.170.28.39] Illegal field name 'APR::Table=HASH(0x7fb40e19b708)' at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP.pm line 818.\n There were a lot of errors Errors: 500 Internal Server Error at /opt/webwork/webwork2/lib/WebworkClient.pm line 159. End Errors [Mon Aug 05 10:22:22 2013] [error] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Can't call method "result" on an undefined value at /opt/webwork/webwork2/lib/WebworkClient.pm line 165.\n * in WebworkClient::xmlrpcCall called at line 278 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/instructorXMLHandler.pm\n * in WeBWorK::ContentGenerator::instructorXMLHandler::pre_header_initialize called at line 181 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm\n * in WeBWorK::ContentGenerator::go called at line 370 of /opt/webwork/webwork2/lib/WeBWorK.pm, referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 149 xmlrpcCall sent to https://webwork.dartmouth.edu/mod_xmlrpc WebworkClient.pm 150 xmlrpcCall issued with command listSetProblems [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ [Mon Aug 05 10:22:22 2013] [warn] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Use of uninitialized value in join or string at /opt/webwork/webwork2/lib/WebworkClient.pm line 151., referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ WebworkClient.pm 151 input is: student_id displayMode userpassword fileName mode images recitation userID admin new_set_name new set maxdepth 0 password noprepostambles user admin envir HASH(0x7fb410179018) id session_key SQarat8zzkmJtbIjGx9bJ0j6Fjk4mCbk email_address library_subjects course m13f13 library_sections permission 0 library_name Library new_password problem_state HASH(0x7fb4101689a8) courseID m13f13 subcommand true library_keywords problemSeed 0 source library_textchapter status section last_name library_textsection set test1 command buildtree library_chapters pw extra_packages_to_load ARRAY(0x7fb410151468) modules_to_evaluate ARRAY(0x7fb410174538) comment library_textbook answer_form_submitted 1 probList first_name WebworkClient.pm 152 xmlrpcCall listSetProblems initiated webwork webservice object XMLRPC::Lite=HASH(0x7fb4101786d0) [Mon Aug 05 10:22:22 2013] [error] [client 129.170.28.39] Illegal field name 'APR::Table=HASH(0x7fb4103e3530)' at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP.pm line 818.\n There were a lot of errors Errors: 500 Internal Server Error at /opt/webwork/webwork2/lib/WebworkClient.pm line 159. End Errors [Mon Aug 05 10:22:22 2013] [error] [client 129.170.28.34] [/webwork2/instructorXMLHandler] Can't call method "result" on an undefined value at /opt/webwork/webwork2/lib/WebworkClient.pm line 165.\n * in WebworkClient::xmlrpcCall called at line 278 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator/instructorXMLHandler.pm\n * in WeBWorK::ContentGenerator::instructorXMLHandler::pre_header_initialize called at line 181 of /opt/webwork/webwork2/lib/WeBWorK/ContentGenerator.pm\n * in WeBWorK::ContentGenerator::go called at line 370 of /opt/webwork/webwork2/lib/WeBWorK.pm, referer: https://webwork.dartmouth.edu/webwork2/m13f13/instructor/setmaker/ In reply to Arnold Pizer ### Re: Problem using the library by D. Brian Walton - Arnie, Thanks for this tip. We are in the process of upgrading a server from 2.5 to 2.7 as well as from the NPL to the OPL. We have a cloned server to debug things while the original is still live. I was testing the Library Browser and had trouble with the popup menus. The$server_root_url was still set to the old server. When I changed this to the cloned server address, things started working again.

For reference, here is the error that was posted in the error.log:

Error message for command:, searchLib,
faultcode:, Client,
faultstring:, Failed to access class (WebworkXMLRPC): Can't locate WebworkXMLRPC.pm in @INC (@INC contains: /opt/webwork/pg/lib /opt/webwork/webwork2/lib /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /etc/apache2) at (eval 1504) line 3.
End error message

Thanks again for the knowledge shared on the forums.

- Brian
In reply to Douglas Brown

### Re: Problem using the library

by Rex Dieter -
I'm seeing similar symptoms with an upgraded 2.5->2.7 instance here.  Given some of the help/feedback already in the thread, I've enabled UNIT_TESTS, and this is what shows in error_log whenever one clicks "Add":

WebworkClient.pm 149 xmlrpcCall sent to https://math-webwork.unl.edu/mod_xmlrpc
WebworkClient.pm 150 xmlrpcCall issued with command listSetProblems
WebworkClient.pm 151 input is: student_id  displayMode  userpassword  fileName  mode images recitation  userID rdieter1 new_set_name new set maxdepth 0 password  noprepostambles  user rdieter1 envir HASH(0x7f2d250dfad8) id  session_key Gw2Jw1wgH8OfmZrgS6T0gmMyIBcwKTGi email_address  library_subjects  course 101 library_sections  permission 0 library_name Library new_password  problem_state HASH(0x7f2d250cd4f0) courseID 101 subcommand true library_keywords  problemSeed 0 source  library_textchapter  status  section  last_name  library_textsection  set foo command buildtree library_chapters  pw  extra_packages_to_load ARRAY(0x7f2d250dfc58) modules_to_evaluate ARRAY(0x7f2d250dfa90) library_textbook  comment  answer_form_submitted 1 probList  first_name
WebworkClient.pm 152 xmlrpcCall listSetProblems initiated webwork webservice object XMLRPC::Lite=HASH(0x7f2d21866bb0)
Error message for command:, listSetProblems,
faultcode:, Server,
faultstring:, Unknown exception when trying to verify authentication. at /home/webwork/webwork2/lib/WebworkWebservice.pm line 223.
End error message

I'm using authen_CAS.conf :
$authen{user_module} = { "*" => "WeBWorK::Authen::CAS", }; here. In reply to Rex Dieter ### Re: Problem using the library by Rex Dieter - I can confirm too,that using librarybrowser2 => 1, seems to help/workaround the problem for me too. In reply to Rex Dieter ### Re: Problem using the library by Michael Gage - This is probably a genuine bug (or at least the lack of an important feature) in WebworkWebservice code. The original version had no authentication method at all -- which was fine as it was only used experimentally for the first three or four years and was safely obscure. When we started using it to power things like the new library interfaces some authentication was needed to make sure that the requests were coming from a someone with some connection to webwork and the course. The authentication mechanism which was added assumes that you are using the basic authentication module. It needs to be rewritten so that authentication of the webservice request can be provided by any of the Authen modules. Try temporarily using just the standard authentication and see if your site works. If so then I'm pretty sure that your problem is with the authentication procedure within the WebworkWebservice block of code. Other problems have been more closely related to the fact that the webservice does not do the best job of error reporting. So the errors that appear (e.g APR::Table = .... ) are the result of trying to interpret an unfiltered error message that was returned instead of the usual return value of the request. Now that we are using it more frequently the WebworkWebservice and related webservices powered by SOAP and JSON need to be rewritten so that they are more robust. In reply to Michael Gage ### Re: Problem using the library by Alexander Basyrov - I've run into a similar issue with the LibraryBrowser and the authentication - that is, when the course does not use basic authentication, the library browser 1 does not seem to work. The following change in the WebworkWebservice code seemed to help: (1) add one line to define the authenClass variable: *** my$authen = $user_authen_module->new($self);
my $authenClass = ref$authen || $authen; my$authz = WeBWorK::Authz->new($self); *** (2) then rewrite the 'authentication' piece to use the$authenClass variable; had to disable strict refs for that.

********************
# now, here's the problem... WeBWorK::Authen looks at $r->params directly, whereas we # need to look at$user and $sent_pw. this is a perfect opportunity for a mixin, i think. my$authenOK;
eval {
no warnings 'redefine';
no strict 'refs';

local *{"${authenClass}::get_credentials"} = \&WebworkXMLRPC::get_credentials; local *{"${authenClass}::maybe_send_cookie"} = \&WebworkXMLRPC::noop;
local *{"${authenClass}::maybe_kill_cookie"} = \&WebworkXMLRPC::noop; local *{"${authenClass}::set_params"} = \&WebworkXMLRPC::noop;
local *{"${authenClass}::write_log_entry"} = \&WebworkXMLRPC::noop; # maybe fix this to log interactions FIXME$authenOK = \$authen->verify;
} or do {
*************************

While this hack makes the library browser work for non-basic authentication modules, is this a good way to fix problem?

-- Alex
In reply to Alexander Basyrov

### Re: Problem using the library

by Hal Sadofsky -

We in Oregon are another victim of the "unable to add problems to a problem set" issue when using external authentication.

We are running WeBWorK 2.8.

This morning we enabled Shibboleth authentication.  Immediately we ran into this problem described of being unable to add problems to a problem set.

We found this thread and after looking unsuccessfully for extraneous perl modules decided to follow this solution that Alex Basyrov came up with (thank you Alex!).  It solves our problem, though I have the same concern about whether this is a good way to solve the problem.

Hal

In reply to Michael Gage

### Re: Problem using the library

by Rex Dieter -
>  Try temporarily using just the standard authentication and see if your site works.

Yes, it seems that is so.
In reply to Michael Gage

### Re: Problem using the library

by Alex Jordan -
Hi Mike, would you mind clearing up what you mean by using the standard authentication? Is there some lines of code to edit somewhere or something in a config file? Also, would it be wise to use Alexander Basyrov's hack to WebworkWebservice?

Are either of these things that I can do and feel good about moving into a large rollout?
In reply to Alex Jordan

### Re: Problem using the library

by Michael Gage -
in this case by standard authentication I meant authentication against the users record in the WeBWorK database.  It is also possible now to check a user's password using LDAP, or various other external authenticators.  But if there are mysterious problems then a useful troubleshooting test would be to see if the same problem is still occurring when you are using authentication against the WeBWorK database.

Since I haven't been using those and WebworkWebservice authentication _might_ not be behaving properly.  This is clearly an important thing to get right before we release 2.8 into world.

In reply to Rex Dieter

### Re: Problem using the library

by Paul Vojta -
Sorry for being so late with this, but you should be able to fix the problem by downloading the current CAS.pm from the "master" branch on github: go to
https://github.com/openwebwork/webwork2/blob/master/lib/WeBWorK/Authen/CAS.pm
and then right-click on "Raw", select "Save link as", and copy it to the right place
(and restart webwork). The relevant parts are lines 37-50. Don't worry -- not much has changed in the authentication code since 2.7.
Sincerely,

Paul Vojta
In reply to Paul Vojta

### Re: Problem using the library

by Hal Sadofsky -

Since we've also been having this problem on our WeBWorK 2.8 installation I went to see if Paul Vojta's solution of replacing CAS.pm would help us.

Naturally it does not for us, as that version of CAS.pm is identical to the one distributed with WeBWorK 2.8.

So there is some different problem with WeBWorK 2.8, Shibboleth authentication, and the library browser.

Hal

In reply to Hal Sadofsky

### Re: Problem using the library

by Paul Vojta -
Another reason that it doesn't work for you is that you're using Shibboleth authentication, which doesn't involve CAS.pm. I suspect that similar changes to Shibboleth.pm may fix your problem, though. Unfortunately, I have no way of testing it here.

(Note that my post was in response to a post by Rex Dieter, who is using CAS.)

Sincerely,

Paul Vojta
In reply to Paul Vojta

### Re: Problem using the library

by Hal Sadofsky -

Good point Paul about Shibboleth vs. CAS.  I guess I don't know how independent the different authentication modules are.

Nevertheless, replacing our Shibboleth.pm with the one from github also doesn't solve our problem, though in this case the modules aren't identical.  And I don't know this well enough to figure out what changes to CAS.pm solved the problem for CAS authentication in order to implement them in Shibboleth.pm.

So at least for now, we still need to use the edits Alex Basyrov suggests to solve our problem.

thanks,  Hal

In reply to Douglas Brown

### Re: Problem using the library

by Alex Jordan -
Following the bit of this thread posted by Sarunas Burdulis and John Jones, and more specifically the perl module upgrade instructions from Dick Lane, my issues here have all been resolved. I thought I would clarify down here at the bottom since that solution is buried in the middle of this long thread. Specifically, in Library Browser 1 I can now do each of the things that I couldn't do before: use the Add problem button, navigate the OPL by subject, and use the rerandomize button.

Notes: While following the upgrade instructions, a few of the perl modules refused to upgrade to the most recent version, but the ones that would not upgrade are apparently not the culprits. I didn't track well enough to figure which one of those ~50 modules is the culprit.

I completed these upgrades in the evening and then checked how the Library Browser was behaving, and I think it was still behaving badly. But it was late, so maybe I didn't check very well. Then in the morning the first thing I did with this was to check again, and all was working. So I'm not sure if a server reboot was needed and happened overnight.
In reply to Douglas Brown

### Re: Problem using the library - My Installation Experience

by Hedley Pinsent -
Seems that I had a problem with site.conf -
using 'localhost' instead of 'http://localhost'

screens are attached - hp