From:             [EMAIL PROTECTED]
Operating system: RedHat 7.1
PHP version:      4.0CVS-2002-03-08
PHP Bug Type:     MySQL related
Bug description:  Difficult to say in brief. I have included some output from gdb

To whoever reads this.

This is quite complicated (for me) so please bear with me.
I have a script run from the command line that makes a MySQL connection,
scans a table for data, if the table is empty it sleeps() for 5 seconds
then scans again. Once it finds a message, it outputs the data to a pager
transmitter.

Everything appears to function well for a couple of hours or so but then
it just produces a core dump of around 22Mb.

Certainly no expert with gdb (only just found out it existed when trying
to submit a bug report), I have extracted the only lines that appear with
information in them. Just using the example 
int (char
*)(executor_globals.function_state_ptr->function)->common.function_name
on the gdb backtrace page produced
this:
"Attempt to extract a component of a value that is not a structure."

The only reason I came to submit it as a bug is because using od -c core I
came accross this:

0020640 C a n n o t  i n c r e m e n t
0020660 / d e c r e  m e n t o v e r l
0020700 o a d e d o b j e c t s  n   o
0020720 r s t r i n g  o f f s e t s
0020740 \0 U n d e f i n e d  c l a s s
0020760 n a m e ' % s ' \0 t h i s  \0
0021000 C a l l  t o a  m e m b e r
0021020 f u n c t i o n  o n  a n
0021040 o n - o b j e c t \0 B u g : P
0021060 r o b l e m i n  m e t h o d
0021100 c a l l \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0021140 C a l l t o  u n d e f i n e
0021160 d f u n c t i o n : % s (
0021200 ) \0 U n k n o w n f u n c t i
0021220 o n : % s ( ) \n \0 \0 \0 \0 \0 \0
0021240 P r o b l e m  w i t h  m e t
0021260 h o d   c a l l . R e p o r t
0021300 t h i s   b u g  \n  \0  \0  \0  \0  \0  \0
And I have mmm.... one or two of these :)

The only lines from gdb (exept for lots and lots of 
#24 0x081167d7 in execute ()
#25 0x081167d7 in execute ())
are these:

#0  0x4026243c in _IO_vfprintf (s=0xbf8005a0, format=0x405e6d6d
"mysql_%s_%s_%s",
    ap=0xbf800688) at vfprintf.c:231
#1  0x40280202 in _IO_vsprintf (string=0x8c98fa4 "db_server_password",
    format=0x405e6d6d "mysql_%s_%s_%s", args=0xbf800688) at
iovsprintf.c:47
#2  0x4026c677 in sprintf (s=0x8c98fa4 "db_server_password",
    format=0x405e6d6d "mysql_%s_%s_%s") at sprintf.c:38
#3  0x405e33e7 in php_mysql_do_connect () from /usr/lib/php4/mysql.so
#4  0x405e39dd in php_if_mysql_connect () from /usr/lib/php4/mysql.so
#5  0x081165ef in execute ()
#6  0x081167d7 in execute ()

#1304 0x081167d7 in execute ()
#1305 0x081167d7 in execute ()
#1306 0x080e3dc5 in zend_execute_scripts ()
#1307 0x08061cc4 in php_execute_script ()
#1308 0x0805fd5e in main ()
#1309 0x40229177 in __libc_start_main (main=0x805f370 <main>, argc=3,
ubp_av=0xbffffb0c,
    init=0x805d904 <_init>, fini=0x812073c <_fini>, rtld_fini=0x4000e184
<_dl_fini>,
    stack_end=0xbffffafc) at ../sysdeps/generic/libc-start.c:129

#1307 0x08061cc4 in php_execute_script ()
(gdb) print (char
*)(executor_globals.function_state_ptr->function)->common.function_name
Attempt to extract a component of a value that is not a structure.

Finally we have the function:

function scan_mq(){
  db_connect() or die('Unable to connect to database server!');
  $mq_query="SELECT id, message_from, message_to, message, priority, time,
email_friendly_name, email_message_id, button_type, battery_status from mq
group by priority,time";
  $mq=mysql_query($mq_query) or die("query failed");
        $num_rows = mysql_num_rows($mq);
        while($num_rows <= 0){
        sleep(5);
//db_free_result($delete_message_from_mq_query);
  db_close($mq);
        scan_mq(); // Repeats the function if the message queue is empty.
        }
blah de blah.......

Perhaps upgrading from 4.0.4pl1 to the latest might fix the problem but I
thought I should submit this anyway.
If you need any more details, core file (?) or anything just mail me and I
will do what I can.

Best to all.

Ken Steven
-- 
Edit bug report at http://bugs.php.net/?id=15956&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=15956&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=15956&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=15956&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=15956&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15956&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=15956&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=15956&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=15956&r=submittedtwice

Reply via email to