Jump to content

Crashes immediately


UKenGB
 Share

Recommended Posts

I've already posted in the Snom forums that I had a problem with the install since it is supposed to finish with the PBX actually running, but it doesn't. I think I now know why.

 

The app crashes as soon as it tries to run. When I try and start it, I get the messages to the screen saying it's starting (but that's just from the startup script) and then nothing. If I check with ps -ef | grep pbx, there's no process running. On further investigation I discover it's simply crashed. The crash log is below, but this is very disappointing. This is on a Mac Mini Server with Snow Leopard Server and all the latest updates. It couldn't be more standard. So what's snomONE having so much trouble with?

 

Is there a later update that fixes this?

 

 

Process: pbxctrl-darwin9.0-2011-4.2.0.3950 [45848]

Path: /Library/snomone/pbxctrl-darwin9.0-2011-4.2.0.3950

Identifier: pbxctrl-darwin9.0-2011-4.2.0.3950

Version: ??? (???)

Code Type: X86 (Native)

Parent Process: ??? [1]

 

Date/Time: 2010-10-22 15:31:05.485 +0100

OS Version: Mac OS X Server 10.6.4 (10F569)

Report Version: 6

 

Exception Type: EXC_BAD_ACCESS (SIGBUS)

Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

Crashed Thread: 2

 

Thread 0: Dispatch queue: com.apple.main-thread

0 pbxctrl-darwin9.0 0x003c27cb clock_gettime(int, timespec*) + 525

1 pbxctrl-darwin9.0 0x003c27f9 clock_gettime(int, timespec*) + 571

2 pbxctrl-darwin9.0 0x003002c7 g726::output_limiting(int) + 91505

3 pbxctrl-darwin9.0 0x002e7312 dtmf_recognition::count_history(char) const + 22336

4 libSystem.B.dylib 0x925b61bf __cxa_finalize + 208

5 libSystem.B.dylib 0x925b60d4 exit + 33

6 pbxctrl-darwin9.0 0x00053fb9 std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 2763

7 pbxctrl-darwin9.0 0x00054497 std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 4009

8 pbxctrl-darwin9.0 0x001ff0a8 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 15672

9 pbxctrl-darwin9.0 0x00207cb3 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 51523

10 pbxctrl-darwin9.0 0x00001816 0x1000 + 2070

 

Thread 1:

0 libSystem.B.dylib 0x925970fa mach_msg_trap + 10

1 libSystem.B.dylib 0x92597867 mach_msg + 68

2 libSystem.B.dylib 0x92598c32 thread_policy + 199

3 libSystem.B.dylib 0x9260afe9 pthread_setschedparam + 219

4 pbxctrl-darwin9.0 0x001fba04 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 1684

5 libSystem.B.dylib 0x925c481d _pthread_start + 345

6 libSystem.B.dylib 0x925c46a2 thread_start + 34

 

Thread 2 Crashed:

0 pbxctrl-darwin9.0 0x003c2910 clock_gettime(int, timespec*) + 850

1 pbxctrl-darwin9.0 0x001fbb88 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2072

2 libSystem.B.dylib 0x925c481d _pthread_start + 345

3 libSystem.B.dylib 0x925c46a2 thread_start + 34

 

Thread 3:

0 libSystem.B.dylib 0x925c4726 _pthread_start + 98

1 libSystem.B.dylib 0x925c46a2 thread_start + 34

 

Thread 4:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 5:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 6:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 7:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 8:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 9:

0 libSystem.B.dylib 0x925c4680 thread_start + 0

 

Thread 2 crashed with X86 Thread State (32-bit):

eax: 0x00000000 ebx: 0x003c2847 ecx: 0x00000001 edx: 0x00000000

edi: 0x00000000 esi: 0xb0103000 ebp: 0xb0102f68 esp: 0xb0102dd0

ss: 0x0000001f efl: 0x00010293 eip: 0x003c2910 cs: 0x00000017

ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037

cr2: 0x00000000

 

Binary Images:

