Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NFR] Pull request for interface checking #745

Closed
wants to merge 1 commit into from
Closed

[NFR] Pull request for interface checking #745

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Jun 29, 2013

Fix issues similar to #741

Please review carefully!

@phalcon
Copy link
Collaborator

phalcon commented Jun 29, 2013

I'm adding a check in PHALCON_THROW_EXCEPTION to check if there is an active memory frame, is better instead adding a new macro

@ghost
Copy link
Author

ghost commented Jun 29, 2013

OK, this seems to be a much better solution as it eliminates the possibility of a human error.

@phalcon
Copy link
Collaborator

phalcon commented Jun 29, 2013

Also, thanks for the work, but we don't want to check for interfaces, there are several methods that accept objects and checking in every request the correct interface would be a lot of overhead. We were thinking in implement a dev version or some compilation flag for that.

@ghost
Copy link
Author

ghost commented Jun 30, 2013

A benchmark ad deliberandum: https://gist.github.com/sjinks/5894540

  • test_test1($obj): returns is_object($obj);
  • test_test2(\ArrayAccess $obj): parameter types are checked by Zend Engine; fetches $obj and returns true;
  • test_test3($obj): parameter types are checked by the code: returns is_object($obj) && $obj instanceof \ArrayAccess;

Every function is run 10,000,000 times.

My results:

  • test1: 1.282 sec
  • test2: 2.219 sec
  • test3: 1.591 sec

Type checking by Zend Engine is the slowest; instanceof_function_ex()'s overhead is very small — ~0.00000003 sec/call (to compare, a call to an empty userspace function via call_user_function() API takes ~0.00000019 seconds).

Thus it probably makes sense to enforce the correct object type for rarely called functions like setDI() or setEventsManager() — this will ensure that the passed objects implement the expected interface and will help to diagnose some errors much earlier.

@mruz
Copy link
Contributor

mruz commented Jun 30, 2013

After the last changes my app crashes. I noticed that the apache logs shows me:

zend_mm_heap corrupted
[Sun Jun 30 22:21:10 2013] [notice] child pid 27784 exit signal Segmentation fault (11)
[Sun Jun 30 22:22:11 2013] [error] [client 127.0.0.1] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 368079105 bytes) in /home/mruz/Dropbox/base-app/public/index.php on line 21

In index.php on line 21 I have:

echo $app->handle()->getContent();

What could be wrong?

@ghost
Copy link
Author

ghost commented Jun 30, 2013

  1. The latest changes from 1.2.0?
  2. Could you please post a sample code that reproduces the bug?

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

@sjinks we can add this change in 1.3.0, 1.2.0 will be released next weekend, so we don't plan to add new features or break something, thank you

@ghost
Copy link
Author

ghost commented Jul 1, 2013

Yeah, sure

@mruz
Copy link
Contributor

mruz commented Jul 1, 2013

@sjinks
Ad. 1. Yes
Ad. 2. I do not know which part of base-app 1.2 (this is alpha release, not finished yet) is responsible for this. Logs do not help locate the code.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

@mruz Just forked base-app; PHP 5.4.9, phalcon 1.2.0 @ 48a06c3, no segfaults.

Are there any specific steps to take to reproduce the crash?

Or is it possible to generate a core dump and/or get the backtrace?

@mruz
Copy link
Contributor

mruz commented Jul 1, 2013

Just run the base-app (branch 1.2).
I have PHP 5.3.17, on openSUSE no package apache2-dbg php5-dbg, so I can't generate core dump.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

You don't need -dbg packages to generate a core.

ulimit -c unlimited
# Note that directories/ files in /tmp may not survive across reboots
mkdir -p /tmp/apache2-gdb-dump
chmod 0777 /tmp/apache2-gdb-dump

Then add

CoreDumpDirectory /tmp/apache2-gdb-dump

to your apache config and restart apache.

When PHP crashes, you will see a file (typically named core) under /tmp/apache2-gdb-dump

Then please run gdb /usr/sbin/apache2 /tmp/apache2-gdb-dump/core (adjust the paths/names as appropriate). Then, in gdb prompt, run bt full — this will print the backtrace. Use quit to quit gdb.

To make the backtrace more useful, you may want to recompile phalcon like this:

phpize
export CFLAGS="-O0 -g3"
./configure --enable-phalcon
make
sudo make install
service httpd restart
# or `service apache2 restart`, I don't know how it is called in SuSE

@mruz
Copy link
Contributor

mruz commented Jul 1, 2013

I've done this before but to no avail.

ulimit to /etc/sysconfig/apache2

ulimit -c unlimited

create folder

mkdir -p /tmp/apache2-gdb-dump
chmod 0777 /tmp/apache2-gdb-dump

CoreDump option in /etc/apache2/httpd.conf

CoreDumpDirectory /tmp/apache2-gdb-dump

After restart apache and php crashes, the dir is still empty, so I thought that these packages are required.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

OK, then if this is not a production server, please stop apache, then run gdb /usr/sbin/apache2 (or whatever the path/name is), at the gdb prompt please run run -X.

Then try to open a page where the crash happens; when the app crashes, you will see a not in gdb; please use bt full to get the backtrace. After that you may want to run generate-core-file from the gdb prompt to save the core file for the later analysis.

@mruz
Copy link
Contributor

mruz commented Jul 1, 2013

When I run gdb /usr/sbin/httpd2

Reading symbols from /usr/sbin/httpd2...Missing separate debuginfo for /usr/sbin/httpd2
Try: zypper install -C "debuginfo(build-id)=600603e9cb2934841ad6d60bcdf6b5b41d05e28d"
(no debugging symbols found)...done.

And zypper install -C "debuginfo(build-id)=600603e9cb2934841ad6d60bcdf6b5b41d05e28d"

Loading repository data...
Reading installed packages...
No provider of 'debuginfo(build-id) = 600603e9cb2934841ad6d60bcdf6b5b41d05e28d' found.
Resolving package dependencies...

Nothing to do.

So, run -X return

no listening sockets available, shutting down
Unable to open logs
[Inferior 1 (process 6661) exited with code 01]

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

Try getting the backtrace from console:

$ cd /srv/www/htdocs/your-dir/public
$ gdb php
gdb> run index.php
gdb> bt

@mruz
Copy link
Contributor

mruz commented Jul 1, 2013

...
PHP Warning:  session_start(): open(/var/lib/php5/sess_0gcfjdo0il4ht9tlk119s309o09s4hoar43f2ipldsevib2mg5b1, O_RDWR) failed: Permission denied (13) in /home/mruz/Dropbox/base-app/app/Bootstrap.php on line 148
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 1447869553 bytes) in /home/mruz/Dropbox/base-app/public/index.php on line 21
PHP Warning:  Unknown: open(/var/lib/php5/sess_0gcfjdo0il4ht9tlk119s309o09s4hoar43f2ipldsevib2mg5b1, O_RDWR) failed: Permission denied (13) in Unknown on line 0
PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0
[Inferior 1 (process 7563) exited with code 0377]
(gdb) bt
No stack.

On line 148 in Bootstrap I have the session service. Strange because, previously worked well.

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

It seems that the user which you're trying to get the backtrace does not have write permissions in the directory: /var/lib/php5/, can you try get the backtrace with root?

@ghost
Copy link
Author

ghost commented Jul 1, 2013

Please try run -d session.save_path=/tmp index.php from gdb prompt

@ghost
Copy link
Author

ghost commented Jul 1, 2013

@mruz Please apply this patch to your base-app and see if the error is gone.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

OK, I was able to generate a backtrace:

Program terminated with signal 11, Segmentation fault.
#0  0x00007f6603c75b19 in gc_zval_possible_root (zv=0x7f6609956290) at /build/buildd/php5-5.4.9/Zend/zend_gc.c:143
143     /build/buildd/php5-5.4.9/Zend/zend_gc.c: No such file or directory.
(gdb) bt
#0  0x00007f6603c75b19 in gc_zval_possible_root (zv=0x7f6609956290) at /build/buildd/php5-5.4.9/Zend/zend_gc.c:143
#1  0x00007f6603c647c8 in zend_hash_destroy (ht=0x7f6609953b80) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
#2  0x00007f6603c7781c in zend_object_std_dtor (object=0x7f66099536b0) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:44
#3  0x00007f6603c778a9 in zend_objects_free_object_storage (object=0x7f66099536b0) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:137
#4  0x00007f6603c7d5e3 in zend_objects_store_del_ref_by_handle_ex (handle=18883696, handlers=0x7f6609939cf0) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:220
#5  0x00007f6603c7d603 in zend_objects_store_del_ref (zobject=0x7f6609953598) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:172
#6  0x00007f6603c478fa in _zval_ptr_dtor (zval_ptr=0x7f6609954ab0) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
#7  0x00007f6603c647c8 in zend_hash_destroy (ht=0x7f6609953938) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
#8  0x00007f6603c558eb in _zval_dtor_func (zvalue=0x7f6609952f60) at /build/buildd/php5-5.4.9/Zend/zend_variables.c:45
#9  0x00007f6603c478fa in _zval_ptr_dtor (zval_ptr=0x7f6609945e18) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
#10 0x00007f6603c77877 in zend_object_std_dtor (object=0x7f6609945d78) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:54
#11 0x00007f6603c778a9 in zend_objects_free_object_storage (object=0x7f6609945d78) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:137
#12 0x00007f6603c7d117 in zend_objects_store_free_object_storage (objects=0x7f6604391be0 <executor_globals+960>) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:92
#13 0x00007f6603c47e5c in shutdown_executor () at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:297
#14 0x00007f6603c568e5 in zend_deactivate () at /build/buildd/php5-5.4.9/Zend/zend.c:938
#15 0x00007f6603bf69fa in php_request_shutdown (dummy=0x7f6609956290) at /build/buildd/php5-5.4.9/main/main.c:1790
#16 0x00007f6603d00b7f in php_handler (r=0x7f6603d00b7f <php_handler+1631>) at /build/buildd/php5-5.4.9/sapi/apache2handler/sapi_apache2.c:520
#17 0x00007f660793c4b0 in ap_run_handler (r=0x7f66077070b8) at config.c:159
#18 0x00007f660793c8fb in ap_invoke_handler (r=r@entry=0x7f66077070b8) at config.c:377
#19 0x00007f660794c09c in ap_internal_redirect (new_uri=<optimized out>, r=<optimized out>) at http_request.c:554
#20 0x00007f6601e6b8b8 in ?? () from /usr/lib/apache2/modules/mod_rewrite.so
#21 0x00007f660793c4b0 in ap_run_handler (r=0x7f66077130a0) at config.c:159
#22 0x00007f660793c8fb in ap_invoke_handler (r=r@entry=0x7f66077130a0) at config.c:377
#23 0x00007f660794ca28 in ap_process_request (r=r@entry=0x7f66077130a0) at http_request.c:282
#24 0x00007f66079498d8 in ap_process_http_connection (c=0x7f660771d290) at http_core.c:190
#25 0x00007f6607942e80 in ap_run_process_connection (c=0x7f660771d290) at connection.c:43
#26 0x00007f6607943268 in ap_process_connection (c=c@entry=0x7f660771d290, csd=<optimized out>) at connection.c:190
#27 0x00007f6607951646 in child_main (child_num_arg=child_num_arg@entry=1) at prefork.c:667
#28 0x00007f6607951da2 in make_child (slot=1, s=0x7f66078e7818) at prefork.c:768
#29 make_child (s=0x7f66078e7818, slot=1) at prefork.c:696
#30 0x00007f6607951e46 in startup_children (number_to_start=4) at prefork.c:786
#31 0x00007f6607952775 in ap_mpm_run (_pconf=_pconf@entry=0x7f66078ed028, plog=<optimized out>, s=s@entry=0x7f66078e7818) at prefork.c:1007
#32 0x00007f660792724e in main (argc=3, argv=0x7fff1399bab8) at main.c:755

