Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Sep 2012 16:28:41 +0100 (BST)
From:      Anton Shterenlikht <mexas@bristol.ac.uk>
To:        jbeich@tormail.org, mexas@bristol.ac.uk
Cc:        freebsd-gecko@freebsd.org
Subject:   Re: ia64 www/firefox - segfault on startup
Message-ID:  <201209041528.q84FSfOm005248@mech-cluster241.men.bris.ac.uk>
In-Reply-To: <1T8dWC-000FCy-Im@internal.tormail.org>

next in thread | previous in thread | raw e-mail | index | archive | help
	From jbeich@tormail.org Mon Sep  3 23:37:19 2012
	>
	> It segfaults straight away on the firefox congratulations
	> page (or whatever it is called):
	>
	> http://eis.bris.ac.uk/~mexas/ia64-exp-ff15-debug-output
	[picking a random thread]
	> Thread 13 (Thread 134d81800 (LWP 101632/firefox)):
	> #0  0x000000012049dbc0 in __error () from /lib/libthr.so.3
	> #1  0x0000000120482d00 in pthread_getschedparam () from /lib/libthr.so.3
	> #2  0x0000000000000000 in ?? ()
	> Previous frame identical to this frame (corrupt stack?)

	Can you build libthr and nspr with debug symbols? Even if it doesn't
	trigger an assert gdb backtrace would be more verbose.

	  $ cd /usr/src/lib/libthr; make all install DEBUG_FLAGS='-g'

done

	  $ cd /usr/ports/devel/nspr; make install WITH_DEBUG=

	Also try disabling pthread_getschedparam in devel/nspr.


	--=-=-=
	Content-Type: text/x-patch
	Content-Disposition: attachment;
	 filename=patch-ia64-disable-pthread_getschedparam

	--- ../pr/src/pthreads/ptthread.c~
	+++ ../pr/src/pthreads/ptthread.c
	@@ -25,7 +25,7 @@
	 #include <pthread_np.h>
	 #endif
	 
	-#ifdef SYMBIAN
	+#if defined(SYMBIAN) || (defined(FREEBSD) && defined(__ia64))
	 /* In Open C sched_get_priority_min/max do not work properly, so we undefine
	  * _POSIX_THREAD_PRIORITY_SCHEDULING here.
	  */

	--=-=-=--

Ok, about devel/nspr - it fails tests.
Here's what I did:

# pwd 
/usr/ports/devel/nspr
# cat files/patch-ia64-disable-pthread_getschedparam
--- ../pr/src/pthreads/ptthread.c~
+++ ../pr/src/pthreads/ptthread.c
@@ -25,7 +25,7 @@
 #include <pthread_np.h>
 #endif

-#ifdef SYMBIAN
+#if defined(SYMBIAN) || (defined(FREEBSD) && defined(__ia64))
 /* In Open C sched_get_priority_min/max do not work properly, so we undefine
  * _POSIX_THREAD_PRIORITY_SCHEDULING here.
  */
# 

Fine so far, right?

I build WITH_DEBUG=, the log is:

http://seis.bris.ac.uk/~mexas/nspr-build.log

By the way, can I check just from the build log
that I indeed used WITH_DEBUG= ? Is it the
"-UDEBUG  -DNDEBUG=1" tokens?

I never paid much attention to this port, so
I never run the tests before. So I don't know
if they always failed on ia64, or it is a new thing.

Anyway, the test log:

http://seis.bris.ac.uk/~mexas/nspr-test.log

There are 2 failures:

     libfilename			FAILED
	libfilename:	PR_GetLibraryFilePathname failed
	libfilename:	FAIL

            peek			FAILED
	peek:	Running the test with local threads
	peek:	PR_Connect failed

and then "socket" test appears to hang. YOu can
see in the log that I started tests at night, and
by the morning, the socket was still there.

Here's the ps -axwwdd trace:

http://seis.bris.ac.uk/~mexas/nspr-test-hang

93280  6  S+    0:00.09 |  `-- script nspr-test.log make test deinstall reinstall
93281  5  Is+   0:00.20 |    `-- make test deinstall reinstall
94911  5  I+    0:00.25 |      `-- /bin/sh ../../../pr/tests/runtests.sh
95023  5  S+    0:00.37 |        `-- ./socket

I reinstalled devel/nspr anyway, and will now
try to rebuild freebsd-gecko/www/firefox.
I'll report back.
 
Thank you
Anton

P.S. I wonder why the src and ports folk
don't agree on a single debug variable. Right
now it's DEBUG_FLAGS='-g' in src and WITH_DEBUG=
in ports. Is it for a good reason?



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