0x1000 - 0x4ccfff +pbxctrl-darwin9.0 ??? (???) <5753FCA1-4AC8-1E80-C36A-72ADD4B525B0> /Library/snomone/pbxctrl-darwin9.0

0x8fe00000 - 0x8fe4162b dyld 132.1 (???) <A4F6ADCC-6448-37B4-ED6C-ABB2CD06F448> /usr/lib/dyld

0x92596000 - 0x9273cfeb libSystem.B.dylib 125.2.0 (compatibility 1.0.0) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

0x93b0d000 - 0x93b10fe7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <1622A54F-1A98-2CBE-B6A4-2122981A500E> /usr/lib/system/libmathCommon.A.dylib

0x99853000 - 0x998bdfe7 libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <411D87F4-B7E1-44EB-F201-F8B4F9227213> /usr/lib/libstdc++.6.dylib

0xffff0000 - 0xffff1fff libSystem.B.dylib ??? (???) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

Link to comment
Share on other sites

I've now also installed it on a MacPro and unless I run it with sudo, it also crashes for apparently the same reason. But with sudo, it seems to run fine:-)

 

Ah ha, so back to the Mini and run it with sudo - and it crashes.

 

I delete all the snomone files from the Mini and install it again. Then I run it with sudo - and it crashes:-(

 

Anyone else had problems like this?

Link to comment
Share on other sites

Start it manually with "./pbxctrl-xxx --no-daemon --log 9 --dir ." and look at the output. Probably there is a conflict on one of the critical ports (SIP/HTTP/HTTPS), so that the service cannot start up.

 

That just produces the not entirely helpful:

 

Starting up

Bus error

 

BTW, what user should be able to start it? Should any admin user be able to start it, or does it have to be root? Or who? This seems to be important.

 

This is just so disappointing. I am trying to test this on what seems to me to be a very simple and obvious setup. It's a Mac Mini Server (Snow Leopard of course) with the latest updates. It is running several services like DNS, DHCP, eMail, AFP (not HTTP currently) for light use in a home environment and is exactly the setup I want to be able to deploy snomone. Now maybe I'm being unrealistic, but a product such as snomone that advertises itself for use on Macs ought to run on this setup OUT OF THE BOX. I know this has been raised elsewhere, but why on earth configure it to try and use the standard ports that will DEFINITELY clash with the services that any Mac server is likely to be running.

 

I guess I wouldn't mind so much if it just needed some tweeking to get it running well, but when it simply crashes immediately with no real indication of what the problem is, it's kinda annoying.

 

Although the error doesn't sound like it's a port clash problem, I changed all these ports (SIP/HTTP/HTTPS), but still the same error.

 

Next?

Link to comment
Share on other sites

That means that something very fundamentally went wrong. This is not about ports, this is about some fundamental issues with the platform. Someone needs to take a look into this on Monday.

How can we best progress this? Shall we just continue here or set up a direct dialogue outside the forum?

 

BTW, are there any known instances of snomONE running OK on OSX Snow Leopard SERVER?

 

I can't see any specific references from any posts here saying it does. Is that perhaps the problem? How tested was it on the Server edition of OSX? Was that the Mini Server? XServe? Other Mac running SLS?

Link to comment
Share on other sites

My problem is that I have no idea what is the difference between the different Mac versions. My guess would have been that they all work the same, but obviously that is not the case ...

 

We need to wait until there is someone in the office who knows about the details. In the meantime, you can checn other posts in the Mac section of this forum. I know there are a couple of installations that work fine, but I don't know what is the difference.

Link to comment
Share on other sites

How can we best progress this? Shall we just continue here or set up a direct dialogue outside the forum?

 

BTW, are there any known instances of snomONE running OK on OSX Snow Leopard SERVER?

 

I can't see any specific references from any posts here saying it does. Is that perhaps the problem? How tested was it on the Server edition of OSX? Was that the Mini Server? XServe? Other Mac running SLS?

 

What processor are you using? (Generally installation fails if the processor is non-Intel). But I just wanted to double check.

Link to comment
Share on other sites

I'm experiencing the same problem on my Macbook (running Snow Leopard).

 

The installer appears to work, however it seems that the PBX process crashes installing after starting. Furthermore, it doesn't look like the pbx.xml file was created by the installer.

 

Here's the output from the console of the install process:

 

24/10/2010 18:21:33 Installer[19408] @(#)PROGRAM:Install PROJECT:Install-581

24/10/2010 18:21:33 Installer[19408] @(#)PROGRAM:Installer PROJECT:Installer-430.1

24/10/2010 18:21:33 Installer[19408] Hardware: MacBook5,1 @ 2.40 GHz (x 2), 4096 MB RAM

24/10/2010 18:21:33 Installer[19408] Running OS Build: Mac OS X 10.6.4 (10F569)

24/10/2010 18:21:33 Installer[19408] snom ONE PBX Installation Log

24/10/2010 18:21:33 Installer[19408] Opened from: /Users/paul/Downloads/snomone-2011-4.2.0.3950-installer.mpkg

24/10/2010 18:22:03 Installer[19408] ================================================================================

24/10/2010 18:22:03 Installer[19408] User picked Standard Install

24/10/2010 18:22:03 Installer[19408] Choices selected for installation:

24/10/2010 18:22:03 Installer[19408] Install: "snom ONE PBX"

24/10/2010 18:22:03 Installer[19408] Install: "snomone"

24/10/2010 18:22:03 Installer[19408] ================================================================================

24/10/2010 18:22:03 Installer[19408] Configuring volume "Intel X25M"

24/10/2010 18:22:03 Installer[19408] Free space on "Intel X25M": 90.17 GB (90166145024 bytes).

24/10/2010 18:22:03 Installer[19408] Create temporary directory "/var/folders/mJ/mJN4BBwfHmmWO1XRibc3+U+++TI/-Tmp-//Install.19408AVPvFw"

24/10/2010 18:22:03 Installer[19408] IFPKInstallElement (1 packages)

24/10/2010 18:22:03 installd[19420] PackageKit: ----- Begin install -----

24/10/2010 18:22:05 PBX[19440] PBX: Starting up

24/10/2010 18:22:05 installd[19420] Installed "snom ONE PBX" ()

24/10/2010 18:22:05 installd[19420] PackageKit: ----- End install -----

24/10/2010 18:22:05 Installer[19408] Running install actions

24/10/2010 18:22:05 Installer[19408] Removing temporary directory "/var/folders/mJ/mJN4BBwfHmmWO1XRibc3+U+++TI/-Tmp-//Install.19408AVPvFw"

24/10/2010 18:22:06 Installer[19408] Finalize disk "Intel X25M"

24/10/2010 18:22:06 Installer[19408] Notifying system of updated components

24/10/2010 18:22:06 Installer[19408]

24/10/2010 18:22:06 Installer[19408] **** Summary Information ****

24/10/2010 18:22:06 Installer[19408] Operation Elapsed time

24/10/2010 18:22:06 Installer[19408] -----------------------------

24/10/2010 18:22:06 Installer[19408] disk 0.02 seconds

24/10/2010 18:22:06 Installer[19408] script 0.00 seconds

24/10/2010 18:22:06 Installer[19408] zero 0.01 seconds

24/10/2010 18:22:06 Installer[19408] install 2.02 seconds

24/10/2010 18:22:06 Installer[19408] -total- 2.05 seconds

24/10/2010 18:22:06 Installer[19408]

24/10/2010 18:22:07 Installer[19408] IFDInstallController 14B690 state = 5

24/10/2010 18:22:07 Installer[19408] Displaying 'Install Succeeded' UI.

Link to comment
Share on other sites

After starting the pbxctrl process manually a 2nd time, it seems now to have created the pbx.xml file and all the associated sub directories. However the process itself still crashes after startup, and now I am seeing the same message as the other user:

 

$ ./pbxctrl-darwin9.0 --no-daemon --log 9 --dir .

Starting up

Bus error

Link to comment
Share on other sites

Here's the crash report:

 

Process: pbxctrl-darwin9.0-2011-4.2.0.3950 [19537]

Path: /Library/snomone/pbxctrl-darwin9.0-2011-4.2.0.3950

Identifier: pbxctrl-darwin9.0-2011-4.2.0.3950

Version: ??? (???)

Code Type: X86 (Native)

Parent Process: bash [19398]

 

Date/Time: 2010-10-24 18:41:58.408 +0100

OS Version: Mac OS X 10.6.4 (10F569)

Report Version: 6

 

Exception Type: EXC_BAD_ACCESS (SIGBUS)

Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

Crashed Thread: 2

 

Thread 0: Dispatch queue: com.apple.main-thread

0 libSystem.B.dylib 0x9646bd23 pthread_mutex_unlock + 6

1 pbxctrl-darwin9.0 0x00070147 mutex::unlock() + 85

2 pbxctrl-darwin9.0 0x003a7d23 sip_uri::get_port() const + 703

3 pbxctrl-darwin9.0 0x003aa529 sip_uri::get_port() const + 10949

4 pbxctrl-darwin9.0 0x00333068 sdp::~sdp() + 214

5 pbxctrl-darwin9.0 0x002feda1 g726::output_limiting(int) + 86091

6 pbxctrl-darwin9.0 0x002e7312 dtmf_recognition::count_history(char) const + 22336

7 libSystem.B.dylib 0x964851bf __cxa_finalize + 208

8 libSystem.B.dylib 0x964850d4 exit + 33

9 pbxctrl-darwin9.0 0x00053fb9 std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 2763

10 pbxctrl-darwin9.0 0x00054497 std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 4009

11 pbxctrl-darwin9.0 0x001ff0a8 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 15672

12 pbxctrl-darwin9.0 0x00207cb3 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 51523

13 pbxctrl-darwin9.0 0x00001816 0x1000 + 2070

 

Thread 1:

0 libSystem.B.dylib 0x964660fa mach_msg_trap + 10

1 libSystem.B.dylib 0x96466867 mach_msg + 68

2 libSystem.B.dylib 0x96467c32 thread_policy + 199

3 libSystem.B.dylib 0x964d9fe9 pthread_setschedparam + 219

4 pbxctrl-darwin9.0 0x001fba04 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 1684

5 libSystem.B.dylib 0x9649381d _pthread_start + 345

6 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 2 Crashed:

0 pbxctrl-darwin9.0 0x003c2910 clock_gettime(int, timespec*) + 850

1 pbxctrl-darwin9.0 0x001fbb88 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2072

2 libSystem.B.dylib 0x9649381d _pthread_start + 345

3 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 3:

0 dyld 0x8fe2dc28 strcmp + 88

1 dyld 0x8fe12af8 ImageLoaderMachOClassic::findExportedSymbol(char const*, ImageLoader const**) const + 76

2 dyld 0x8fe10b24 ImageLoaderMachO::findExportedSymbol(char const*, bool, ImageLoader const**) const + 50

3 dyld 0x8fe02133 dyld::findExportedSymbol(char const*, bool, ImageLoader::Symbol const**, ImageLoader const**) + 174

4 dyld 0x8fe021ba dyld::findCoalescedExportedSymbol(char const*, ImageLoader::Symbol const**, ImageLoader const**) + 28

5 dyld 0x8fe13765 ImageLoaderMachOClassic::resolveUndefined(ImageLoader::LinkContext const&, macho_nlist const*, bool, bool, ImageLoader const**) + 287

6 dyld 0x8fe140b5 ImageLoaderMachOClassic::doBindLazySymbol(unsigned long*, ImageLoader::LinkContext const&) + 411

7 dyld 0x8fe05132 dyld::bindLazySymbol(mach_header const*, unsigned long*) + 180

8 dyld 0x8fe11f5e stub_binding_helper_interface2 + 20

9 pbxctrl-darwin9.0 0x003b3074 ip_port::ip_port(ip_port const&) + 1492

10 pbxctrl-darwin9.0 0x0030b1fd std::map<str, call_port::record_entry, std::less<str>, std::allocator<std::pair<str const, call_port::record_entry> > >::operator[](str const&) + 893

11 pbxctrl-darwin9.0 0x001fbbdf std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2159

12 libSystem.B.dylib 0x9649381d _pthread_start + 345

13 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 4:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 5:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 6:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 7:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 8:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 9:

0 libSystem.B.dylib 0x96493680 thread_start + 0

 

Thread 2 crashed with X86 Thread State (32-bit):

eax: 0x00000000 ebx: 0x003c2847 ecx: 0x00000001 edx: 0x00000000

edi: 0x00000000 esi: 0xb0103000 ebp: 0xb0102f68 esp: 0xb0102dd0

ss: 0x0000001f efl: 0x00010293 eip: 0x003c2910 cs: 0x00000017

ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037

cr2: 0x00000000

 

Binary Images:

0x1000 - 0x4ccfff +pbxctrl-darwin9.0 ??? (???) <5753FCA1-4AC8-1E80-C36A-72ADD4B525B0> /Library/snomone/pbxctrl-darwin9.0

0x8fe00000 - 0x8fe4162b dyld 132.1 (???) <A4F6ADCC-6448-37B4-ED6C-ABB2CD06F448> /usr/lib/dyld

0x96465000 - 0x9660bfeb libSystem.B.dylib 125.2.0 (compatibility 1.0.0) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

0x9728a000 - 0x972f4fe7 libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <411D87F4-B7E1-44EB-F201-F8B4F9227213> /usr/lib/libstdc++.6.dylib

0x990d6000 - 0x990d9fe7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <1622A54F-1A98-2CBE-B6A4-2122981A500E> /usr/lib/system/libmathCommon.A.dylib

0xffff0000 - 0xffff1fff libSystem.B.dylib ??? (???) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

Link to comment
Share on other sites

I guess this might explain the problem: http://www.wand.net.nz/~smr26/wordpress/20...me-in-mac-os-x/

It does look like both Paul's and my problem is related to some gettime function, but why would getting a slightly incorrect elapsed time cause it to crash and why is it trying to do this when it's just trying to start up and why does it not affect ALL OSX installations?

 

In truth though, those questions are irrelevant to those of us who just need it fixed so we can get pbx running. Presumably this means a new build with suitable corrections. When might we see that?

Link to comment
Share on other sites

There's also still the question of the user who should start the pbx. The working directory has been created all owned by root, so if anyone else tries to start it, pbx crashes because it cannot write to anything. IMO this ought to generate a user readable error so they can see what to do (without having to start it again in debug mode etc), but that's a minor point.

 

However, what is the user that SHOULD start pbx? Should we create a user just for pbx (like a lot of service processes) or just run as root? Either way, the docs should really point this out.

Link to comment
Share on other sites

However, what is the user that SHOULD start pbx? Should we create a user just for pbx (like a lot of service processes) or just run as root? Either way, the docs should really point this out.

 

Seems like OS 10 does not support the POSIX call to get the the time (that's where the process terminates). But there is a workaround that we will put in and that should IMHO solve the problem.

Link to comment
Share on other sites

No we just need to make a build that avoid that POSIX function when compiled for Apple... Should be happening today.

 

Here is the latest binary file (not the installer) - http://downloads.snom.net/snomONE/mac/pbxc...2011-4.2.0.3959.

 

Steps to follow (as root):

 

1. Stop the PBX (/Library/StartupItems/PBX/PBX stop), if it is running.

2. Download and copy above file to /Library/snomone

3. Apply the executable permission to this file (chmod a+x pbxctrl-darwin9.0-2011-4.2.0.3959)

4. Delete the pbxctrl-darwin9.0 link (rm pbxctrl-darwin9.0)

5. Recreate the link to the new binary (ln -s pbxctrl-darwin9.0-2011-4.2.0.3959 pbxctrl-darwin9.0)

6. Restart the PBX (/Library/StartupItems/PBX/PBX start)

 

BTW, PBX is working on a mac-mini (Darwin Kernel version 9.7.0 i386) even without this change. Also, we know that there are few customers running this on Mac for a while (not sure of their OS version though)

Link to comment
Share on other sites

Here is the latest binary file (not the installer) - http://downloads.snom.net/snomONE/mac/pbxc...2011-4.2.0.3959.

 

BTW, PBX is working on a mac-mini (Darwin Kernel version 9.7.0 i386) even without this change. Also, we know that there are few customers running this on Mac for a while (not sure of their OS version though)

 

OK downloaded the new binary and it's up and running without any bother. Thanks for a very prompt response to the problem.

 

But what WAS the problem? As you say, there are Macs running the version that refused to run on my Mini. If it's that gettime function, why did it only affect some Macs and not others?

 

One thing I have noticed however is that from System Profiler, my OS is Darwin 10.4.0 which is significantly different to yours. Are you guys actually testing and running this on Snow Leopard? What version of OSX are you using to test this?

Link to comment
Share on other sites

But what WAS the problem? As you say, there are Macs running the version that refused to run on my Mini. If it's that gettime function, why did it only affect some Macs and not others?

 

One thing I have noticed however is that from System Profiler, my OS is Darwin 10.4.0 which is significantly different to yours. Are you guys actually testing and running this on Snow Leopard? What version of OSX are you using to test this?

 

There is a POSIX call that was obviously supported on an older version of the OS and the support was not available later in OS 10 (as far as I can tell). Seems to be a know problem in the Mac world, so it was relatively easy to get a workaround and put it in. We compiled on a Darwin 9 system, usually it is good to stay a little bit behind to make sure the executables are backward compatible, but in this case it was the other way around.

Link to comment
Share on other sites

There is a POSIX call that was obviously supported on an older version of the OS and the support was not available later in OS 10 (as far as I can tell).

I don't believe that to be the case. I could consistently run it on the Mac Pro and it would consistently fail on the Mac Mini. They are BOTH running OSX 10.6.4 (which is Darwin 10.4) with the latest updates. The difference in the OS is that the Pro is running the regular client version and the Mini is running the server version and although there are undoubtedly differences, I very much doubt there exists such a fundamental difference in their respective implementations of these POSIX calls.

 

I realise it might be considered immaterial what the problem was now that it does run correctly, but I believe it is always worth knowing exactly what caused it so that similar problems can be avoided in the future. Hence I think we need to understand fully what was occurring here.

Link to comment
Share on other sites

I've just tried the newer binary version you posted, but unfortunately it is still crashing for me. Here's the crash report:

 

Process: pbxctrl-darwin9.0-2011-4.2.0.3959 [36525]

Path: /Library/snomone/pbxctrl-darwin9.0-2011-4.2.0.3959

Identifier: pbxctrl-darwin9.0-2011-4.2.0.3959

Version: ??? (???)

Code Type: X86 (Native)

Parent Process: bash [36311]

 

Date/Time: 2010-11-03 20:47:15.955 +0000

OS Version: Mac OS X 10.6.4 (10F569)

Report Version: 6

 

Exception Type: EXC_BAD_ACCESS (SIGBUS)

Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000

Crashed Thread: 2

 

Thread 0: Dispatch queue: com.apple.main-thread

0 pbxctrl-darwin9.0 0x000715c3 mutex::lock() + 47

1 pbxctrl-darwin9.0 0x003acfc9 sip_uri::get_port() const + 669

2 pbxctrl-darwin9.0 0x003af793 sip_uri::get_port() const + 10855

3 pbxctrl-darwin9.0 0x00308822 aes_cm_context::~aes_cm_context() + 102

4 pbxctrl-darwin9.0 0x00308fc1 srtp_ctx::~srtp_ctx() + 23

5 pbxctrl-darwin9.0 0x00309095 srtp_session_ctx::~srtp_session_ctx() + 23

6 pbxctrl-darwin9.0 0x00303715 g726::output_limiting(int) + 86241

7 pbxctrl-darwin9.0 0x002ebbf0 dtmf_recognition::count_history(char) const + 22738

8 libSystem.B.dylib 0x964851bf __cxa_finalize + 208

9 libSystem.B.dylib 0x964850d4 exit + 33

10 pbxctrl-darwin9.0 0x00055490 std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 2914

11 pbxctrl-darwin9.0 0x000559bc std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >::operator[](int const&) + 4238

12 pbxctrl-darwin9.0 0x002029da std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 16340

13 pbxctrl-darwin9.0 0x0020ba79 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 53363

14 pbxctrl-darwin9.0 0x00002376 0x1000 + 4982

 

Thread 1:

0 libSystem.B.dylib 0x964660fa mach_msg_trap + 10

1 libSystem.B.dylib 0x96466867 mach_msg + 68

2 libSystem.B.dylib 0x96467c32 thread_policy + 199

3 libSystem.B.dylib 0x964d9fe9 pthread_setschedparam + 219

4 pbxctrl-darwin9.0 0x001ff09a std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 1684

5 libSystem.B.dylib 0x9649381d _pthread_start + 345

6 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 2 Crashed:

0 pbxctrl-darwin9.0 0x003c8056 clock_gettime(int, timespec*) + 1502

1 pbxctrl-darwin9.0 0x001ff21e std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2072

2 libSystem.B.dylib 0x9649381d _pthread_start + 345

3 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 3:

0 libSystem.B.dylib 0x96494066 __semwait_signal + 10

1 libSystem.B.dylib 0x96493d22 _pthread_cond_wait + 1191

2 libSystem.B.dylib 0x96493875 pthread_cond_timedwait$UNIX2003 + 72

3 pbxctrl-darwin9.0 0x003b816d ip_port::ip_port(ip_port const&) + 1029

4 pbxctrl-darwin9.0 0x0030ff64 std::map<str, call_port::record_entry, std::less<str>, std::allocator<std::pair<str const, call_port::record_entry> > >::operator[](str const&) + 830

5 pbxctrl-darwin9.0 0x001ff275 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2159

6 libSystem.B.dylib 0x9649381d _pthread_start + 345

7 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 4:

0 libSystem.B.dylib 0x96466142 semaphore_wait_signal_trap + 10

1 libSystem.B.dylib 0x9646bc06 pthread_mutex_lock + 490

2 pbxctrl-darwin9.0 0x000715be mutex::lock() + 42

3 pbxctrl-darwin9.0 0x001fef49 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 1347

4 libSystem.B.dylib 0x9649381d _pthread_start + 345

5 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 5:

0 libSystem.B.dylib 0x96494066 __semwait_signal + 10

1 libSystem.B.dylib 0x96493d22 _pthread_cond_wait + 1191

2 libSystem.B.dylib 0x96493875 pthread_cond_timedwait$UNIX2003 + 72

3 pbxctrl-darwin9.0 0x003b816d ip_port::ip_port(ip_port const&) + 1029

4 pbxctrl-darwin9.0 0x001112e7 std::map<int, domain_index, std::less<int>, std::allocator<std::pair<int const, domain_index> > >::~map() + 30575

5 pbxctrl-darwin9.0 0x001ff287 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2177

6 libSystem.B.dylib 0x9649381d _pthread_start + 345

7 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 6:

0 libSystem.B.dylib 0x96466142 semaphore_wait_signal_trap + 10

1 libSystem.B.dylib 0x9646bc06 pthread_mutex_lock + 490

2 pbxctrl-darwin9.0 0x000715be mutex::lock() + 42

3 pbxctrl-darwin9.0 0x002aeecd std::map<str, result_entry, std::less<str>, std::allocator<std::pair<str const, result_entry> > >::insert(std::pair<str const, result_entry> const&) + 7515

4 pbxctrl-darwin9.0 0x001ff299 std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2195

5 libSystem.B.dylib 0x9649381d _pthread_start + 345

6 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 7:

0 libSystem.B.dylib 0x96494066 __semwait_signal + 10

1 libSystem.B.dylib 0x964bfc64 nanosleep$UNIX2003 + 188

2 libSystem.B.dylib 0x964f522e sleep$UNIX2003 + 63

3 pbxctrl-darwin9.0 0x0021fd28 std::list<str, std::allocator<str> >::push_front(str const&) + 2128

4 pbxctrl-darwin9.0 0x002248a1 std::list<str, std::allocator<str> >::push_front(str const&) + 21449

5 pbxctrl-darwin9.0 0x001ff2ab std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2213

6 libSystem.B.dylib 0x9649381d _pthread_start + 345

7 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 8:

0 libSystem.B.dylib 0x964660fa mach_msg_trap + 10

1 libSystem.B.dylib 0x96466867 mach_msg + 68

2 libSystem.B.dylib 0x9647dda4 _notify_server_register_check + 149

3 libSystem.B.dylib 0x9647d53d notify_register_check + 361

4 libSystem.B.dylib 0x9647d367 notify_register_tz + 217

5 libSystem.B.dylib 0x9647cbe1 tzsetwall_basic + 121

6 libSystem.B.dylib 0x9647c9b4 localtime_r + 55

7 pbxctrl-darwin9.0 0x003c51e8 std::map<str, tls::session, std::less<str>, std::allocator<std::pair<str const, tls::session> > >::~map() + 290

8 pbxctrl-darwin9.0 0x003c6140 std::map<str, tls::session, std::less<str>, std::allocator<std::pair<str const, tls::session> > >::~map() + 4218

9 pbxctrl-darwin9.0 0x001ff2bd std::map<unsigned int, int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, int> > >::operator[](unsigned int const&) + 2231

10 libSystem.B.dylib 0x9649381d _pthread_start + 345

11 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 9:

0 libSystem.B.dylib 0x96494066 __semwait_signal + 10

1 libSystem.B.dylib 0x96493d22 _pthread_cond_wait + 1191

2 libSystem.B.dylib 0x964959b8 pthread_cond_wait$UNIX2003 + 73

3 pbxctrl-darwin9.0 0x003b8204 ip_port::ip_port(ip_port const&) + 1180

4 pbxctrl-darwin9.0 0x002bed46 aes_cm_advance(aes_cm_context&) + 17572

5 libSystem.B.dylib 0x9649381d _pthread_start + 345

6 libSystem.B.dylib 0x964936a2 thread_start + 34

 

Thread 2 crashed with X86 Thread State (32-bit):

eax: 0x00000000 ebx: 0x003c7f8d ecx: 0x00000001 edx: 0x00000000

edi: 0x00000000 esi: 0xb0103000 ebp: 0xb0102f68 esp: 0xb0102dd0

ss: 0x0000001f efl: 0x00010293 eip: 0x003c8056 cs: 0x00000017

ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037

cr2: 0x00000000

 

Binary Images:

0x1000 - 0x4d2fef +pbxctrl-darwin9.0 ??? (???) <EB2A00B4-AB4C-66F5-556E-246FA7B868F2> /Library/snomone/pbxctrl-darwin9.0

0x8fe00000 - 0x8fe4162b dyld 132.1 (???) <A4F6ADCC-6448-37B4-ED6C-ABB2CD06F448> /usr/lib/dyld

0x96465000 - 0x9660bfeb libSystem.B.dylib 125.2.0 (compatibility 1.0.0) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

0x9728a000 - 0x972f4fe7 libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <411D87F4-B7E1-44EB-F201-F8B4F9227213> /usr/lib/libstdc++.6.dylib

0x990d6000 - 0x990d9fe7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <1622A54F-1A98-2CBE-B6A4-2122981A500E> /usr/lib/system/libmathCommon.A.dylib

0xffff0000 - 0xffff1fff libSystem.B.dylib ??? (???) <3441F338-2218-6D36-3F95-3A16FBF6713D> /usr/lib/libSystem.B.dylib

Link to comment
Share on other sites

AFAICT that is exactly the same issue that was causing it to crash for me, yet was fixed with that new release. Consider also the fact that even the earlier release worked ok on a different Mac and I think we can assume the problem is not something endemic in OSX as was claimed.

 

What Mac are you running this on? Regular OSX (Client) or OSX Server version?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...