[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Major bug in mysql build (all versions since 4.1)



BERTRAND Joël napsal(a):
Daniel Smolik a écrit :
BERTRAND Joël napsal(a):
Frans Pop a écrit :

tags 334339 - wontfix
thanks

On Sunday 25 March 2007 20:02, BERTRAND Joël wrote:

    See bug #334339 (wontfix).


IMO the "wontfix" tag is not correct. There should at least be an explanation by the maintainer _why_ he considers this an issue that is does not need to be fixed. Removing the tag as it was added without any justification. AFAICT this is a real issue that should be solved.


    I aggree.

Bug was reported to mysql dev without success because dev have said that is a gcc-4.0 bug, not a mysql bug.


Yes, but the gcc maintainers have said that the bug there has been fixed
"long ago". Unfortunately they don't say in which version.


"has been fixed" ? I have tried to build mysql with _all_ gcc release between 3.3 and 4.1 without any success. Where have you seen that this bug was fixed ?

Maybe, but I think it is not very difficult to fix the configure.in
script to avoid this bug.


I have no idea about that and no idea how that would affect other architectures. Anyway, It is now probably too late to fix this for Etch.


I have no idea too. In a first time, I suspected a 32 bits wide userland and a 64 bits kernel... Maybe a trouble with gcc include on sparc architectures.

    Regards,

    JKB


Hi,
could you tell me if this bug
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413471
reported by me is the same as bug you reported ?

    Yes, I think. But to be sure, you have to apply my workaround.

    Regards,

    JKB


Hi,
I am  100% sure that my  colleague  found fundamentals  of this bug.
On SPARC linux is used thread safe version of gethostbyname genthostbyname_r. This function have third argument char buffer. But if this buffer is not correctly aligned (on SPARC / 4 ) program crashed with BUSS ERROR. I attach demonstrate program to test this issue. If you change size of buffer from 1002 to 1000 program start working.
I mean  that simple workaround on SPARC is not use gethostbyname_r.
I try report this bug to glibc. Because I mean that this is glibc bug or compatibility problem.

			Regards
					Dan






--
Mydatex s r.o.
http://www.mydatex.cz
email: smolik@mydatex.cz
mob: 604200362
tel: 226210085
#include<stdio.h>
#include<netdb.h>
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>

extern int h_errno;


int  main(void)
{

int ret;
const char *name="karotka";
char buf[1002];
int  tmp_errno,buflen;
struct hostent tmp_hostent,*hp;
//struct hostent_data hd;
int size;

buflen=1000;

//size=sizeof(struct hostent_data);
//printf("size=%d\n",size);

  
  printf("Align buff result=%p,buffer=%p,buflen=%d\n",&tmp_hostent,buf,buflen);

  ret=gethostbyname_r(name,&tmp_hostent, buf,buflen,&hp,&tmp_errno);  

  printf("ret:=%d\n",ret);
  if(ret==0)
  {
  
    if(hp)
    {
    
        printf("Lenght:=%d\n",hp->h_length);
        printf("Addr:=%X\n",hp->h_addr);
        printf("Name:=%s\n",hp->h_name);
        
    
    }
  
  
  }






 return(ret);
}

Reply to: