# crash in sqlite_oo/spl

- Thread: https://externals.io/message/8098
- Original archive: https://news-web.php.net/php.internals/8098
- Started by Ard Biesheuvel on 2004-02-24T13:41:09+00:00
- Messages: 7
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #8098 — Ard Biesheuvel — 2004-02-24T13:41:09+00:00

URL: https://externals.io/message/8098#8098

Currently, ext/sqlite/tests/sqlite_oo_031.phpt crashes after completion 
of the script. If I unset($menu_iterator) first, the crash disappears.

-- 
Ard

---

## #8099 — Ard Biesheuvel — 2004-02-24T13:49:01+00:00

URL: https://externals.io/message/8098#8099 · In reply to: #8098

#0  0x081b81ed in _zend_is_inconsistent (ht=0x5a5a5a5a, file=0x821d580 
"/home/abies/build/php5-cvs/Zend/zend_hash.c", line=504)
     at /home/abies/build/php5-cvs/Zend/zend_hash.c:53
#1  0x081b99b2 in zend_hash_destroy (ht=0x5a5a5a5a) at 
/home/abies/build/php5-cvs/Zend/zend_hash.c:504
#2  0x08090c25 in sqlite_object_free_storage (object=0x402839d4) at 
/home/abies/build/php5-cvs/ext/sqlite/sqlite.c:764
#3  0x081c8b75 in zend_objects_store_del_ref (zobject=0x4028b50c) at 
/home/abies/build/php5-cvs/Zend/zend_objects_API.c:140
#4  0x081b0142 in _zval_dtor (zvalue=0x4028b50c, 
__zend_filename=0x821b7e0 
"/home/abies/build/php5-cvs/Zend/zend_execute_API.c",
     __zend_lineno=359) at 
/home/abies/build/php5-cvs/Zend/zend_variables.c:61
#5  0x081a5f9b in _zval_ptr_dtor (zval_ptr=0x4028d348,
     __zend_filename=0x821c540 
"/home/abies/build/php5-cvs/Zend/zend_variables.c", __zend_lineno=196)
     at /home/abies/build/php5-cvs/Zend/zend_execute_API.c:359
#6  0x081b0470 in _zval_ptr_dtor_wrapper (zval_ptr=0x4028d348) at 
/home/abies/build/php5-cvs/Zend/zend_variables.c:196
#7  0x081b99f9 in zend_hash_destroy (ht=0x4028cf9c) at 
/home/abies/build/php5-cvs/Zend/zend_hash.c:513
#8  0x081c6305 in zend_objects_free_object_storage (object=0x40287774) 
at /home/abies/build/php5-cvs/Zend/zend_objects.c:77
#9  0x081c8971 in zend_objects_store_free_object_storage (objects=0x823a120)
     at /home/abies/build/php5-cvs/Zend/zend_objects_API.c:71
#10 0x081a5d17 in shutdown_executor () at 
/home/abies/build/php5-cvs/Zend/zend_execute_API.c:273
#11 0x081b1864 in zend_deactivate () at 
/home/abies/build/php5-cvs/Zend/zend.c:814
#12 0x0816e07c in php_request_shutdown (dummy=0x0) at 
/home/abies/build/php5-cvs/main/main.c:1243
#13 0x081e16e3 in main (argc=2, argv=0xbffffd74) at 
/home/abies/build/php5-cvs/sapi/cli/php_cli.c:1044

---

## #8105 — Andi Gutmans — 2004-02-24T21:48:44+00:00

URL: https://externals.io/message/8098#8105 · In reply to: #8098

Looks like a reference count problem to me.
Best if the ppl familiar with sqlite/spl take a look.

Andi

At 14:49 24/02/2004 +0100, Ard Biesheuvel wrote:
>#0  0x081b81ed in _zend_is_inconsistent (ht=0x5a5a5a5a, file=0x821d580 
>"/home/abies/build/php5-cvs/Zend/zend_hash.c", line=504)
>     at /home/abies/build/php5-cvs/Zend/zend_hash.c:53
>#1  0x081b99b2 in zend_hash_destroy (ht=0x5a5a5a5a) at 
>/home/abies/build/php5-cvs/Zend/zend_hash.c:504
>#2  0x08090c25 in sqlite_object_free_storage (object=0x402839d4) at 
>/home/abies/build/php5-cvs/ext/sqlite/sqlite.c:764
>#3  0x081c8b75 in zend_objects_store_del_ref (zobject=0x4028b50c) at 
>/home/abies/build/php5-cvs/Zend/zend_objects_API.c:140
>#4  0x081b0142 in _zval_dtor (zvalue=0x4028b50c, __zend_filename=0x821b7e0 
>"/home/abies/build/php5-cvs/Zend/zend_execute_API.c",
>     __zend_lineno=359) at /home/abies/build/php5-cvs/Zend/zend_variables.c:61
>#5  0x081a5f9b in _zval_ptr_dtor (zval_ptr=0x4028d348,
>     __zend_filename=0x821c540 
> "/home/abies/build/php5-cvs/Zend/zend_variables.c", __zend_lineno=196)
>     at /home/abies/build/php5-cvs/Zend/zend_execute_API.c:359
>#6  0x081b0470 in _zval_ptr_dtor_wrapper (zval_ptr=0x4028d348) at 
>/home/abies/build/php5-cvs/Zend/zend_variables.c:196
>#7  0x081b99f9 in zend_hash_destroy (ht=0x4028cf9c) at 
>/home/abies/build/php5-cvs/Zend/zend_hash.c:513
>#8  0x081c6305 in zend_objects_free_object_storage (object=0x40287774) at 
>/home/abies/build/php5-cvs/Zend/zend_objects.c:77
>#9  0x081c8971 in zend_objects_store_free_object_storage (objects=0x823a120)
>     at /home/abies/build/php5-cvs/Zend/zend_objects_API.c:71
>#10 0x081a5d17 in shutdown_executor () at 
>/home/abies/build/php5-cvs/Zend/zend_execute_API.c:273
>#11 0x081b1864 in zend_deactivate () at 
>/home/abies/build/php5-cvs/Zend/zend.c:814
>#12 0x0816e07c in php_request_shutdown (dummy=0x0) at 
>/home/abies/build/php5-cvs/main/main.c:1243
>#13 0x081e16e3 in main (argc=2, argv=0xbffffd74) at 
>/home/abies/build/php5-cvs/sapi/cli/php_cli.c:1044