bt full:

#0  0x00007f6603c75b19 in gc_zval_possible_root (zv=0x7f6609956290) at /build/buildd/php5-5.4.9/Zend/zend_gc.c:143
        newRoot = 0x265502000
#1  0x00007f6603c647c8 in zend_hash_destroy (ht=0x7f6609953b80) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
No locals.
#2  0x00007f6603c7781c in zend_object_std_dtor (object=0x7f66099536b0) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:44
        i = 160774456
#3  0x00007f6603c778a9 in zend_objects_free_object_storage (object=0x7f66099536b0) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:137
No locals.
#4  0x00007f6603c7d5e3 in zend_objects_store_del_ref_by_handle_ex (handle=18883696, handlers=0x7f6609939cf0) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:220
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {328839440, 32767, 160773528, 32614, 2662702625, 1243280852, 0, 0}, __mask_was_saved = 1160617505, __saved_mask = {__val = {0, 4294967295, 0, 0, 2993004065, 1260962253, 1160617505, 1243275633, 0, 
                32614, 63109517, 32614, 160715104, 32614, 63109517, 32614}}}}
        obj = 0x1480
        failure = 32614
#5  0x00007f6603c7d603 in zend_objects_store_del_ref (zobject=0x7f6609953598) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:172
        handle = 160785040
#6  0x00007f6603c478fa in _zval_ptr_dtor (zval_ptr=0x7f6609954ab0) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
No locals.
#7  0x00007f6603c647c8 in zend_hash_destroy (ht=0x7f6609953938) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
No locals.
#8  0x00007f6603c558eb in _zval_dtor_func (zvalue=0x7f6609952f60) at /build/buildd/php5-5.4.9/Zend/zend_variables.c:45
No locals.
#9  0x00007f6603c478fa in _zval_ptr_dtor (zval_ptr=0x7f6609945e18) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
No locals.
#10 0x00007f6603c77877 in zend_object_std_dtor (object=0x7f6609945d78) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:54
        i = 14
#11 0x00007f6603c778a9 in zend_objects_free_object_storage (object=0x7f6609945d78) at /build/buildd/php5-5.4.9/Zend/zend_objects.c:137
No locals.
#12 0x00007f6603c7d117 in zend_objects_store_free_object_storage (objects=0x7f6604391be0 <executor_globals+960>) at /build/buildd/php5-5.4.9/Zend/zend_objects_API.c:92
        i = 62
#13 0x00007f6603c47e5c in shutdown_executor () at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:297
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
        __bailout = {{__jmpbuf = {70850592, 32614, 1501928993, 1243275636, 124809400, 32614, 129421348, 32614}, __mask_was_saved = 0, __saved_mask = {__val = {63109517, 32614, 18978032, 32614, 14, 0, 112, 0, 63109517, 32614, 18971328, 
                32614, 63109517, 32614, 18971304, 32614}}}}
#14 0x00007f6603c568e5 in zend_deactivate () at /build/buildd/php5-5.4.9/Zend/zend.c:938
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
        __orig_bailout = <incomplete type>
        __bailout = {{__jmpbuf = {0, 0, 70848672, 32614, 3448086049, 1243278988, 124809400, 32614}, __mask_was_saved = 1028628001, __saved_mask = {__val = {0, 4294967295, 0, 0, 8, 0, 63109517, 32614, 18970776, 32614, 63109517, 32614, 
                18971800, 32614, 18958856, 32614}}}}
#15 0x00007f6603bf69fa in php_request_shutdown (dummy=0x7f6609956290) at /build/buildd/php5-5.4.9/main/main.c:1790
        report_memleaks = 1 '\001'
#16 0x00007f6603d00b7f in php_handler (r=0x7f6603d00b7f <php_handler+1631>) at /build/buildd/php5-5.4.9/sapi/apache2handler/sapi_apache2.c:520
        ctx = 0x900000000
        conf = 0x7f66077070b8
        brigade = 0x7f6607715a48
        rv = 1699749888
        parent_req = 0x7f66077166c8
#17 0x00007f660793c4b0 in ap_run_handler (r=0x7f66077070b8) at config.c:159
        pHook = 0x7f66078bb858
        n = 3
        rv = 1699749888
#18 0x00007f660793c8fb in ap_invoke_handler (r=r@entry=0x7f66077070b8) at config.c:377
        handler = <optimized out>
        p = <optimized out>
        result = <optimized out>
        old_handler = 0x7f66078cb8f0 "application/x-httpd-php"
        ignore = <optimized out>
#19 0x00007f660794c09c in ap_internal_redirect (new_uri=<optimized out>, r=<optimized out>) at http_request.c:554
        new = 0x7f66077070b8
        access_status = <optimized out>
#20 0x00007f6601e6b8b8 in ?? () from /usr/lib/apache2/modules/mod_rewrite.so
No symbol table info available.
#21 0x00007f660793c4b0 in ap_run_handler (r=0x7f66077130a0) at config.c:159
        pHook = 0x7f66078bb880
        n = 4
        rv = 1699749888
#22 0x00007f660793c8fb in ap_invoke_handler (r=r@entry=0x7f66077130a0) at config.c:377
        handler = <optimized out>
        p = <optimized out>
        result = <optimized out>
        old_handler = 0x7f6601e727ef "redirect-handler"
        ignore = <optimized out>
#23 0x00007f660794ca28 in ap_process_request (r=r@entry=0x7f66077130a0) at http_request.c:282
        access_status = <optimized out>
#24 0x00007f66079498d8 in ap_process_http_connection (c=0x7f660771d290) at http_core.c:190
        r = 0x7f66077130a0
        csd = 0x7f660771d0a0
#25 0x00007f6607942e80 in ap_run_process_connection (c=0x7f660771d290) at connection.c:43
        pHook = 0x7f66078bbe48
        n = 1
        rv = 1699749888
#26 0x00007f6607943268 in ap_process_connection (c=c@entry=0x7f660771d290, csd=<optimized out>) at connection.c:190
        rc = <optimized out>
#27 0x00007f6607951646 in child_main (child_num_arg=child_num_arg@entry=1) at prefork.c:667
        current_conn = 0x7f660771d290
        csd = 0x7f660771d0a0
        ptrans = 0x7f660771d028
        allocator = 0x7f6609918780
        status = <optimized out>
        i = <optimized out>
        lr = <optimized out>
        pollset = 0x7f660771f130
        sbh = 0x7f660771f128
        bucket_alloc = 0x7f6607719028
        last_poll_idx = 0
#28 0x00007f6607951da2 in make_child (slot=1, s=0x7f66078e7818) at prefork.c:768
        pid = 0
#29 make_child (s=0x7f66078e7818, slot=1) at prefork.c:696
No locals.
#30 0x00007f6607951e46 in startup_children (number_to_start=4) at prefork.c:786
        i = <optimized out>
#31 0x00007f6607952775 in ap_mpm_run (_pconf=_pconf@entry=0x7f66078ed028, plog=<optimized out>, s=s@entry=0x7f66078e7818) at prefork.c:1007
        index = <optimized out>
        remaining_children_to_start = <optimized out>
        rv = <optimized out>
#32 0x00007f660792724e in main (argc=3, argv=0x7fff1399bab8) at main.c:755
        c = 0 '\000'
        configtestonly = <optimized out>
        confname = 0x7f66079542ca "apache2.conf"
        def_server_root = 0x7f66079542bd "/etc/apache2"
        temp_error_log = <optimized out>
        error = <optimized out>
        process = 0x7f66078ef118
        server_conf = 0x7f66078e7818
        pglobal = <optimized out>
        pconf = 0x7f66078ed028
        plog = 0x7f66078b2028
        ptemp = 0x7f66078e5028
        pcommands = 0x7f66078eb028
        opt = 0x7f66078eb118
        rv = 0
        mod = <optimized out>
        optarg = 0x7f66078ef028 "(0\217\af\177"
        signal_server = <optimized out>

@ghost
Copy link
Author

ghost commented Jul 1, 2013

And another one:

#0  _zend_mm_free_int (heap=0x7f8ee57bfe10, p=0x7f8ed0005f5f) at /build/buildd/php5-5.4.9/Zend/zend_alloc.c:2071
        mm_block = 0x7f8ed010fec8
        next_block = 0x7fff38bc9610
