Wrong session request passed |
|
Hi,
When using dbg-2.11.23-src and dbg-cli-2.11.0 I get this error: Wrong session request passed This is the complete log of the session dbg>set mapremoteroot /infocentral/ dbg>set mapremoteroot /opt/church/htdocs/ dbg>set maplocalroot /opt/church/htdocs/ dbg>file /opt/church/htdocs/infocentral/test.php Reading symbols from /opt/church/htdocs/infocentral/test.php...done. dbg>run Program exited. Wrong session request passed Program is not being run. dbg> I know that dbg is accessible via php because when I call phpinfo() I get this: <h2><a name="module_dbg">dbg</a></h2> <table BORDER=1 CELLPADDING=3 CELLSPACING=0 WIDTH=600 BGCOLOR=#33CCFF ALIGN="CENTER"><tr VALIGN='MIDDLE' ALIGN='CENTER'><td><b><a HREF='http://www.nusphere.com/dbg' STYLE='color: #660880;'>DBG php debugger, version 2.11.23, Copyright 2001, 2002, Dmitri Dmitrienko, www.nusphere.com/dbg</a></b></td></tr></table><br> <table border="0" cellpadding="3" width="600"> <tr><td class="e">Version </td><td class="v">2.11.23 </td></tr> <tr><td class="e">Linked </td><td class="v">as a shared library. </td></tr> <tr><td class="e">Profiler </td><td class="v">compiled, enabled </td></tr> </table><br /> <table border="0" cellpadding="3" width="600"> <tr class="h"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr> <tr><td class="e">debugger.enable_session_cookie</td><td class="v">On</td><td class="v">On</td></tr> <tr><td class="e">debugger.enabled</td><td class="v">On</td><td class="v">On</td></tr> <tr><td class="e">debugger.fail_silently</td><td class="v">On</td><td class="v">On</td></tr> <tr><td class="e">debugger.ignore_nops</td><td class="v">Off</td><td class="v">Off</td></tr> <tr><td class="e">debugger.JIT_enabled</td><td class="v">Off</td><td class="v">Off</td></tr> <tr><td class="e">debugger.JIT_host</td><td class="v">clienthost</td><td class="v">clienthost</td></tr> <tr><td class="e">debugger.JIT_level</td><td class="v">3</td><td class="v">3</td></tr> <tr><td class="e">debugger.JIT_port</td><td class="v">7869</td><td class="v">7869</td></tr> <tr><td class="e">debugger.profiler_enabled</td><td class="v">On</td><td class="v">On</td></tr> <tr><td class="e">debugger.session_nocache</td><td class="v">On</td><td class="v">On</td></tr> <tr><td class="e">debugger.timeout_seconds</td><td class="v">300</td><td class="v">300</td></tr> </table><br /> What must be done to get this to work ? Thanks in advance |
||||||||||||
|
Site Admin
|
recompile dbg-2.11.23 with dbg_net.c/dbg_net.h from dbg-cli
|
||||||||||||
|
Site Admin
|
DBGSESSID has a different syntax. Please have a look at FAQ topic in the PHPED forum.
|
||||||||||||
|
|
My mistake. I thought that the apache process would be the listener
but it appears that the client starts a listener then the apache process connects to it. In that case, the problem appears to be entirely with the client. What must be done in order for the cliient to successfully start the listener ? |
||||||||||||
|
Site Admin
|
Listener can be started manually (DbgListener.exe under Windows) or by IDE (e.g. PHPEd).
Should be noted that under Linux, PHPEd runs the listener when you start your debugging code in the IDE. In all cases, if you run your code from inside the IDE it adds DBGSESSID automatically, so you don't need to add it yourself. There are very few cases when you need to add DBGSESSID, for example if you want to start debug session with a page that is resulted from a POST with data entered in browser. |
||||||||||||
|
|
How is it possible to start the listener on linux using dbg-cli ?
|
||||||||||||
|
|
I'm also having the same problem (Wrong session request passed ) with dbg-cli.
everything seems to compile and install fine, php_info checks out. Red Hat 9.0, php 4.3.4 DBG php debugger, version 2.11.0, Copyright 2000, 2003, Dmitri Dm.... ddbg>set mode on dbg>set mapurlroot http://myserver dbg>set mapremoteroot /home/httpd/di/ dbg>set maplocalroot /home/httpd/di dbg>file /home/httpd/di/dbgchk.php Reading symbols from /home/httpd/di/dbgchk.php...done. dbg>run Program exited. Wrong session request passed Program is not being run. The only line in dbgchk.php is <? phpinfo() ?> |
||||||||||||
|
|
I'm also having the same problem. I tossed dbg-cli under gdb, however, and found that the cause is in the routine UrlParse(), specifically that the call to regexec() (a library routine that uses a regular-expression template to split the URL string into its component parts) is returning 1, which means the routine thinks the URL string is not formatted correctly.
However, I got this error return even with the standard-example set of startup commands (with 2 trival modifications):
At this point I'm stuck. Google doesn't point out any obvious gotchas for regexec(), and since it's a glibc routine, I strongly suspect -- and certainly hope -- that the problem is not in the routine itself. I tried updating the machine's glibc package to the very latest build (I already had the latest version), but that didn't change anything. System setup:
dbg-2.11.23 and dbg-cli-2.11.0, both built from source against php-4.3.4 glibc-2.3.2-98, used to be 2.3.2-27.9.7, which is current RH9 version Anyone have any ideas?... |
||||||||||||||
|
Site Admin
|
I know about this problem with regexp and do not know how to solve it.
While everything works _fine_ when compiled using gcc 2.9x, it seg faults when compiled using gcc 3.x As far as I see the problem is in regexp that modifies stack for caller procedure and when it returns it simply crashes. |
||||||||||||
|
|
Do you think you could post a precompiled version somewhere, then? |
||||||||||||||
|
Solution for the problem |
|
I also have RedHat 9 with gcc 3.2.2 and got this problem.
I decided to try building dbg-cli using a portable posix regexp package to see if it would work around it, and chose pcre. Guess what! It turns out that dbg-cli already uses an old version of pcre, 4.3, while the current version is 4.5. Substituting the source files from pcre 4.5 did not help. I replaced the #includes of pcre.h and pcreposix.h in UrlParse.cpp with #includes of <sys/types.h> and <regex.h>, then commented out the references to pcre in Makefile and dbg/Makefile. That was enough to get dbg-cli to compile and link with the installed regex package in glibc, and it all worked. Do remember that the default port in dbg-cli is 10001 so if php.ini sets it to 7869 as in a lot of the examples, you have to also do a set port 7869 in dbg-cli. |
||||||||||||
|
Wrong session request passed |
|
||
Content © NuSphere Corp., PHP IDE team
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by