Re: A question about php_streams
| From: | Sara Golemon | Date: | Thu, 10 Feb 2005 18:40:21 +0000 |
| Subject: | Re: A question about php_streams | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-14802@lists.php.net to get a copy of this message | ||
>> Here's some instructions on generating a backtrace:
>> http://bugs.php.net/bugs-generating-backtrace.php
>
> OK, well this is the only output I get from gdb that isn't (no debugging
> symbols found):
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x4045853b in zend_hash_index_update_or_next_insert (ht=0x40538dc8, h=0,
> pData=0xbffff3e0,
> nDataSize=12, pDest=0x0, flag=1) at
> /usr/local/src/php-4.3.10/Zend/zend_hash.c:390
> 390 p = ht->arBuckets[nIndex];
>
> Does this help?
>
Not really...can you include the entire backtrace? Did you compile
with --enable-debug?
>> Also, check to make sure that TMPL_G(template_dir) is (A)
>> defined, and (B) points to a NULL terminated string in a
>> memory segmet accessable to the process. Of course, the
>> backtrace will reveal that anyway.
>
> A) Has to be defined as it is the macro for accessing global variables:
> #define TMPL_G(v) (tmpl_globals.v)
> B) I read in the header file that the TSRMLS_FETCH(); call was all I
> needed
> to make for access to the global vars in a helper function. Is this
> correct?
>
You misunderstood. I mean make sure that TMPL_G(template_dir) != NULL, and
that whatever TMPL_G(template_dir) points to (as in the address referred to
by the char* datatype) has meaningful data in it.
-Sara