#1  0x00007f8edf89b8fa in _zval_ptr_dtor (zval_ptr=0x7f8ed01520b0) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
No locals.
#2  0x00007f8edf8b87c8 in zend_hash_destroy (ht=0x7f8ed015ede0) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
No locals.
#3  0x00007f8edf8a98eb in _zval_dtor_func (zvalue=0x7f8ed014a3f8) at /build/buildd/php5-5.4.9/Zend/zend_variables.c:45
No locals.
#4  0x00007f8edf89b8fa in _zval_ptr_dtor (zval_ptr=0x7fff38bc8e50) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
No locals.
#5  0x00007f8ed6db38b5 in phalcon_memory_restore_stack () at /home/vladimir/workspace/cphalcon/ext/kernel/memory.c:196
        i = 1
        prev = 0x7fff38bc9200
        active_memory = 0x7f8ed01a45b8
        active_symbol_table = 0x7f8ed0147140
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
#6  0x00007f8ed6e17971 in zim_Phalcon_DI_getShared (ht=1, return_value=0x7f8ed015ee38, return_value_ptr=0x7fff38bc9200, this_ptr=0x7f8edce6da88, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/di.c:468
        name = 0x7f8ed014b330
        parameters = 0x7f8ed01099f0
        shared_instances = 0x7f8ed014a3f8
        instance = 0x7f8ed01094a8
#7  0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bc9270, ce=0x7f8ee5a47730, hash_key=8443312917537633385, method_name=0x7f8ed70c5680 "getshared", method_len=9, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
        call_via_handler = 0
        i = 1
        executor_globals_ptr = 0x7f8edffe5820 <executor_globals>
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        original_return_value = 0x7f8ed6e22a3e <zim_Phalcon_Tag_getValue+529>
        calling_symbol_table = 0x7fff38bc9080
        original_op_array = 0x7f8ed016241c
        original_opline_ptr = 0x7f8ed015bb30
        current_scope = 0x7f8ee5a47730
        current_called_scope = 0x7f8ee5a4bac0
        calling_scope = 0x7f8ee5a47730
        called_scope = 0x7f8ee5a47730
        current_this = 0x0
        execute_data = {opline = 0x0, function_state = {function = 0x7f8ee5a48b80, arguments = 0x7f8edce35e60}, fbc = 0x0, called_scope = 0x0, op_array = 0x0, object = 0x7f8edce6da88, Ts = 0x7f8edce35500, CVs = 0x7f8edce354e8, 
          symbol_table = 0x7f8ed0147b68, prev_execute_data = 0x7fff38bc9540, old_error_reporting = 0x0, nested = 0 '\000', original_return_value = 0x7fff38bc9b18, current_scope = 0x7f8ee5bcfda0, current_called_scope = 0x7f8ee5bcfda0, 
          current_this = 0x7f8ed01477d0, current_object = 0x0}
        fci_cache = 0x7fff38bc90e0
        fci_local = {initialized = 1 '\001', function_handler = 0x7f8ee5a48b80, calling_scope = 0x7f8ee5a47730, called_scope = 0x7f8ee5a47730, object_ptr = 0x7f8edce6da88}
        function_handler = 0x7f8ed01744e8
        exists = 1
        is_phalcon_function = 1
#8  0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5a47730, object_pp=0x7fff38bc9300, method_name=0x7f8ed70c5680 "getshared", method_len=9, retval_ptr=0x7f8ed014a3c8, param_count=1, params=0x7fff38bc93f0, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        params_array = 0x0
        static_params_array = {0x7fff38bc93f0, 0x7f8ed6da2e1e <phalcon_hash_quick_exists+161>, 0x7270ef5066f8a19c, 0xad00ff6b0, 0x7f8ed70c5680}
        i = 9
        ex_retval = 32654
        local_retval_ptr = 0x7f8ed015ee38
        fci = 0x7fff38bc9270
        fci_local = {size = 8, function_table = 0x7f8ee5a47758, function_name = 0x0, symbol_table = 0x0, retval_ptr_ptr = 0x7fff38bc9200, param_count = 1, params = 0x7fff38bc9240, object_ptr = 0x7f8edce6da88, no_separation = 1 '\001'}
        hash_key = 8443312917537633385
#9  0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param_count=1, params=0x7fff38bc93f0, noreturn=1, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
        status = -1
        ce = 0x7f8ee5a47730
        active_scope = 0x7f8ee5a4bac0
#10 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param_count=1, params=0x7fff38bc93f0, noreturn=1, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
No locals.
#11 0x00007f8ed6d97849 in phalcon_call_method_one_param (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param1=0x7f8ed014b330, noreturn=1, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:378
        params = {0x7f8ed014b330}
#12 0x00007f8ed6e21f1d in zim_Phalcon_Tag_getUrlService (ht=0, return_value=0x7f8ed014a060, return_value_ptr=0x7fff38bc96c0, this_ptr=0x0, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/tag.c:151
        url = 0x7f8ed014a3c8
        dependency_injector = 0x7f8edce6da88
        service = 0x7f8ed014b330
#13 0x00007f8edf89d81d in zend_call_function (fci=0x7fff38bc9610, fci_cache=0x7f8ed010c300) at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:980
        i = 3489685343
        original_return_value = 0x7f8ed010fec8
        calling_symbol_table = 0x7fff38bc96c0
        original_op_array = 0x7f8ed010c300
        original_opline_ptr = <incomplete type>
        current_scope = 0x7f8ee5a4bac0
        current_called_scope = 0x7f8ee5a4bac0
        calling_scope = 0x7fff38bc9540
        called_scope = 0x0
        current_this = 0x7fff38bc9540
        execute_data = {opline = 0x7f8edf88398d <_zend_mm_free_int+237>, function_state = {function = 0x0, arguments = 0x7f8ee5a4c070}, fbc = 0x7f8edce35e50, called_scope = 0x0, op_array = 0x0, object = 0x0, Ts = 0x0, 
          CVs = 0x7f8edce35500, symbol_table = 0x7f8edce354e8, prev_execute_data = 0x7f8ed0147b68, old_error_reporting = 0x7f8edce35458, nested = 0 '\000', original_return_value = 0x0, current_scope = 0x7fff38bc9b18, 
          current_called_scope = 0x7f8ee5bcfda0, current_this = 0x7f8ee5bcfda0, current_object = 0x7f8ed01477d0}
        fci_cache_local = {initialized = 0 '\000', function_handler = 0x7f8ed010cb01, calling_scope = 0x7f8ee5a4c070, called_scope = 0x7f8ee5a4bac0, object_ptr = 0x7f8ee5a4bac0}
#14 0x00007f8edf89dabe in call_user_function_ex (function_table=0x7f8ee57bfe10, object_pp=0x7f8ed0005f5f, function_name=0x7f8edf8a9890 <_zval_dtor_func+48>, retval_ptr_ptr=0x3, param_count=951880928, params=0x1, 
    no_separation=-690382561, symbol_table=0x1) at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:750
        fci = {size = 3750353598, function_table = 0x48, function_name = 0x7f8ee57c0720, symbol_table = 0x7f8ed010abc8, retval_ptr_ptr = 0x0, param_count = 951883456, params = 0x7f8e00000000, object_ptr = 0x7fff38bc96f0, 
          no_separation = 0 '\000'}
        no_separation = 0
        symbol_table = 0x0
#15 0x00007f8ed6d9991f in phalcon_call_user_function (function_table=0x7f8ee57c0720, object_pp=0x0, function_name=0x7f8ed010abc8, retval_ptr=0x7f8ed010c718, param_count=0, params=0x0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:1097
        params_array = 0x0
        static_params_array = {0x7f8ed010fec8, 0x0, 0x0, 0x7f8edf8af6d6 <add_next_index_zval+38>, 0x7f8ed010fec8}
        i = 3750458890
        ex_retval = 32654
        local_retval_ptr = 0x7f8ed014a060
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
#16 0x00007f8ed6d97fb2 in phalcon_call_static_func (return_value=0x7f8ed010c718, class_name=0x7f8ed6fa3d83 "self", class_length=4, method_name=0x7f8ed70c5781 "geturlservice", method_length=13, noreturn=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:514
        fn = 0x7f8ed010abc8
        fn_class = 0x7f8ed0149d58
        fn_method = 0x7f8ed0149e40
        status = -1
#17 0x00007f8ed6d98476 in phalcon_call_self_func (return_value=0x7f8ed010c718, object=0x0, method_name=0x7f8ed70c5781 "geturlservice", method_len=13, noreturn=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:638
        success = 32767
        ce = 0x7f8ed0149350
        active_scope = 0x0
#18 0x00007f8ed6e27a65 in zim_Phalcon_Tag_stylesheetLink (ht=1, return_value=0x7f8ed010ccf0, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/tag.c:1527
        parameters = 0x7f8ed0109960
        local = 0x7f8ed01a3f40
        params = 0x7f8ed015de30
        first_param = 0x7f8ed0109960
        url = 0x7f8ed010c718
        url_href = 0x7f8ed0112e00
        href = 0x1
        code = 0x7f8edf89dce4 <zend_lookup_class_ex+132>
        value = 0x0
        key = 0x0
        doctype = 0x7f8edffe56a8 <output_globals+8>
        eol = 0xfffffffffffffff8
        ah0 = 0x7f8edf85eab0 <php_output_stack_apply_op>
        hp0 = 0x7fff38bc9950
        hd = 0x1
#19 0x00007f8edf952922 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f8edce35458) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:642
        ret = 0x7f8ee27407ee <__memset_x86_64+174>
        opline = 0x7f8ed010fec8
        should_change_scope = 0 '\000'
        fbc = 0x7f8ee5a4ef20
#20 0x00007f8edf90c227 in execute (op_array=0x7f8ed0189a30) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7f8edce35458
        nested = 1 '\001'
        original_in_execution = 1 '\001'
