Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Sep 2004 23:55:17 +0400
From:      Vladimir Grebenschikov <vova@fbsd.ru>
To:        Joe Marcus Clarke <marcus@FreeBSD.org>
Cc:        gnome@FreeBSD.org
Subject:   Re: Got Evolution crashes?
Message-ID:  <1095450917.88662.1.camel@localhost>
In-Reply-To: <4149C5C7.4050904@FreeBSD.org>
References:  <4149C5C7.4050904@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
=F7 =DE=D4, 16/09/2004 =D7 12:56 -0400, Joe Marcus Clarke =D0=C9=DB=C5=D4:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>=20
> Anyone experiencing a crash in Evolution 2.0.0 (Evo 2.0.0 ONLY), please
> apply the attached patch, and rebuild, and let me know if the crashes go
> away.

Before patch it crashes only on single big mailbox.
After patch it crashed on every start not depending on mailboxes.

> Joe
>=20
> - --
> Joe Marcus Clarke
> FreeBSD GNOME Team	::	gnome@FreeBSD.org
> FreeNode / #freebsd-gnome
> http://www.FreeBSD.org/gnome
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (Darwin)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>=20
> iD8DBQFBScXHb2iPiv4Uz4cRAqygAJ9iUFcjBatNJ7fR7ojNS0QMDrqw5ACeKEp3
> Z0evgiQmezYUMERWEZgBPH0=3D
> =3DmzlY
> -----END PGP SIGNATURE-----
> =D7=CC=CF=D6=C5=CE=C9=C5 plain text document (patch-e-util_e-msgport.c)
> --- e-util/e-msgport.c.orig	Thu Sep 16 12:48:05 2004
> +++ e-util/e-msgport.c	Thu Sep 16 12:52:52 2004
> @@ -921,9 +921,12 @@
>  void e_thread_put(EThread *e, EMsg *msg)
>  {
>  	pthread_t id;
> +	pthread_attr_t attr;
>  	EMsg *dmsg =3D NULL;
> =20
>  	pthread_mutex_lock(&e->mutex);
> +	/* Give us a 1 MB thread stack size. */
> +	pthread_attr_setstacksize(&attr, 0x100000);
> =20
>  	/* the caller forgot to tell us what to do, well, we can't do anything =
can we */
>  	if (e->received =3D=3D NULL) {
> @@ -962,13 +965,14 @@
>  		e_msgport_put(e->server_port, msg);
>  		if (e->waiting =3D=3D 0
>  		    && g_list_length(e->id_list) < e->queue_limit
> -		    && pthread_create(&id, NULL, thread_dispatch, e) =3D=3D 0) {
> +		    && pthread_create(&id, &attr, thread_dispatch, e) =3D=3D 0) {
>  			struct _thread_info *info =3D g_malloc0(sizeof(*info));
>  			t(printf("created NEW thread %ld\n", id));
>  			info->id =3D id;
>  			info->busy =3D TRUE;
>  			e->id_list =3D g_list_append(e->id_list, info);
>  		}
> +		pthread_attr_destroy(&attr);
>  		pthread_mutex_unlock(&e->mutex);
>  		return;
>  	}
> @@ -977,12 +981,13 @@
>  	if (e->id =3D=3D E_THREAD_NONE) {
>  		int err;
> =20
> -		if ((err =3D pthread_create(&e->id, NULL, thread_dispatch, e)) !=3D 0)=
 {
> +		if ((err =3D pthread_create(&e->id, &attr, thread_dispatch, e)) !=3D 0=
) {
>  			g_warning("Could not create dispatcher thread, message queued?: %s", =
strerror(err));
>  			e->id =3D E_THREAD_NONE;
>  		}
>  	}
> =20
> +	pthread_attr_destroy(&attr);
>  	pthread_mutex_unlock(&e->mutex);
> =20
>  	if (dmsg) {
> _______________________________________________
> freebsd-gnome@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-gnome
> To unsubscribe, send any mail to "freebsd-gnome-unsubscribe@freebsd.org"
--=20
Vladimir B. Grebenchikov
vova@fbsd.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1095450917.88662.1.camel>