bcompiler crash
| From: | Marcin Gibula | Date: | Tue, 08 Feb 2005 15:08:01 +0000 |
| Subject: | bcompiler crash | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-1905@lists.php.net to get a copy of this message | ||
Hi,
I'm trying to use bcompiler (downloaded from cvs) with php5 (5.0.3) and have
the following crash:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 182912660992 (LWP 19558)]
_int_malloc (av=0x2a96609620, bytes=182911538952) at malloc.c:3945
3945 bck->fd = unsorted_chunks(av);
(gdb) bt
#0 _int_malloc (av=0x2a96609620, bytes=182911538952) at malloc.c:3945
#1 0x0000002a964544b2 in *__GI___libc_malloc (bytes=32) at malloc.c:3337
#2 0x0000002a96881a22 in _emalloc (size=6)
at /home/sh/php-5.0.3/Zend/zend_alloc.c:182
#3 0x0000002a968863b0 in do_inherit_parent_constructor (ce=0x731ba8)
at zend_operators.h:194
#4 0x0000002a96886dec in zend_do_inheritance (ce=0x731ba8,
parent_ce=0x731648)
at /home/sh/php-5.0.3/Zend/zend_compile.c:2002
#5 0x0000002a968871d8 in do_bind_inherited_class (opline=0x72cb80,
class_table=0x63eef0, parent_ce=0x731648, compile_time=168 '¨')
at /home/sh/php-5.0.3/Zend/zend_compile.c:2116
#6 0x0000002a968d63ae in zend_declare_inherited_class_handler (
execute_data=0x7fbfffc740, opline=0x2a96609620, op_array=0x50)
at /home/sh/php-5.0.3/Zend/zend_execute.c:4185
#7 0x0000002a968bcc9e in execute (op_array=0x72c808)
at /home/sh/php-5.0.3/Zend/zend_execute.c:1400
#8 0x0000002a968d387e in zend_include_or_eval_handler (
execute_data=0x7fbfffcbc0, opline=0x7406e0, op_array=0x72c338)
at /home/sh/php-5.0.3/Zend/zend_execute.c:3565
#9 0x0000002a968bcc9e in execute (op_array=0x72c338)
at /home/sh/php-5.0.3/Zend/zend_execute.c:1400
#10 0x0000002a96899119 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/sh/php-5.0.3/Zend/zend.c:1069
#11 0x0000002a9685f13c in php_execute_script (primary_file=0x7fbffff0f0)
at /home/sh/php-5.0.3/main/main.c:1628
#12 0x0000002a968d7a12 in php_handler (r=0x71b3a0)
at /home/sh/php-5.0.3/sapi/apache2handler/sapi_apache2.c:537
#13 0x000000000043e673 in ap_run_handler (r=0x71b3a0) at config.c:152
#14 0x000000000043eb11 in ap_invoke_handler (r=0x71b3a0) at config.c:364
#15 0x000000000042cfa0 in ap_process_request (r=0x71b3a0) at
http_request.c:249
#16 0x00000000004285a8 in ap_process_http_connection (c=0x7132d0)
at http_core.c:251
#17 0x0000000000448fe3 in ap_run_process_connection (c=0x7132d0)
at connection.c:43
#18 0x000000000043cafd in child_main (child_num_arg=-1772055008)
at prefork.c:610
#19 0x000000000043cd34 in make_child (s=0x58e7f0, slot=0) at prefork.c:650
#20 0x000000000043ce0e in startup_children (number_to_start=5) at
prefork.c:722
#21 0x000000000043d4eb in ap_mpm_run (_pconf=0x7fbffff490, plog=0x2a96609708,
s=0x7fbffff498) at prefork.c:941
#22 0x00000000004435a0 in main (argc=2, argv=0x7fbffff6c8) at main.c:618
I've reduced offending code to this:
<?php
interface ITest {
public function foo();
}
abstract class Test implements ITest {
}
class Test1 extends Test {
public function foo()
{
echo "foo";
}
}
?>
I compile it with bcompiler_write_header + bcompiler_write_file +
bcompiler_write_footer and then load it with include(). Note that it doesn't
crash all the time, but from time to time.
Removing Test1 class definition makes it work.
--
mg