#21 0x00007f8ed6d99dad in phalcon_internal_require (return_value=0x0, require_path=0x7f8ed010a2c8) at /home/vladimir/workspace/cphalcon/ext/kernel/require.c:101
        ret = 0
        file_path = 0x7f8ed0109618 "/home/vladimir/workspace/base-app/app/common/cache/volt/app/frontend/views/index.php"
        file_path_length = 84
        file_handle = {type = ZEND_HANDLE_MAPPED, filename = 0x7f8ed0109618 "/home/vladimir/workspace/base-app/app/common/cache/volt/app/frontend/views/index.php", opened_path = 0x0, handle = {fd = -804059224, fp = 0x7f8ed01307a8, 
            stream = {handle = 0x7f8ed01307a8, isatty = 0, mmap = {len = 5424, pos = 0, map = 0x0, buf = 0x7f8ee3355000 <Address 0x7f8ee3355000 out of bounds>, old_handle = 0x0, old_closer = 0x0}, 
              reader = 0x7f8edf8625a0 <_php_stream_read>, fsizer = 0x7f8edf848a70 <php_zend_stream_fsizer>, closer = 0x7f8edf848a60 <php_zend_stream_mmap_closer>}}, free_filename = 0 '\000'}
        result = 0x0
        status = 0
        dummy = 0
        original_return_value = 0x0
        original_opline_ptr = 0x7f8edce35060
        original_active_op_array = 0x7f8edce687a8
        new_op_array = 0x7f8edce6aa50
#22 0x00007f8ed6d99fc9 in phalcon_require (require_path=0x7f8ed010a2c8) at /home/vladimir/workspace/cphalcon/ext/kernel/require.c:145
No locals.
#23 0x00007f8ed6e9e6e2 in zim_Phalcon_Mvc_View_Engine_Volt_render (ht=3, return_value=0x7f8ed01488a0, return_value_ptr=0x7fff38bcb040, this_ptr=0x7f8ed01477d0, return_value_used=1)
    at /home/vladimir/workspace/cphalcon/ext/mvc/view/engine/volt.c:204
        template_path = 0x7f8ed0148518
        params = 0x7f8ed0196b30
        must_clean = 0x7f8ed01915c0
        compiler = 0x7f8ed0148928
        compiled_template_path = 0x7f8ed010a2c8
        value = 0x7f8ed0146dd8
        key = 0x7f8ed010a148
        contents = 0x7f8ed014a0e8
        view = 0x7f8ed0184a68
        ah0 = 0x7f8ed01b0668
        hp0 = 0x0
        hd = 0x7f8ed01302f0
#24 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcb0b0, ce=0x7f8ee5bcfda0, hash_key=3387474452084087672, method_name=0x7f8ed711c438 "render", method_len=6, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
        call_via_handler = 0
        i = 3
        executor_globals_ptr = 0x7f8edffe5820 <executor_globals>
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        original_return_value = 0x0
        calling_symbol_table = 0x7f8ed01816b8
        original_op_array = 0x1
        original_opline_ptr = 0x7f8ed0184fb0
        current_scope = 0x7f8ee5bcfda0
        current_called_scope = 0x7f8ee5b53e00
        calling_scope = 0x7f8ee5bcfda0
        called_scope = 0x7f8ee5bcfda0
        current_this = 0x7f8ed0184a68
        execute_data = {opline = 0x0, function_state = {function = 0x7f8ee5bd0460, arguments = 0x7f8edce35450}, fbc = 0x0, called_scope = 0x0, op_array = 0x0, object = 0x7f8ed01477d0, Ts = 0x7f8edce35100, CVs = 0x7f8edce350f0, 
          symbol_table = 0x7f8edffe59a8 <executor_globals+392>, prev_execute_data = 0x7fff38bcb8a0, old_error_reporting = 0x0, nested = 0 '\000', original_return_value = 0x0, current_scope = 0x0, current_called_scope = 0x0, 
          current_this = 0x0, current_object = 0x0}
        fci_cache = 0x7fff38bcaf20
        fci_local = {initialized = 1 '\001', function_handler = 0x7f8ee5bd0460, calling_scope = 0x7f8ee5bcfda0, called_scope = 0x7f8ee5bcfda0, object_ptr = 0x7f8ed01477d0}
        function_handler = 0x7f8ed0149d18
        exists = 1
        is_phalcon_function = 1
#25 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5bcfda0, object_pp=0x7fff38bcb140, method_name=0x7f8ed711c438 "render", method_len=6, retval_ptr=0x7f8ed014a968, param_count=3, params=0x7fff38bcb230, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        params_array = 0x0
        static_params_array = {0x7fff38bcb230, 0x7fff38bcb238, 0x7fff38bcb240, 0x7d01a8990, 0x7f8ed711c438}
        i = 6
        ex_retval = 0
        local_retval_ptr = 0x7f8ed01488a0
        fci = 0x7fff38bcb0b0
        fci_local = {size = 8, function_table = 0x7f8ee5bcfdc8, function_name = 0x0, symbol_table = 0x0, retval_ptr_ptr = 0x7fff38bcb040, param_count = 3, params = 0x7fff38bcb080, object_ptr = 0x7f8ed01477d0, no_separation = 1 '\001'}
        hash_key = 3387474452084087672
#26 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed014a968, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param_count=3, params=0x7fff38bcb230, noreturn=0, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
        status = -1
        ce = 0x7f8ee5bcfda0
        active_scope = 0x7f8ee5b53e00
#27 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param_count=3, params=0x7fff38bcb230, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
No locals.
#28 0x00007f8ed6d979c0 in phalcon_call_method_three_params (return_value=0x0, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param1=0x7f8ed0148518, param2=0x7f8ed0196b30, param3=0x7f8ed01915c0, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:409
        params = {0x7f8ed0148518, 0x7f8ed0196b30, 0x7f8ed01915c0}
#29 0x00007f8ed6e66c6d in zim_Phalcon_Mvc_View__engineRender (ht=5, return_value=0x7f8ed0147c40, return_value_ptr=0x7fff38bcb990, this_ptr=0x7f8ed0184a68, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/view.c:882
        engines = 0x7f8ed01b09d0
        view_path = 0x7f8ee5b59b90
        silence = 0x7f8ed0146f50
        must_clean = 0x7f8ed01915c0
        cache = 0x7f8ed0191c70
        not_exists = 0x7f8ed01484b8
        views_dir = 0x7f8ed0197978
        base_path = 0x7f8ee5b58cc0
        views_dir_path = 0x7f8ed0148548
        render_level = 0xffffffff
        cache_level = 0x7f8edf89d4f6 <zend_call_function+1798>
        is_started = 0x7fff38bcb368
        key = 0x0
        lifetime = 0x0
        view_options = 0x7f8edce687a8
        cache_options = 0x7fff38bcb3a0
        cached_view = 0x7f8ed0184a68
        is_fresh = 0x7f8ed0191d40
        view_params = 0x7f8ed0196b30
        events_manager = 0x7f8ee59e32f0
        engine = 0x7f8ed01477d0
        extension = 0x7f8ed014a7a8
        view_engine_path = 0x7f8ed0148518
        event_name = 0x0
        status = 0x0
        exception_message = 0x7270ef5066f8a19c
        tmp = 0x0
        ah0 = 0x7f8ed01487f0
        hp0 = 0x7f8ed01475d0
        hd = 0x7f8ed01475e8
#30 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcba00, ce=0x7f8ee5b53e00, hash_key=2409828882833298902, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
        call_via_handler = 0
        i = 5
        executor_globals_ptr = 0x7f8edffe5820 <executor_globals>
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        original_return_value = 0xf
        calling_symbol_table = 0x7fff00000001
        original_op_array = 0x7f8ed711fae5
        original_opline_ptr = 0x7f8edf8b9230 <zend_hash_find+464>
        current_scope = 0x7f8ee5b53e00
        current_called_scope = 0x7f8ee5b53e00
        calling_scope = 0x7f8ee5b53e00
        called_scope = 0x7f8ee5b53e00
        current_this = 0x7f8ed0184a68
        execute_data = {opline = 0x0, function_state = {function = 0x7f8ee5b56900, arguments = 0x7f8edce35430}, fbc = 0x0, called_scope = 0x0, op_array = 0x0, object = 0x7f8ed0184a68, Ts = 0x7f8edce35100, CVs = 0x7f8edce350f0, 
          symbol_table = 0x7f8edffe59a8 <executor_globals+392>, prev_execute_data = 0x7fff38bcc150, old_error_reporting = 0x0, nested = 0 '\000', original_return_value = 0x0, current_scope = 0x0, current_called_scope = 0x0, 
          current_this = 0x0, current_object = 0x0}
        fci_cache = 0x7fff38bcb870
        fci_local = {initialized = 1 '\001', function_handler = 0x7f8ee5b56900, calling_scope = 0x7f8ee5b53e00, called_scope = 0x7f8ee5b53e00, object_ptr = 0x7f8ed0184a68}
        function_handler = 0x7f8ed0147c88
        exists = 1
        is_phalcon_function = 1
#31 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5b53e00, object_pp=0x7fff38bcba90, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, retval_ptr=0x7f8ed01479d8, param_count=5, params=0x7fff38bcbb80, 
    method_key=0) at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        params_array = 0x0
        static_params_array = {0x7fff38bcbb80, 0x7fff38bcbb88, 0x7fff38bcbb90, 0x7fff38bcbb98, 0x7fff38bcbba0}
        i = 13
        ex_retval = 0
        local_retval_ptr = 0x7f8ed0147c40
        fci = 0x7fff38bcba00
        fci_local = {size = 8, function_table = 0x7f8ee5b53e28, function_name = 0x0, symbol_table = 0x0, retval_ptr_ptr = 0x7fff38bcb990, param_count = 5, params = 0x7fff38bcb9d0, object_ptr = 0x7f8ed0184a68, no_separation = 1 '\001'}
        hash_key = 2409828882833298902
#32 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed01479d8, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param_count=5, params=0x7fff38bcbb80, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
        status = -1
        ce = 0x7f8ee5b53e00
        active_scope = 0x7f8ee5b53e00
#33 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param_count=5, params=0x7fff38bcbb80, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
No locals.
#34 0x00007f8ed6d97b67 in phalcon_call_method_five_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param1=0x7f8ed01b09d0, param2=0x7f8ee5b59b90, param3=0x7f8ed0146f50, 
    param4=0x7f8ed01915c0, param5=0x7f8ed0191c70, noreturn=0, method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:440
        params = {0x7f8ed01b09d0, 0x7f8ee5b59b90, 0x7f8ed0146f50, 0x7f8ed01915c0, 0x7f8ed0191c70}