---

## #8108 — Marcus Boerger — 2004-02-24T23:45:39+00:00

URL: https://externals.io/message/8098#8108 · In reply to: #8099

Hello Ard,

on the first sight it looks pretty much as if you havn't updated your build
tree completley. Please check that ext/spl, ext/sqlite and Zend are up to
date. Because for me it works pretty well. However i think this may not be
your problem since looking at the backtrace shows that an uninitialized
sqlite object gets gestroyed (#1: ht=0x5a5a5a5a).


Tuesday, February 24, 2004, 2:49:01 PM, you wrote:

> #0  0x081b81ed in _zend_is_inconsistent (ht=0x5a5a5a5a, file=0x821d580 
> "/home/abies/build/php5-cvs/Zend/zend_hash.c", line=504)
>      at /home/abies/build/php5-cvs/Zend/zend_hash.c:53
> #1  0x081b99b2 in zend_hash_destroy (ht=0x5a5a5a5a) at 
> /home/abies/build/php5-cvs/Zend/zend_hash.c:504
> #2  0x08090c25 in sqlite_object_free_storage (object=0x402839d4) at 
> /home/abies/build/php5-cvs/ext/sqlite/sqlite.c:764
> #3  0x081c8b75 in zend_objects_store_del_ref (zobject=0x4028b50c) at 
> /home/abies/build/php5-cvs/Zend/zend_objects_API.c:140
> #4  0x081b0142 in _zval_dtor (zvalue=0x4028b50c, 
> __zend_filename=0x821b7e0 
> "/home/abies/build/php5-cvs/Zend/zend_execute_API.c",
>      __zend_lineno=359) at 
> /home/abies/build/php5-cvs/Zend/zend_variables.c:61
> #5  0x081a5f9b in _zval_ptr_dtor (zval_ptr=0x4028d348,
>      __zend_filename=0x821c540 
> "/home/abies/build/php5-cvs/Zend/zend_variables.c", __zend_lineno=196)
>      at /home/abies/build/php5-cvs/Zend/zend_execute_API.c:359
> #6  0x081b0470 in _zval_ptr_dtor_wrapper (zval_ptr=0x4028d348) at 
> /home/abies/build/php5-cvs/Zend/zend_variables.c:196
> #7  0x081b99f9 in zend_hash_destroy (ht=0x4028cf9c) at 
> /home/abies/build/php5-cvs/Zend/zend_hash.c:513
> #8  0x081c6305 in zend_objects_free_object_storage (object=0x40287774) 
> at /home/abies/build/php5-cvs/Zend/zend_objects.c:77
> #9  0x081c8971 in zend_objects_store_free_object_storage (objects=0x823a120)
>      at /home/abies/build/php5-cvs/Zend/zend_objects_API.c:71
> #10 0x081a5d17 in shutdown_executor () at 
> /home/abies/build/php5-cvs/Zend/zend_execute_API.c:273
> #11 0x081b1864 in zend_deactivate () at 
> /home/abies/build/php5-cvs/Zend/zend.c:814
> #12 0x0816e07c in php_request_shutdown (dummy=0x0) at 
> /home/abies/build/php5-cvs/main/main.c:1243
> #13 0x081e16e3 in main (argc=2, argv=0xbffffd74) at 
> /home/abies/build/php5-cvs/sapi/cli/php_cli.c:1044




-- 
Best regards,
 Marcus                            mailto:helly@php.net

---

## #8112 — Ard Biesheuvel — 2004-02-25T00:53:18+00:00

URL: https://externals.io/message/8098#8112 · In reply to: #8108

Marcus Boerger wrote:

> Hello Ard,
> 
> on the first sight it looks pretty much as if you havn't updated your build
> tree completley. Please check that ext/spl, ext/sqlite and Zend are up to
> date. Because for me it works pretty well. However i think this may not be
> your problem since looking at the backtrace shows that an uninitialized
> sqlite object gets gestroyed (#1: ht=0x5a5a5a5a).

I've narrowed it down to :

php -r '$o->foo = new sqlite_db("/tmp/sqlite_db");'


-- 
Ard

---

## #8114 — Marcus Boerger — 2004-02-25T08:18:49+00:00

URL: https://externals.io/message/8098#8114 · In reply to: #8112

Hello Ard,

Wednesday, February 25, 2004, 1:53:18 AM, you wrote:

> Marcus Boerger wrote:

> > […]

> I've narrowed it down to :

> php -r '$o->foo = new sqlite_db("/tmp/sqlite_db");'

Thanks, this why i had a SEGV too. And i found a problem in the way the
engine destructs and frees objects during shutdown. Please try again it
should be fixed right now.

Best regards,
 Marcus                            mailto:helly@php.net

---

## #8117 — Ard Biesheuvel — 2004-02-25T10:39:40+00:00

URL: https://externals.io/message/8098#8117 · In reply to: #8114

> Thanks, this why i had a SEGV too. And i found a problem in the way the
> engine destructs and frees objects during shutdown. Please try again it
> should be fixed right now.

It works now.

-- 
Ard