#35 0x00007f8ed6e68a74 in zim_Phalcon_Mvc_View_render (ht=3, return_value=0x7f8ed0191b30, return_value_ptr=0x7fff38bcc240, this_ptr=0x7f8ed0184a68, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/view.c:1209
        controller_name = 0x7f8ed019abc0
        action_name = 0x7f8ed0199fb0
        params = 0x7f8ed0197e30
        disabled = 0x7f8ee5b5a220
        contents = 0x7f8ed0146fb0
        layouts_dir = 0x7f8ed0191c10
        layout = 0x7f8ee5b59230
        layout_name = 0x7f8ed019abc0
        engines = 0x7f8ed01b09d0
        pick_view = 0x7f8ee5b59e20
        render_view = 0x7f8ed0197dd0
        pick_view_action = 0x7f8ee5825240
        cache = 0x7f8ed0191c70
        cache_level = 0x7f8ee5b5a010
        events_manager = 0x7f8ee59e32f0
        event_name = 0x0
        status = 0x0
        must_clean = 0x7f8ed01915c0
        silence = 0x7f8ed0146f50
        disabled_levels = 0x7f8ee5b58d10
        render_level = 0x7f8ee5b58f10
        templates_before = 0x7f8ee5b596d0
        template_before = 0x0
        view_temp_path = 0x7f8ed0146e38
        templates_after = 0x7f8ee5b597e0
        template_after = 0x0
        main_view = 0x7f8ee5b59b90
        is_started = 0x0
        is_fresh = 0x1ae6c4c0263ba8
        ah0 = 0x7fff38bcc2d0
        ah1 = 0x7fff38bcbe60
        hp0 = 0x7f8ed0178648
        hp1 = 0x7f8edce69238
        hd = 0x0
#36 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcc2b0, ce=0x7f8ee5b53e00, hash_key=16622351097405646647, method_name=0x7f8ed7167a78 "render", method_len=6, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
        call_via_handler = 0
        i = 3
        executor_globals_ptr = 0x7f8edffe5820 <executor_globals>
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        original_return_value = 0xffffffffd018a7c0
        calling_symbol_table = 0x7f8edce6c650
        original_op_array = 0x7f8ed018f748
        original_opline_ptr = 0x0
        current_scope = 0x7f8ee5b53e00
        current_called_scope = 0x7f8edce6c650
        calling_scope = 0x7f8ee5b53e00
        called_scope = 0x7f8ee5b53e00
        current_this = 0x7f8edce6a838
        execute_data = {opline = 0x0, function_state = {function = 0x7f8ee5b56bc0, arguments = 0x7f8edce35400}, fbc = 0x0, called_scope = 0x0, op_array = 0x0, object = 0x7f8ed0184a68, Ts = 0x7f8edce35100, CVs = 0x7f8edce350f0, 
          symbol_table = 0x7f8edffe59a8 <executor_globals+392>, prev_execute_data = 0x7f8edce35060, old_error_reporting = 0x0, nested = 0 '\000', original_return_value = 0x0, current_scope = 0x0, current_called_scope = 0x0, 
          current_this = 0x0, current_object = 0x0}
        fci_cache = 0x7fff38bcc120
        fci_local = {initialized = 1 '\001', function_handler = 0x7f8ee5b56bc0, calling_scope = 0x7f8ee5b53e00, called_scope = 0x7f8ee5b53e00, object_ptr = 0x7f8ed0184a68}
        function_handler = 0x7fff38bcc280
        exists = 0
        is_phalcon_function = 1
#37 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5b53e00, object_pp=0x7fff38bcc340, method_name=0x7f8ed7167a78 "render", method_len=6, retval_ptr=0x7f8ed0191a20, param_count=3, params=0x7fff38bcc430, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
        phalcon_globals_ptr = 0x7f8edb910120 <phalcon_globals>
        params_array = 0x0
        static_params_array = {0x7fff38bcc430, 0x7fff38bcc438, 0x7fff38bcc440, 0x7d0197e30, 0x7f8ed7167a78}
        i = 6
        ex_retval = 0
        local_retval_ptr = 0x7f8ed0191b30
        fci = 0x7fff38bcc2b0
        fci_local = {size = 8, function_table = 0x7f8ee5b53e28, function_name = 0x0, symbol_table = 0x0, retval_ptr_ptr = 0x7fff38bcc240, param_count = 3, params = 0x7fff38bcc280, object_ptr = 0x7f8ed0184a68, no_separation = 1 '\001'}
        hash_key = 16622351097405646647
#38 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed0191a20, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param_count=3, params=0x7fff38bcc430, noreturn=0, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
        status = -1
        ce = 0x7f8ee5b53e00
        active_scope = 0x0
#39 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param_count=3, params=0x7fff38bcc430, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
No locals.
#40 0x00007f8ed6d979c0 in phalcon_call_method_three_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param1=0x7f8ed019abc0, param2=0x7f8ed0199fb0, param3=0x7f8ed0197e30, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:409
        params = {0x7f8ed019abc0, 0x7f8ed0199fb0, 0x7f8ed0197e30}
#41 0x00007f8ed6ea82c5 in zim_Phalcon_Mvc_Application_handle (ht=0, return_value=0x7f8ed0181958, return_value_ptr=0x0, this_ptr=0x7f8edce6a838, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/application.c:561
        uri = 0x7f8ed0181a00
        dependency_injector = 0x7f8edce6da88
        events_manager = 0x7f8ee59e32f0
        event_name = 0x0
        status = 0x0
        service = 0x7f8ed01818b0
        router = 0x7f8ed0181808
        module_name = 0x7f8ed0181760
        modules = 0x7f8ed018b138
        exception_msg = 0x0
        module = 0x7f8edce6c560
        path = 0x7f8ed017fac0
        class_name = 0x7f8ed017f8a8
        module_object = 0x7f8ed01816b8
        module_params = 0x7f8ed0185601
        implicit_view = 0x7f8ee5b60300
        view = 0x7f8ed0184a68
        namespace_name = 0x7f8ed017f788
        controller_name = 0x7f8ed019abc0
        action_name = 0x7f8ed0199fb0
        params = 0x7f8ed0197e30
        dispatcher = 0x7f8ed01814c0
        controller = 0x7f8ed0192170
        returned_response = 0x7f8ed01921a0
        possible_response = 0x7f8ed019ab90
        render_status = 0x7f8ed0191678
        response = 0x0
        content = 0x7f8edce354c0
#42 0x00007f8edf952922 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f8edce35060) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:642
        ret = 0x7f8ee27407ee <__memset_x86_64+174>
        opline = 0x7f8edce69238
        should_change_scope = 0 '\000'
        fbc = 0x7f8ed0178648
#43 0x00007f8edf90c227 in execute (op_array=0x7f8ed0174678) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:410
        ret = 0
        execute_data = 0x7f8edce35060
        nested = 1 '\001'
        original_in_execution = 0 '\000'
#44 0x00007f8edf8ac09c in zend_execute_scripts (type=-588871440, retval=0x300000008, file_count=32654) at /build/buildd/php5-5.4.9/Zend/zend.c:1309
        files = {{gp_offset = 1, fp_offset = 1819684709, overflow_arg_area = 0x772f726900000028, reg_save_area = 0x7fff38bccb40}}
        i = 1
        file_handle = <incomplete type>
        orig_op_array = 0x7f8edffe5bf8 <executor_globals+984>
        orig_retval_ptr_ptr = 0x0
#45 0x00007f8edf84bd43 in php_execute_script (primary_file=0x7fff38bcc240) at /build/buildd/php5-5.4.9/main/main.c:2482
        __orig_bailout = 0x0
        __bailout = {{__jmpbuf = {951892672, 32767, 3604575788, 32654, 951892864, 32767, 0, 0}, __mask_was_saved = -803714456, __saved_mask = {__val = {3491002840, 32654, 951892912, 32767, 3491202632, 4294967295, 3853860352, 32654, 
                3853860352, 32654, 951892768, 32767, 3604576230, 32654, 0, 1919919900}}}}
        prepend_file_p = 0x0
        append_file_p = 0x0
        prepend_file = {type = ZEND_HANDLE_FILENAME, filename = 0x7f8ed01479d8 "", opened_path = 0xd00000005 <Address 0xd00000005 out of bounds>, handle = {fd = -686687440, fp = 0x7f8ed711fb30, stream = {handle = 0x7f8ed711fb30, 
              isatty = 951892624, mmap = {len = 3853860352, pos = 0, map = 0xd, buf = 0x7f8ed0147c40 "", old_handle = 0x0, old_closer = 0x21716e99e2c155d6}, reader = 0x7f8edb910120 <phalcon_globals>, fsizer = 0x7fff38bcba00, 
              closer = 0x7f8ed0147c40}}, free_filename = 0 '\000'}
        append_file = {type = 951892864, filename = 0x7fff38bcbb88 "\220\233\265\345\216\177", opened_path = 0x7fff38bcbb90 "Po\024Ў\177", handle = {fd = 951892888, fp = 0x7fff38bcbb98, stream = {handle = 0x7fff38bcbb98, 
              isatty = 951892896, mmap = {len = 3853860392, pos = 8, map = 0x7f8ee5b53e28, buf = 0x0, old_handle = 0x0, old_closer = 0x7fff38bcb990}, reader = 0xd00000005, fsizer = 0x7fff38bcb9d0, closer = 0x7f8ed0184a68}}, 
          free_filename = 1 '\001'}
        retval = 0
#46 0x00007f8edf954cba in php_handler (r=0x7f8edf954cba <php_handler+1946>) at /build/buildd/php5-5.4.9/sapi/apache2handler/sapi_apache2.c:682
        __bailout = {{__jmpbuf = {3719061328, 32654, 3813734488, 32654, 1890485299, 2340453092, 3811958968, 32654}, __mask_was_saved = -58948557, __saved_mask = {__val = {0, 0, 2516424434, 319605, 2516424434, 319605, 2516424434, 
                319605, 3811932688, 32654, 3811958968, 32654, 0, 0, 0, 0}}}}
        ctx = 0x900000000
        conf = 0x7f8ee335e0b8
        brigade = 0x7f8ee3357a48
        rv = 0
        parent_req = 0x7f8ee3358708
#47 0x00007f8ee35904b0 in ap_run_handler (r=0x7f8ee335e0b8) at config.c:159
        pHook = 0x7f8ee350f858
        n = 3
        rv = 0
#48 0x00007f8ee35908fb in ap_invoke_handler (r=r@entry=0x7f8ee335e0b8) at config.c:377
        handler = <optimized out>
        p = <optimized out>
        result = <optimized out>
        old_handler = 0x7f8ee351f8f0 "application/x-httpd-php"
        ignore = <optimized out>
#49 0x00007f8ee35a009c in ap_internal_redirect (new_uri=<optimized out>, r=<optimized out>) at http_request.c:554
        new = 0x7f8ee335e0b8
        access_status = <optimized out>
#50 0x00007f8eddabf8b8 in ?? () from /usr/lib/apache2/modules/mod_rewrite.so
No symbol table info available.
#51 0x00007f8ee35904b0 in ap_run_handler (r=0x7f8ee336b0a0) at config.c:159
        pHook = 0x7f8ee350f880
        n = 4
        rv = 0
#52 0x00007f8ee35908fb in ap_invoke_handler (r=r@entry=0x7f8ee336b0a0) at config.c:377
        handler = <optimized out>
        p = <optimized out>
        result = <optimized out>
        old_handler = 0x7f8eddac67ef "redirect-handler"
        ignore = <optimized out>
#53 0x00007f8ee35a0a28 in ap_process_request (r=r@entry=0x7f8ee336b0a0) at http_request.c:282
        access_status = <optimized out>
#54 0x00007f8ee359d8d8 in ap_process_http_connection (c=0x7f8ee3371290) at http_core.c:190
        r = 0x7f8ee336b0a0
        csd = 0x0
#55 0x00007f8ee3596e80 in ap_run_process_connection (c=0x7f8ee3371290) at connection.c:43
        pHook = 0x7f8ee350fe48
        n = 1
        rv = 0
#56 0x00007f8ee3597268 in ap_process_connection (c=c@entry=0x7f8ee3371290, csd=<optimized out>) at connection.c:190
        rc = <optimized out>
#57 0x00007f8ee35a5646 in child_main (child_num_arg=child_num_arg@entry=0) at prefork.c:667
        current_conn = 0x7f8ee3371290
        csd = 0x7f8ee33710a0
        ptrans = 0x7f8ee3371028
        allocator = 0x7f8ee5bde760
        status = <optimized out>
        i = <optimized out>
        lr = <optimized out>
        pollset = 0x7f8ee3373130
        sbh = 0x7f8ee3373128
        bucket_alloc = 0x7f8ee336d028
        last_poll_idx = 0
#58 0x00007f8ee35a5da2 in make_child (slot=0, s=0x7f8ee353b818) at prefork.c:768
        pid = 0
#59 make_child (s=0x7f8ee353b818, slot=0) at prefork.c:696
No locals.
#60 0x00007f8ee35a5e46 in startup_children (number_to_start=5) at prefork.c:786
        i = <optimized out>
#61 0x00007f8ee35a6775 in ap_mpm_run (_pconf=_pconf@entry=0x7f8ee3541028, plog=<optimized out>, s=s@entry=0x7f8ee353b818) at prefork.c:1007
        index = <optimized out>
        remaining_children_to_start = <optimized out>
        rv = <optimized out>
#62 0x00007f8ee357b24e in main (argc=3, argv=0x7fff38bcf438) at main.c:755
        c = 0 '\000'
        configtestonly = <optimized out>
        confname = 0x7f8ee35a82ca "apache2.conf"
        def_server_root = 0x7f8ee35a82bd "/etc/apache2"
        temp_error_log = <optimized out>
        error = <optimized out>
        process = 0x7f8ee3543118
        server_conf = 0x7f8ee353b818
        pglobal = <optimized out>
        pconf = 0x7f8ee3541028
        plog = 0x7f8ee3506028
        ptemp = 0x7f8ee3539028
        pcommands = 0x7f8ee353f028
        opt = 0x7f8ee353f118
        rv = 0
        mod = <optimized out>
        optarg = 0x7f8ee3543028 "(pT\343\216\177"
        signal_server = <optimized out>

tl;dr version:

#0  _zend_mm_free_int (heap=0x7f8ee57bfe10, p=0x7f8ed0005f5f) at /build/buildd/php5-5.4.9/Zend/zend_alloc.c:2071
#1  0x00007f8edf89b8fa in _zval_ptr_dtor (zval_ptr=0x7f8ed01520b0) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
#2  0x00007f8edf8b87c8 in zend_hash_destroy (ht=0x7f8ed015ede0) at /build/buildd/php5-5.4.9/Zend/zend_hash.c:560
#3  0x00007f8edf8a98eb in _zval_dtor_func (zvalue=0x7f8ed014a3f8) at /build/buildd/php5-5.4.9/Zend/zend_variables.c:45
#4  0x00007f8edf89b8fa in _zval_ptr_dtor (zval_ptr=0x7fff38bc8e50) at /build/buildd/php5-5.4.9/Zend/zend_variables.h:35
#5  0x00007f8ed6db38b5 in phalcon_memory_restore_stack () at /home/vladimir/workspace/cphalcon/ext/kernel/memory.c:196
#6  0x00007f8ed6e17971 in zim_Phalcon_DI_getShared (ht=1, return_value=0x7f8ed015ee38, return_value_ptr=0x7fff38bc9200, this_ptr=0x7f8edce6da88, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/di.c:468
#7  0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bc9270, ce=0x7f8ee5a47730, hash_key=8443312917537633385, method_name=0x7f8ed70c5680 "getshared", method_len=9, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
#8  0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5a47730, object_pp=0x7fff38bc9300, method_name=0x7f8ed70c5680 "getshared", method_len=9, retval_ptr=0x7f8ed014a3c8, param_count=1, params=0x7fff38bc93f0, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
#9  0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param_count=1, params=0x7fff38bc93f0, noreturn=1, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
#10 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param_count=1, params=0x7fff38bc93f0, noreturn=1, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
#11 0x00007f8ed6d97849 in phalcon_call_method_one_param (return_value=0x7f8ed014a3c8, object=0x7f8edce6da88, method_name=0x7f8ed70c5680 "getshared", method_len=9, param1=0x7f8ed014b330, noreturn=1, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:378
#12 0x00007f8ed6e21f1d in zim_Phalcon_Tag_getUrlService (ht=0, return_value=0x7f8ed014a060, return_value_ptr=0x7fff38bc96c0, this_ptr=0x0, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/tag.c:151
#13 0x00007f8edf89d81d in zend_call_function (fci=0x7fff38bc9610, fci_cache=0x7f8ed010c300) at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:980
#14 0x00007f8edf89dabe in call_user_function_ex (function_table=0x7f8ee57bfe10, object_pp=0x7f8ed0005f5f, function_name=0x7f8edf8a9890 <_zval_dtor_func+48>, retval_ptr_ptr=0x3, param_count=951880928, params=0x1, 
    no_separation=-690382561, symbol_table=0x1) at /build/buildd/php5-5.4.9/Zend/zend_execute_API.c:750
#15 0x00007f8ed6d9991f in phalcon_call_user_function (function_table=0x7f8ee57c0720, object_pp=0x0, function_name=0x7f8ed010abc8, retval_ptr=0x7f8ed010c718, param_count=0, params=0x0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:1097
#16 0x00007f8ed6d97fb2 in phalcon_call_static_func (return_value=0x7f8ed010c718, class_name=0x7f8ed6fa3d83 "self", class_length=4, method_name=0x7f8ed70c5781 "geturlservice", method_length=13, noreturn=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:514
#17 0x00007f8ed6d98476 in phalcon_call_self_func (return_value=0x7f8ed010c718, object=0x0, method_name=0x7f8ed70c5781 "geturlservice", method_len=13, noreturn=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:638
#18 0x00007f8ed6e27a65 in zim_Phalcon_Tag_stylesheetLink (ht=1, return_value=0x7f8ed010ccf0, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/tag.c:1527
#19 0x00007f8edf952922 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f8edce35458) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:642
#20 0x00007f8edf90c227 in execute (op_array=0x7f8ed0189a30) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:410
#21 0x00007f8ed6d99dad in phalcon_internal_require (return_value=0x0, require_path=0x7f8ed010a2c8) at /home/vladimir/workspace/cphalcon/ext/kernel/require.c:101
#22 0x00007f8ed6d99fc9 in phalcon_require (require_path=0x7f8ed010a2c8) at /home/vladimir/workspace/cphalcon/ext/kernel/require.c:145
#23 0x00007f8ed6e9e6e2 in zim_Phalcon_Mvc_View_Engine_Volt_render (ht=3, return_value=0x7f8ed01488a0, return_value_ptr=0x7fff38bcb040, this_ptr=0x7f8ed01477d0, return_value_used=1)
    at /home/vladimir/workspace/cphalcon/ext/mvc/view/engine/volt.c:204
#24 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcb0b0, ce=0x7f8ee5bcfda0, hash_key=3387474452084087672, method_name=0x7f8ed711c438 "render", method_len=6, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
#25 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5bcfda0, object_pp=0x7fff38bcb140, method_name=0x7f8ed711c438 "render", method_len=6, retval_ptr=0x7f8ed014a968, param_count=3, params=0x7fff38bcb230, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
#26 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed014a968, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param_count=3, params=0x7fff38bcb230, noreturn=0, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
#27 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param_count=3, params=0x7fff38bcb230, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
#28 0x00007f8ed6d979c0 in phalcon_call_method_three_params (return_value=0x0, object=0x7f8ed01477d0, method_name=0x7f8ed711c438 "render", method_len=6, param1=0x7f8ed0148518, param2=0x7f8ed0196b30, param3=0x7f8ed01915c0, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:409
#29 0x00007f8ed6e66c6d in zim_Phalcon_Mvc_View__engineRender (ht=5, return_value=0x7f8ed0147c40, return_value_ptr=0x7fff38bcb990, this_ptr=0x7f8ed0184a68, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/view.c:882
#30 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcba00, ce=0x7f8ee5b53e00, hash_key=2409828882833298902, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
#31 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5b53e00, object_pp=0x7fff38bcba90, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, retval_ptr=0x7f8ed01479d8, param_count=5, params=0x7fff38bcbb80, 
    method_key=0) at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
#32 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed01479d8, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param_count=5, params=0x7fff38bcbb80, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
#33 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param_count=5, params=0x7fff38bcbb80, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
#34 0x00007f8ed6d97b67 in phalcon_call_method_five_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed711fb30 "_enginerender", method_len=13, param1=0x7f8ed01b09d0, param2=0x7f8ee5b59b90, param3=0x7f8ed0146f50, 
    param4=0x7f8ed01915c0, param5=0x7f8ed0191c70, noreturn=0, method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:440
#35 0x00007f8ed6e68a74 in zim_Phalcon_Mvc_View_render (ht=3, return_value=0x7f8ed0191b30, return_value_ptr=0x7fff38bcc240, this_ptr=0x7f8ed0184a68, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/view.c:1209
#36 0x00007f8ed6db65f8 in phalcon_alt_call_method (fci=0x7fff38bcc2b0, ce=0x7f8ee5b53e00, hash_key=16622351097405646647, method_name=0x7f8ed7167a78 "render", method_len=6, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:824
#37 0x00007f8ed6db6deb in phalcon_alt_call_user_method (ce=0x7f8ee5b53e00, object_pp=0x7fff38bcc340, method_name=0x7f8ed7167a78 "render", method_len=6, retval_ptr=0x7f8ed0191a20, param_count=3, params=0x7fff38bcc430, method_key=0)
    at /home/vladimir/workspace/cphalcon/ext/kernel/alternative/fcall.c:947
#38 0x00007f8ed6d9762c in phalcon_call_method_params_internal (return_value=0x7f8ed0191a20, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param_count=3, params=0x7fff38bcc430, noreturn=0, method_key=0, 
    lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:320
#39 0x00007f8ed6d977e6 in phalcon_call_method_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param_count=3, params=0x7fff38bcc430, noreturn=0, method_key=0, lower=1)
    at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:369
#40 0x00007f8ed6d979c0 in phalcon_call_method_three_params (return_value=0x0, object=0x7f8ed0184a68, method_name=0x7f8ed7167a78 "render", method_len=6, param1=0x7f8ed019abc0, param2=0x7f8ed0199fb0, param3=0x7f8ed0197e30, noreturn=0, 
    method_key=0, lower=1) at /home/vladimir/workspace/cphalcon/ext/kernel/fcall.c:409
#41 0x00007f8ed6ea82c5 in zim_Phalcon_Mvc_Application_handle (ht=0, return_value=0x7f8ed0181958, return_value_ptr=0x0, this_ptr=0x7f8edce6a838, return_value_used=1) at /home/vladimir/workspace/cphalcon/ext/mvc/application.c:561
#42 0x00007f8edf952922 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f8edce35060) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:642
#43 0x00007f8edf90c227 in execute (op_array=0x7f8ed0174678) at /build/buildd/php5-5.4.9/Zend/zend_vm_execute.h:410
#44 0x00007f8edf8ac09c in zend_execute_scripts (type=-588871440, retval=0x300000008, file_count=32654) at /build/buildd/php5-5.4.9/Zend/zend.c:1309
#45 0x00007f8edf84bd43 in php_execute_script (primary_file=0x7fff38bcc240) at /build/buildd/php5-5.4.9/main/main.c:2482
#46 0x00007f8edf954cba in php_handler (r=0x7f8edf954cba <php_handler+1946>) at /build/buildd/php5-5.4.9/sapi/apache2handler/sapi_apache2.c:682
#47 0x00007f8ee35904b0 in ap_run_handler (r=0x7f8ee335e0b8) at config.c:159
#48 0x00007f8ee35908fb in ap_invoke_handler (r=r@entry=0x7f8ee335e0b8) at config.c:377
#49 0x00007f8ee35a009c in ap_internal_redirect (new_uri=<optimized out>, r=<optimized out>) at http_request.c:554
#50 0x00007f8eddabf8b8 in ?? () from /usr/lib/apache2/modules/mod_rewrite.so
#51 0x00007f8ee35904b0 in ap_run_handler (r=0x7f8ee336b0a0) at config.c:159
#52 0x00007f8ee35908fb in ap_invoke_handler (r=r@entry=0x7f8ee336b0a0) at config.c:377
#53 0x00007f8ee35a0a28 in ap_process_request (r=r@entry=0x7f8ee336b0a0) at http_request.c:282
#54 0x00007f8ee359d8d8 in ap_process_http_connection (c=0x7f8ee3371290) at http_core.c:190
#55 0x00007f8ee3596e80 in ap_run_process_connection (c=0x7f8ee3371290) at connection.c:43
#56 0x00007f8ee3597268 in ap_process_connection (c=c@entry=0x7f8ee3371290, csd=<optimized out>) at connection.c:190
#57 0x00007f8ee35a5646 in child_main (child_num_arg=child_num_arg@entry=0) at prefork.c:667
#58 0x00007f8ee35a5da2 in make_child (slot=0, s=0x7f8ee353b818) at prefork.c:768
#59 make_child (s=0x7f8ee353b818, slot=0) at prefork.c:696
#60 0x00007f8ee35a5e46 in startup_children (number_to_start=5) at prefork.c:786
#61 0x00007f8ee35a6775 in ap_mpm_run (_pconf=_pconf@entry=0x7f8ee3541028, plog=<optimized out>, s=s@entry=0x7f8ee353b818) at prefork.c:1007
#62 0x00007f8ee357b24e in main (argc=3, argv=0x7fff38bcf438) at main.c:755

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

What PHP code is producing the backtrace?

@ghost
Copy link
Author

ghost commented Jul 1, 2013

This: https://github.com/mruz/base-app/tree/1.2

For me the app crashes only on /user/signup (not always); as far as I can tell, the app crashes only when there's a Referer: field in the headers (I was unable to crash it using direct requests).

Crashes only under Apache.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

This PHP code always crashes under cli:

<?php

/**
 * index.php
 * 
 * @package     base-app
 * @category    Running
 * @version     1.2
 */
error_reporting(E_ALL);
$_SERVER['HTTP_REFERER'] = 'http://www.google.com/';
$_GET['_url'] = '/user/signup';
try {
    if (!defined('ROOT_PATH')) {
        define('ROOT_PATH', dirname(dirname(__FILE__)));
    }

    require_once ROOT_PATH . '/app/Bootstrap.php';

    $app = new \Bootstrap(new \Phalcon\DI\FactoryDefault());

    echo $app->handle()->getContent();
} catch (\Phalcon\Exception $e) {
    Bootstrap::log($e);
} catch (\PDOException $e) {
    Bootstrap::log($e);
} catch (\Exception $e) {
    Bootstrap::log($e);
}

If you comment out $_SERVER['HTTP_REFERER'] = ... line, it does not crash.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

One important thing: I did NOT configure the database.

Pretty interesting: with $_GET['_url'] = '/user/signin'; (and referer) it crashes after it displays the output (but not under gdb).

If I remove ANY of the catch blocks, the app does not crash.

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

I think this can be related to restore the memory frame without MM_GROW when using PHALCON_THROW_EXCEPTION_STR, I think we finally would need to introduce PHALCON_THROW_EXCEPTION_STRW

@ghost
Copy link
Author

ghost commented Jul 1, 2013

@phalcon Here is the code that reproduces the crash from CLI: https://github.com/sjinks/crash-phalcon

Looks like the issue lies somewhere in Volt.

Any of the following stops crashes:

  • use .phtml instead of .volt
  • if $this->view->setVar() in afterExecuteRoute() is removed, the app does not crash
  • if compiledPath is removed from Volt options, the app does not crash

https://github.com/sjinks/crash-phalcon/commit/843bad2d51b7c82eb440055e3b2d0d9a1b5d874e

@ghost
Copy link
Author

ghost commented Jul 1, 2013

My test code does not seem to throw any exceptions…

@ghost
Copy link
Author

ghost commented Jul 1, 2013

I think we will be able to trace down the bug: the app does not crash when used with 6e4698d

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

I'm also using the DLL for windows compiled some days ago and the bug is not in there, I think we introduced it recently

@ghost
Copy link
Author

ghost commented Jul 1, 2013

Crashes @ 7d58ea3
Does not crash @ 5116359

7d58ea3 is "Fixing throwing exceptions without a memory frame, fixing possible memory leaks in config" so I think you are right about exceptions :-(

@ghost
Copy link
Author

ghost commented Jul 1, 2013

No, these are not exceptions…

git checkout 5116359
git checkout 7d58ea3 ext/mvc/view/engine/volt/compiler.c
cd ext
phpize --clean && phpize && ./configure && make -B -j15 && sudo make install

With this configuration the app crashes.

These are the changes in the code: 7d58ea3#diff-15

BTW, when is it right to use PHALCON_OBS_VAR()?

@ghost
Copy link
Author

ghost commented Jul 1, 2013

These changes fix the crash:

diff --git a/ext/mvc/view/engine/volt/compiler.c b/ext/mvc/view/engine/volt/compiler.c
index 21c841a..74b90b3 100644
--- a/ext/mvc/view/engine/volt/compiler.c
+++ b/ext/mvc/view/engine/volt/compiler.c
@@ -3591,7 +3591,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compile){
                 * This makes that templates will be compiled always
                 */
                if (phalcon_array_isset_string(options, SS("compileAlways"))) {
-       
+                       PHALCON_OBS_NVAR(compile_always);
                        phalcon_array_fetch_string(&compile_always, options, SL("compileAlways"), PH_NOISY_CC);
                        if (Z_TYPE_P(compile_always) != IS_BOOL) {
                                PHALCON_THROW_EXCEPTION_STR(phalcon_mvc_view_exception_ce, "compileAlways must be a bool value");
@@ -3603,7 +3603,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compile){
                 * Prefix is prepended to the template name
                 */
                if (phalcon_array_isset_string(options, SS("prefix"))) {
-       
+                       PHALCON_OBS_NVAR(prefix);
                        phalcon_array_fetch_string(&prefix, options, SL("prefix"), PH_NOISY_CC);
                        if (Z_TYPE_P(prefix) != IS_STRING) {
                                PHALCON_THROW_EXCEPTION_STR(phalcon_mvc_view_exception_ce, "prefix must be a string");
@@ -3728,6 +3728,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compile){
                /** 
                 * Compile always must be used only in the development stage
                 */
+               PHALCON_INIT_VAR(compilation);
                phalcon_call_method_p3(compilation, this_ptr, "compilefile", template_path, real_compiled_path, extends_mode);
        } else {
                if (PHALCON_IS_TRUE(stat)) {

or even

diff --git a/ext/mvc/view/engine/volt/compiler.c b/ext/mvc/view/engine/volt/compiler.c
index 21c841a..f828389 100644
--- a/ext/mvc/view/engine/volt/compiler.c
+++ b/ext/mvc/view/engine/volt/compiler.c
@@ -3728,6 +3728,7 @@ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt_Compiler, compile){
                /** 
                 * Compile always must be used only in the development stage
                 */
+               PHALCON_INIT_NVAR(compilation);
                phalcon_call_method_p3(compilation, this_ptr, "compilefile", template_path, real_compiled_path, extends_mode);
        } else {
                if (PHALCON_IS_TRUE(stat)) {

But now I am a bit clueless regarding PHALCON_OBS_NVAR(): I see cases where it is used before phalcon_array_fetch_string() but also see cases where it is not. I must say I did not look closely int the memory management API though. What are the advantages of PHALCON_OBS_(N)VAR over PHALCON_INIT_(N)VAR?

@ghost ghost mentioned this pull request Jul 1, 2013
@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

PHALCON_OBS_VAR tracks a variable in the active memory frame, the variable is tracked without check if it was marked for tracking before. PHALCON_OBS_NVAR do the same but it checks if the variable is not pointing to NULL which means the variable is already tracked.

@ghost
Copy link
Author

ghost commented Jul 1, 2013

Just trying to understand why PHALCON_INIT_NVAR(compilation) fixed the issue…

compilation was initialized like this:

PHALCON_INIT_VAR(znull);
/* ... */
phalcon_update_property_this(this_ptr, SL("_blocks"), znull TSRMLS_CC);
/* ... */
PHALCON_CPY_WRT(prefix, znull);
/* ... */
PHALCON_CPY_WRT(compilation, znull);

At this point Z_REFCOUNT_P(compilation) == Z_REFCOUNT_P(znull) == 4.
After PHALCON_INIT_NVAR(compilation); Z_REFCOUNT_P(compilation) == 1, Z_REFCOUNT_P(znull) == 3.

If we remove PHALCON_INIT_NVAR(compilation); then phalcon_alt_call_user_method() will mess up reference counting with COPY_PZVAL_TO_ZVAL(*retval_ptr, local_retval_ptr);

At this point we will have Z_REFCOUNT_P(compilation) == Z_REFCOUNT_P(znull) == 1 and compilation, zroot, prefix and possibly $this->_blocks will point to the same memory location to compilation variable.

Question: if phalcon_alt_call_user_method() and company are known to ruthlessly overwrite the result value, why not add a check in the developer mode and catch such misuses?

This is what I am thinking of (quick and dirty):

diff --git a/ext/kernel/fcall.c b/ext/kernel/fcall.c
index 1263f83..646cdb3 100755
--- a/ext/kernel/fcall.c
+++ b/ext/kernel/fcall.c
@@ -36,6 +36,10 @@

 #include "kernel/alternative/fcall.h"

+#ifdef linux
+#include <execinfo.h>
+#endif
+
 /**
  * Finds the correct scope to execute the function
  */
@@ -306,6 +310,32 @@ static inline int phalcon_call_method_params_internal(zval *return_value, zval *
        if (!noreturn) {
                ALLOC_INIT_ZVAL(return_value);
        }
+       else {
+               int ok = 1;
+               if (Z_REFCOUNT_P(return_value) > 1) {
+                       zend_printf("phalcon_call_method_params_internal(): return_value has %d references, expect crashes!\n", Z_REFCOUNT_P(return_value));
+                       ok = 0;
+               }
+               else if (Z_TYPE_P(return_value) > IS_BOOL) {
+                       /* Destructors won't be called */
+                       zend_printf("phalcon_call_method_params_internal(): return_value has type %d, expect memory leaks\n", Z_TYPE_P(return_value));
+                       ok = 0;
+               }
+#ifdef linux
+               if (!ok) {
+                       int i;
+                       void* backtrace_buf[4096];
+                       int stack_size       = backtrace(backtrace_buf, sizeof(backtrace_buf)/sizeof(void*));
+                       char** stack_symbols = backtrace_symbols(backtrace_buf, stack_size);
+
+                       for (i=0; i<stack_size; ++i) {
+                               zend_printf("#%d  %p [%s]\n", i, backtrace_buf[i], stack_symbols[i]);
+                       }
+                       
+                       zend_printf("\n");
+               }
+#endif
+       }

        active_scope = EG(scope);

This is how it will look like:

$ php index.php 
phalcon_call_method_params_internal(): return_value has 4 references, expect crashes!
#0  0x7f2fa611ffa8 [/usr/lib/php5/20100525/phalcon.so(+0x72fa8) [0x7f2fa611ffa8]]
#1  0x7f2fa61207b2 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_params+0x22) [0x7f2fa61207b2]]
#2  0x7f2fa61208c5 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_three_params+0x41) [0x7f2fa61208c5]]
#3  0x7f2fa61c197b [/usr/lib/php5/20100525/phalcon.so(zim_Phalcon_Mvc_View_Engine_Volt_Compiler_compile+0xaaf) [0x7f2fa61c197b]]
#4  0x7f2fa6138cc0 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_method+0xe90) [0x7f2fa6138cc0]]
#5  0x7f2fa61391e2 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_user_method+0x205) [0x7f2fa61391e2]]
#6  0x7f2fa611ff09 [/usr/lib/php5/20100525/phalcon.so(+0x72f09) [0x7f2fa611ff09]]
#7  0x7f2fa61207b2 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_params+0x22) [0x7f2fa61207b2]]
#8  0x7f2fa61207e6 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_one_param+0x2f) [0x7f2fa61207e6]]
#9  0x7f2fa61d3a0a [/usr/lib/php5/20100525/phalcon.so(zim_Phalcon_Mvc_View_Engine_Volt_render+0x13e) [0x7f2fa61d3a0a]]
#10  0x7f2fa6138cc0 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_method+0xe90) [0x7f2fa6138cc0]]
#11  0x7f2fa61391e2 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_user_method+0x205) [0x7f2fa61391e2]]
#12  0x7f2fa611ff09 [/usr/lib/php5/20100525/phalcon.so(+0x72f09) [0x7f2fa611ff09]]
#13  0x7f2fa61207b2 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_params+0x22) [0x7f2fa61207b2]]
#14  0x7f2fa61208c5 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_three_params+0x41) [0x7f2fa61208c5]]
#15  0x7f2fa61b199c [/usr/lib/php5/20100525/phalcon.so(zim_Phalcon_Mvc_View__engineRender+0xab7) [0x7f2fa61b199c]]
#16  0x7f2fa6138cc0 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_method+0xe90) [0x7f2fa6138cc0]]
#17  0x7f2fa61391e2 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_user_method+0x205) [0x7f2fa61391e2]]
#18  0x7f2fa611ff09 [/usr/lib/php5/20100525/phalcon.so(+0x72f09) [0x7f2fa611ff09]]
#19  0x7f2fa61207b2 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_params+0x22) [0x7f2fa61207b2]]
#20  0x7f2fa61209e4 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_five_params+0x5b) [0x7f2fa61209e4]]
#21  0x7f2fa61b0c36 [/usr/lib/php5/20100525/phalcon.so(zim_Phalcon_Mvc_View_render+0xf1b) [0x7f2fa61b0c36]]
#22  0x7f2fa6138cc0 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_method+0xe90) [0x7f2fa6138cc0]]
#23  0x7f2fa61391e2 [/usr/lib/php5/20100525/phalcon.so(phalcon_alt_call_user_method+0x205) [0x7f2fa61391e2]]
#24  0x7f2fa611ff09 [/usr/lib/php5/20100525/phalcon.so(+0x72f09) [0x7f2fa611ff09]]
#25  0x7f2fa61207b2 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_params+0x22) [0x7f2fa61207b2]]
#26  0x7f2fa61208c5 [/usr/lib/php5/20100525/phalcon.so(phalcon_call_method_three_params+0x41) [0x7f2fa61208c5]]
#27  0x7f2fa61d8e3e [/usr/lib/php5/20100525/phalcon.so(zim_Phalcon_Mvc_Application_handle+0x1937) [0x7f2fa61d8e3e]]
#28  0x75ef52 [php() [0x75ef52]]
#29  0x718857 [php(execute+0x207) [0x718857]]
#30  0x6b86cc [php(zend_execute_scripts+0x15c) [0x6b86cc]]
#31  0x658373 [php(php_execute_script+0x1d3) [0x658373]]
#32  0x761583 [php() [0x761583]]
#33  0x42c750 [php() [0x42c750]]
#34  0x7f2fa8707ea5 [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f2fa8707ea5]]
#35  0x42c7e5 [php() [0x42c7e5]]

What do you think (e.g., for 1.3.0)?

@phalcon
Copy link
Collaborator

phalcon commented Jul 1, 2013

Your explanation is correct, the patch looks great!, very useful, we can add an:

#ifndef PHALCON_RELEASE
...
#endif

to remove that on the build/ versions

@ghost ghost mentioned this pull request Jul 2, 2013
@mruz
Copy link
Contributor

mruz commented Jul 2, 2013

I see That you have generated a backtrace and solution has been found.
In the base-app 1.2 I'm testing new features and not finished yet, the code requires some improvements, I pushed "as is".

@ghost ghost closed this Jul 6, 2013
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants