Threaded hole rack kit in a square hole four post rack?

Had a bit of confusion when ordering and ended up with the threaded hole rack kit for the XServe, but we have a four post square hole rack. Anyone else done this? Do I need to order a whole new kit? (in the instructions it just looks like one little space is different, but no idea how to get one of those). should we just try anyway?
Thanks,
Russ

Most square-hole racks use 'cage nuts' - small inserts that you lock into the square hole to give a threaded back into which you can screw standard rack screws.
All my racks are threaded, so I've only ever ordered threaded rails (the cage nuts drive me nuts (no pun intended) and while square holes may be easier for equipment that's specifically designed for them I don't have enough such equipment to justify the PITA that cage nuts are).
Either way, I don't see why the cage nuts shouldn't work for the XServe Threaded Rail Kit. You should be able to get cage nuts from your rack vendor or here

Similar Messages

  • Xserve rack kit won't fit in 6 post rack

    We received out G5 xserve today, and i was able to install the Square holed rack kit without any problems.
    However... I couldn't fit the xserve trough the middle.
    It took a little research, but it seems that apple's square holed rack kit will not in any possible way fit straight into a 6 post rack mounting system because of the thickness of the black bars.
    The reason for this can be demonstrated from here :
    http://www.macusersgroup.org/pdffiles/Greg_Sharp_XServe_Rail_KitProblem.pdf
    The " ] " Shaped steel is touching the middle post, and causing the attached rack kit to ever so slightly fold inward.
    This in turn would require the xserve to squeeze trough about 2-3 millimeters extra, which, simply put... will not fit.
    I'm currently considdering taking a hammer, and simply flattening out the rack kit so that it'd fit properly, however i'm wondering why apple has created the kit to these specifications, and whether anyone else has run into this problem yet.
    I guess it's a warning to new users as well, don't get a 6 post rank, get a 4 post one.
    The old G4 Xserve with it's rack is much smaller on the sides and fits perfectly
    The new G5 one is a "lot" thicker on the sides,, it won't fit without custom modifications to either the kit or the rack itself.

    Ah yes, it's the Intel version.
    http://www.apple.com/xserve/
    Most recent model, supplied with OSX 10.5 external rack kit.
    The previous model we already have installed has the lid attachment (which fits fine).
    The model we got today came with the correct attachment kit, and the rack has square holes so that's not the problem.
    We got 2 windows servers, and 1 other mac-xserve parked in the rack so far.
    Our rack has 6 posts rather than what most images display as using 4 posts. This way it supports a secure and stable environment for full length servers, as well as shorter cases such as a router.
    The .pdf is more to show the shape of the kit, we got both servers, and the one I'm talking about is displayed on page 3, which is indeed the intel version as you pointed out.
    The issue lies in the shape of the kit, which due to the plates being " ] [ " shaped, rather than " | | " shaped, refuses to fit properly between the 2 center poles of the mounting rack, as it causes these to push slightly inward and thus constraints the Xserve from sliding in neatly.
    If you wish i could draw a sketch to show the issue.

  • Mount ASA 5585x on 2-post rack?

    Is it possible to mount the ASA 5585x on a 2-post rack?

    It is POSSIBLE but not recommended.
    It's designed for a 4-post installation, using either the slide or fixed rail kit and mounting to all four posts.That's what's shown in the installation guide.
    If it were my ASA at US$100,000+per unit, I'd want it to be securely mounted.

  • Raw SATA drive screw holes too shallow for 2008 Mac Pro carrier

    Mac Pro early 2008. Bought a WD Black, 5-year warrantee, bare SATA drive to replace a 1TB. The 2TB drive works fine in an external enclosure, but not in an internal bay. There are four self contained screws in the drive carrier that mate with corresponding holes in the bare drive. For the 2TB bare drive, the two screws closer to the connecting pins cannot screw all the way in - the holes are not deep enough - and the drive will not mount. The carrier goes in all the way, but I deduce that the pins do not mate. I tried two carriers and two bays. Other bare drives are fine.
    System Preferences/Serial-ATA does not see the 2TB drive. Neither does Disk Utility, nor FAST status.
    Return the drive and try another 2TB? Clip or replace the captive screws?

    Those are intriguing, but I wonder if they would also be too long.
    I would trim some of the existing bolts down, or buy some of those ones you posted and, if needed, trim them down. I have an electrician's tool that has bolt-trimmers for common sizes (and 6-32 is one of them). The bolt trimmer has threaded holes near the pivot point for several different small sizes. Here is a picture of a similar tool:
    The poor man's version would be to thread a 6-32 nut onto the bolt, cut it off, then remove the nut to clean up the cut threads.

  • Rack Configurations

    Hi folks.
    Just wanting to know the current setup for racks needed for an XServe. I'm wanting to build my own, and I have some space already, so I'm considering my options. Can I Home Depot this project? Square vs. round holes, telco rack vs. 4 post rack, etc.
    Any input/pictures appreciated.
    Cheers

    The basic specs of a rack are not hard to find. The practicalities depend on your skills as a machinist and time.
    The main issue is going to be consistently drilling/punching the holes - you'll need to be pretty precise on all four posts otherwise things won't mount square.
    The issue of threaded vs. square really comes down to how well you can drill a threaded hole vs. punch out a square, bearing in mind that the square approach is going to need cage nuts for most rack equipment.
    The other consideration is stability - while the rack will stiffen as equipment is mounted in it you do need to consider bracing and floor mounting to keep the thing square and stable. A basic XServe weighs over 30 pounds, and it soon adds up into more weight than you want to have topple over or collapse.

  • Rather than persists in the future thread...

    The point I was making would be for Archs documents to pick up where man pages leave off, but whatever.
    If you think I stated Arch must fix man pages, not so. I was intending to show that docs as a whole, leave whole subjects unhandled, Arch could provide the answers in its own docs and come out as a hero.
    Or maybe not.
    And remember, users who cannot configure ppp cannot get on the internet to get the ppp configuration docs. Or any other docs, for that matter. One failed configuration needing web documents might leave the newbie stranded.
    Or maybe not.
    I personally think that a lot of configuration has to be made before Linux (Arch or others) will communicate over the internet to a remote website, so as to allow documentation to be visible..... but hey, maybe I missed something? Like the document to get a modem setup? So I could get web based documents? Chicken and egg?
    Maybe not, eh?
    As for the concept of needing to be an experienced admin - these folks usually do not need any docs. That compares to bad docs to a newbie - essentially no docs. Missing docs and no internet access are also useless. Thus, the newbie without documents needs the only thing which gets anyone else through the issue - the newbie needs experience, because the docs are weak or missing or erroneous. Try as you might, that is an issue I went through. Take, for example, when I needed network assistance. Archs forums were not the first place I went asking for help, believe me; I asked and am still asking. 2 years now, and I'm just getting told Samba. Need I say this is baloney? That issue is not Archs fault, but Arch could have a smashing success on its hands if it were to document a few critical areas as well as 0.2 was documented.
    Installing and partitioning... What can I say... apeiro is not mentioning anything I've PM'd him about: secondary hard disks getting reformatted. My pm brought me the answer that most Archers never repartition, so the script was.... well, I guess you could say it was a shot in the dark. Fine, but the PM stated the alternative was something like 'I usually use the commandline stuff and simply reformat the existing partitions'.
    Why the **** would an inexperienced newbie set up partitions outside of using the installer?? The Arch docs tells the newbie to use the installer to partition their hard disks! What, exactly, is the newbies idea of an installers purpose? Are you a newbie when you decide what a newbie has for skills? The installer obliterated gigabytes of data, I trusted that it was going to perform safely, and yet nobody ever used it to learn of the glitch? Ooookkaaaaayyyy.
    Folks, the docs said to use the installer. Never mentioned possibly partitioning from the command line. Take your pick, the newbie was not at fault for following the docs.
    I'll run along, because I cannot possibly be speaking truth. Neither am I telling you where I had problems. This is cannot be feedback, it must be dunbars rantings. Does Arch have a future when feedback is considered trolling or flaming the developers? Lighten up, folks, I had once been trying to offer help and sought to get help.
    I know this is a labor of love for you all; in many ways, Linux is a labor of mine as well. Sadly, you are not hearing some issue that could help make Arch the distro that some folks want it to be.

    dunbar wrote:Step by step: I mentioned a few weak areas that newbies would not know how to address.
    I mentioned that newbie would not necessarily have the skills to get the correct docs from a myriad of websites.
    Which appear (and frequently are) obsolete.
    Well, then we include the docs and then non-newbies would complain that we are cluttering the filesytem and you would complain because those documents are obsolete. sound familiar? i have seen this argument before and there is not winning it. people bitch about the manpages, docs, etc ALL THE TIME. you must know that. so the best we can do is add your concerns to our own documents and add necessary documents to the files.
    When their internet connection was what had failed, the internet doc is not available.
    And when they had no Xwindows in which to read HTML documents,
    and nothing tells the newbie about CLI browsers.
    i would expect that no absolute green newbies would try arch so those newbies that do show up i would assume have some linux experience (one can be a newbie and have some experience) so i would assume that they would know about lynx or links browsers or at least know how to use cat and less.
    another point about this is that if a newbie does not even know how to use cat, less, or a cli editor to view files then they would be very very f**ked with arch linux and having self contained documents would be pretty pointless. so again i would ask is it not wise to print out/write down any relevent install/configuration instructions? you do know how to write since you already say you don't have a printer?
    okay so if we include install configuration data in the installer will you know how to access it? is it fair to tell the user that it is in such and such directory and you can access it through say vc1-4? should we scrap our online docs altogether and just have them self contained?
    The network thing was changed along the way - IPX/SPX was part of the issue, my 5 port switch is another part. I am not berating you, sarah31, nor am I asking anyone to re-write man pages, etc. as several posts seemed to attribute to me. The man pages are the weak spot, Arch docs need to go from there. Never wanted to say more than that.
    and all i wanted to know is what apps do we extend our documentation to? all of them? are you saying that all our apps need extended docs? can you point me to one distro that has extended documents of all their applications? besides ppp what would YOU extend? it is fair to ask this of arch developers/users but they really need to know just what manpages are defunct and have no bearing on arch.
    i would not expect a request like this would get fulfilled too quickly there are lots of applications' man pages and docs to go through then the developers would have to determine what is needed and what is not.
    as for manpages......i used to find them unreliable but to be honest most manpages i have viewed lately have been very clear and concise about how to operate/configure apps. i am not saying this to contradict you but i say it honestly. when i have been unable to find someone to ask on this forum or irc manpages normally do the trick for me. (and don't say it is because i am some expert with linux because i a definitely not)
    I'm trying to point out that A] with a presumed goal of gaining Linux users,
    B] Arch, being small, uncluttered and likely attractive to newbies (small draws newbies because it is so small (dialup accessible but only one big download at a time) and older systems where XP won't fit on their disks, etc) and also
    C] since Arch had very tight documents covering what needed to be done (but might need more topics covered), I felt that was likely going to lead to newbies arriving here in some situations that
    D] Arch clearly tries to assume will not need the attentions of forum members (which have the skills) and
    E] the newbie does not have the skills.
    That would lead to the assumption that Arch was not interested in the users needs.
    with respect to this.....well what can i say but you are a complete ***hole. for one thing small does not always attract newbies in fact i know ALOT ALOT ALOT of people that will not even try arch or similar distros because they are small. most people want the choice to kludge up their system if they like but arch is not in this realm yet because we do not offer alot of packages.
    i agree we need more stuff covered in our documents and you would not find a single user or developer that would disagree with you. So i guess this point you make throws out your idea of extending the manpages because that is not a concise project (for example manpages for transcode are good but to get into all the basics a newbie would need to know would require one to be alot more verbose similarily with networking documents)?
    to say that we here do not pay attention to users is ABSOLUTELY THE WRONG ANSWER. there are only two pages of unanswered post and considering there are always post that are merely statements that do not need to be answered that is very good. in fact if you even bothered to check there are only 79 unanswered posts out of 4512. that's 1.75% of the posts on the forum are unanswered. besides that there are always questions that no one has an answer to. obscure problems do exist i know i have hit many in my ventures in any OS.
    besides this forums are a free service. no one is under obligation to use it user AND developers alike. no one is paid here so don't diss anyone and don't feel that anyone is obligated to answer you.
    i can also say that you are a complete arrogant ass for saying arch does not care about its users. we don't care about you that is for certain. but i can guarantee that everything i did every package i made, upgraded, donated, fixed, etc was for the user. people wanted openoffice i spent a week building it then it got broken with the upgrade to gcc 3.3 i spent another week trying to fix it without luck then judd spent 3 days compiling and patching 1.1. so do you EVER say we don't fucking care you little ingrate.
    The perceived 'lack of clarity' on my part is because I am still a newbie. I might have a few things working under Slackware, but I'm not certain, today, where I even made the changes. I'm not asking for hints on how to keep a notebook, I have one, it is 40 miles away, I cannot discuss Linux by reading my notes or grepping my config files, they are 40 miles away. I cannot log into my Linux PC, I only have dial up, the only telephone line in my house is for voice communications. DSL is too far away, Cable is too expensive.... have I never said any of this before? No, not in this thread, but I've always been a hardliner on those points sarah31. I do not match up with what is assumed of me. But here I am, posting, despite my ineptitude.
    "Waaagh i'm a newbie. waggh i don't have highspeed pity me pity meee!"
    there are lots of users on dialup here including developers so we don't give a flying f**k.
    I believe the deepest undercurrent I see here is diverging viewpoints of what Arch is and diverging goals for Arch. My views are different from a few who assume the Archer has the skills, hApy seems to have a third viewpoint, and yet a third viewpoint exists.
    yeah and you are saying we have to conform to your view. typical. funny we seem to be getting more and more users all the time both newbie and non newbie and this despite having a completely uncaring development team and a horrendous set of docs. one of the funny things is that many of the newbies recently are all dialup like you and they still take time to make irc interesting or contribute packages.
    If my posts reflect an atmosphere of bewildering viewpoiints, I'm not surprised - I've tried to reply to differing posts which take differing opinions; I suppose it is frustrating to anyone to reply to 3 posts at once. I'm replying in order to offer my view of when I was a frustrated newbie (this morning, I think ;-) ). Remember, I was told by a certain forum member that, most certainly, dunbar was a slackware user and the assumption was that he must be nearly expert - yet, I declared, no, I'm not an expert and I freely admit a lack of skills. I was not the one who estimated dunbars skills, Sarah31.
    oh you are soooo subtle in your insults. come on you tell me after hundreds of installs and two years of using linux you don't know anything? find me five green newbies that know how to grep or know to look online for information. personally i and many others here and elsewhere have little time for someone who cries about being a newbie when they obviously aren't.
    what is it some sort of ploy to make people feel sorry for you or shorten your look online for info that you likely could find in two minutes? spare me. up to one year you are a n00b after that you are not.
    I'm definitely not interested in dissing anyone, not you, nor Gyroplast, nor Apeiro, nor hApy .....
    hmmm you care to stand by that or should i pull out several quotes to the contrary?
    I have pointed out that early on, Arch was interested in being Judds perfect distro... did anyone ask him if he ever said that? As I said, I can offer to cut and paste, if you wish.
    so your point is? is this a bad thing? is it not possible for many of us to believe it is the perfect distro for us as well? why not diss yoper for claiming to be THE distro.
    Yet, I'm clearly getting 2 viewpoints in response to me repeating that fact. Thus, in order to push the reader away from their position, so as to get them to walk in my shoes, I post from different directions aiming toward one central condition. Is the issue me, and me alone? Or did the issue exist, and I'm guilty of responding to all viewpoints and thus I'm guilty of pointing it out?
    i have been in your shoes and i often get put back in your shoes when i start to use or investigate applications or areas of linux i have never explored before. so whats your point? if it was to fix up the documentation? that was a goal for some time now in fact a few users have made it an ongoing thing.
    you are not the only one that is a newbie here nor are you the only one here. there are many things that developers must balance when they do their duties. there will never be a distro that will satisfy all a user's needs but i can tell you that the arch team does try to please as many people as possible. so yeah i think you are the issue to some extent. you could have come in here and politely explained what it is that you felt needed improvement but instead you came in and whine and cried that you were so abused and that we had to change to please you. it was all about you anyone can easily extract that from the way you keep flipping between i'm a newbie, i'm not a newbie but i speak for newbies. if you cannot find the offesive comments you have made along the way or see how some people came to the conclusions they did then it is your fault.
    Anyway, you mentioned the ethernet thread.... thydian is evidently new here. Lets explain that issue out loud (since you already raised the matter). I offered to write a document regarding Ethernet setup, I was not shown what to do (frozdsolid posted that they were "pretty sure that's necessary"). I do not assume that every member here reads every posted message; thus, I believe I had read the opinion of someone who was as newbie to Arch as I myself was a newbie (frozdsolids title still shows only 4 posts even today). Nobody here 'handed me an answer' as some might conclude from your post.
    well YOU may not have gotten answer but people DID try to answer your question and, in fact, the answer is there. but you could not extract it or did not know how to ask the question properly to get the result you desired.
    but of course we are the bad guys here because we took the time to try and give you an answer. man you are such a wanker....
    I posted everywhere else on the internet about my situation using IPX/SPX, I heard that it was a dead protocol. I finally found information about IPX/SPX, it was not herein, so the forum was of no use in that instance - that is a fact, sarah31. Now that I have concluded that IPX/SPX was not the best choice and changed the rest of the household over to TCP/IP...... the IPX/SPX issue is no longer the focus, so I dropped the subject; until I was  6 months later, I came back here, saw BluPhoenixs post and was a bit confused. That lead to him suggesting DOSemu, I stated no, that was not preferred, etc. etc. I ultimately thanked BluPhoenix, stated why I was going to drop the issue, and I left the thread cold.
    so why insist on blaming us for something that we tried to answer but was obviously beyond our knowledge? you did it at the end of that thread and you constantly do it here. how many other people did you verbally assault along the way?
    The whole thing got misdirected, away from what I was asking for, as if the topic was no longer my decision alone.
    what a pile of BS. it was YOUR thread so get in there and assert yourself. threads get out of hand sometimes but the original poster can easily get control again if they have a pair.
    i know for a fact that the people he chose to insult would and have tried to help him but he blows them off. i know too that the head developer is VERY open to user contributions yet dunbar chose not to contribute.
    The reasons should be evident by now - when I offered to contribute, I had the time; 6 months of time transpired, I was not able to write because I had no answers with which to generate such a document. I had to revoke the offer. I am taken by surprise that anyone would say I was given the necessary information!
    BS again you just stated that you got your answer (outside of our forum) so you could have easily posted back with what you had found out and then provided documentation later. and you mean to tell me that you have not had time in the last six months to wing something together. shit you have practically written a novel here.
    it is obvious to me that you just want to guard that knowledge and us it to flame and troll here. once you had the answers you were sure to come back and flame that thread and continue flaming on a regular basis. what an ass.
    I've known you to be patient, sarah31 (and you are yet teaching me as I write), but when you say I'm taking great pains to insult someone - while I'm waiting months for forum responses and I'm reading internet documents that are obsolete and these are docs which talk about a different distro, refer to a different kernel, puts files in a different location????
    yeah so you waited for an answer and didn't get one...it happens. you stated that barely anyone knew the answer. fianlly you got one and then came back and rudely blamed us for poor documentation and a barrel of other things. nice guy.
    all i saw was orelein answer you in a nice and proper fashion and you called him eliteist. you also were rather rude about judd in your first post in the future thread. so yes i see all throughout attempts to belittle and brate and not one instance of sober commentary from you.
    and here you are again balming us for online docs that are not ours.
    That is not appropriate, ever, to assume that the newbie will not find older docs and will know enought to discard the incorrect ones.
    this is not limited to newbies.....it can definitely be difficult finding what you need online.
    And since most internet docs are coasting along since, for example, 1999 (re: the IPX/SPX how-to)
    well if you are checking out and obscure problem that is actually now obsolete then sure the fucking doc will be old but you make is sound like ALL docs are old. so i have to assume that you are very much an idiot because i have found most documentation for most current issues to have current docs. most applications will upgrade their docs as they upgrade or do you even notice that? are you to self absorbed to go around and find out if your wild accusations actually have any merit?
    once again, and I'll ask this, and directly of you, sarah31, why would any newbie assume that 4 year old document applied to their situation??
    well knowing how many newbies are i would expect them to ask if docs are relevant. or they could possibly look into some of the information. if it was not producing answers...wow i think they would ask for help again. shit do you even pay attention to how newbies act on justlinux?
    :oops: I'd ask that people remove useless web documents, but I fear that I'd get only 4 responses. That is reality, not sarcasm.
    hmmm remove docs, add docs which is it? fyi arch removes most docs except in rare circumstances. if those docs are html they are html. if a n00b doesn't know how to view them i expect they would ask( that is if they are outside x).
    dunbar...stick with slack because arch will never please you. slack is a very nice distro that should have the balance arch does not afford you. that is the great thing about a linux .... if you don't like one flavour then try another. just don't go back to the ice cream dealer and berate him for selling you your choice...get the point (if you don't then fine i expected that)

  • Least square circle calculation on a series of data points

    I am taking a series of (x,y) part measurements that describe a circle  (radius & rotation angle). The center of the part and center of rotation are offset. Looking for code to do a least square circle calculation on this data set so diameter and out-of-roundness can be estimated. Platform LabView 8.2.

    Here is my simple solution from the above mentione thread:
    (Is it not exaclty "least squares" in the classical sense but the sphere fit works typically very well..)
    LabVIEW Champion . Do more with less code and in less time .

  • E51 Contacts transfer to car kit via Bluetooth

    If you have an E51 and have problems with transfer of contacts or call lists to a car kit via Bluetooth, please read this post: 
    /discussions/board/message?board.id=connectivity&thread.id=21660
    Hope it helps.
    Bill

    You must have all your contacts on the simcard.  Try copying all the contacts on to the simcard and then see what happens.

  • Installing Xserve on a 2 post rack

    I need an advise on how to mount the xserve on a 2 post rack.
    Please help

    I've had two xserves on a shelf in a telco rack and it supported it just fine, though I admit it's not ideal. As far as the xserves being too deep, I guess it just depends on the position of the rack in the room. The G4 and G5 xserves did come with mounting kits for a two post rack which is how most of my xserves are mounted.
    We use a two post adapter from racksolutions.com that work out great for our few Dell servers the rest of our xserves that I installed with the four post kit and cable management kit since I will need to access them more often.
    It's unfortunate that the Apple RAID and the new intel Xserves don't adapt to the two post adapter because Apple's mounting kit's rail extensions are too long and run into the telco rack in the middle.
    The previous xserves extension attached to the rear of the xserve and were much shorter. They work great with the two post adapter. I do understand it's a different type of rail kit but I'd like Apple to consider those of us that have to use a two post rack. I hope there is a different kind of adapter that is compatible with the new xserve mounting kit.
    Intel Xserve   Mac OS X (10.4.8)  

  • Red Circle with a red square

    For some reason my phone isn't playing all my music. It just skipps over the songs that have a red square with a red circle around it. I have Turned it on and off, connected to iTunes with the cable...nothing..any ideas?

    I encountered the same problem yesterday and found the solution after seeing this same issue posted on Apple support over multiple dates since September. I followed the advice of one commenter and did a restore procedure of the iphone and that solved the issue. The commenter provided a link to a non-apple web site and the instructions differed only slightly from Apple's instructions here: http://support.apple.com/kb/HT1414. I can't find the original advice or that site right now but here's what I did:
    1. ensured that only the usb end of my sync cable was attached to my computer with itunes open. 
    2. held the home and top buttons down simultaneously on my untethered iPhone to power it off. 
    3. Keeping my finger on the home phone only, connected the iPhone to the other end of the sync cable that was connectd to my computer (fyi, I use a macbook pro and back up everthng to iCloud)
    4. the warning message came up in iTunes about are you sure you want to restore all your media and other data (on the phone) will be erased.  You can click cancel or restore; I chose restore. It took a while but all my apps, photos and music returned to my iPhone without the red circles with red squares on some tracks.
    Background:  I updated to ios 7 back in September with no problems.  Yesterday, I imported new digital audio to my itunes library and then went to sync, it appeared that I was way over capacity on my iphone.  I tried removing pictures and apps I don't use. That brought memory down, but the sync would not correct the red circle/squre issue of certain tracks in my music on my iPhone.  These files played fine in iTunes on the computer.  On the Apple thread where I found the advice that I've posted that worked, that person had spoken to an Apple person on the phone who believed that a file must have gotten corrupted on the iPhone and recommended the restore. I think the same happened to me.  The new digital audio files which I had imported into iTunes were mp3s which worked fine in iTunes, but must have gotten corrupted during the first sync. I converted to aac and shrunk to 128, but whenever I tried to sync, things looked normal (except for a diagnostic message) but the waiting to copy took way to long and when things finally started to copy, it was so slow that he sync just quit on its own.  THEN I noticed that all the music that had the red circle/squares were files that I had originally put into iTunes from CDs - so, music not purchased via iTunes.  These were imported quite a while back. Fortunately, they were all backed up to the cloud and restore of the iPhone worked.  All that music is back and I don't get the diagnostic message or slow wait and quit problem now. 

  • "Portable" way to do message passing between threads?

    (I posted this on the Apple Developer Forums already, but since that forum is only accessible to registered and paid iPhone developers, I thought it would be nice to put it here as well so as to get some more potential eyeballs on it. I apologize if this kind of "cross-posting" is not kosher/is frowned upon around here.)
    Hey everybody,
    "Long-time listener, first-time caller," heh.
    I've been working for the past 2-3 months on my very first iPhone app. Actually, what I've been working on is a framework that I plan to use in an iPhone app of my own but which I am also trying to write for the "lowest-common-denominator" so that I (and others) can use it in other apps written for both Mac and iPhone.
    Not only is this my first time writing an iPhone app, it is my first time writing for any Apple platform. In fact, it is my first time using Objective-C, period. I cannot stress this enough: I am a "n00b." So go easy on me. I also have not worked with threading before this, either, on any platform, so the learning curve for me here is rather significant, I'm afraid. I am NOT afraid of either taking the time to learn something properly OR of rolling up my shirtsleeves and working. However, on account of my experiences so far, I am finding myself (not to flame or anything!) quickly becoming frustrated by and disillusioned with not so much Objective-C itself, but the Foundation frameworks.
    So with that said, read on, if you dare...
    The basic idea behind my project is that the framework I am writing will present an API to developers which will allow them to write client apps that interact with a particular network appliance or network-aware embedded system. I already have my basic set of classes up and functioning, and the framework works to my satisfaction both on MacOS and iPhoneOS. The platforms I am targeting are MacOS X Tiger 10.4 and later, and iPhoneOS, and up until this point, I've managed to keep a codebase that works on all of the above.
    What I wanted to do next was add some multithreaded goodness to the mix. (Woe is me.) I have asynchronous network socket I/O working within the main thread, and it, in fact, works a treat. In my test app on the phone, I've managed to keep the UI nice and responsive by using the main thread's runloop efficiently. But even though TCP async I/O works fine within the main thread, I want to be able to split out and offload the processing of any data received by the app from the appliance to its own thread. (It is possible, and even desirable, for an application using this framework to be connected to multiple appliances simultaneously.)
    My idea, in order to try to keep things as simple and as clean as possible, was to implement a wrapper class that presented my other main class as an "actor." So, rather than instantiating my main class, one would create an instance of the wrapper class which would in turn control a single instance of my main class and spawn its own thread that the network connection and all data processing for that particular connection would run within.
    (I hope I'm making sense so far...)
    Out of the gate, writing a subclass of NSThread sounds like the logical design choice for an "actor-type" thread, but because I was trying to maintain Tiger compatibility, I stuck with +detachNewThreadSelector:etc.
    Once I decided to pursue the actor model, though, the main problem presented itself: how to best pass messages between the main thread and all of the "actor" threads that might be spawned?
    I stumbled upon -performSelector:onThread:withObject:, and knew instantly that this was exactly what I was looking for. Unfortunately, it doesn't exist on Tiger; only its much more limited little brother -performSelectorOnMainThread:withObject: does. So I kept looking.
    All of the pre-Leopard documentation, tutorials, and sample code that I read indicated that to pass messages between threads, I needed to basically pretend that the threads were separate processes and use the expensive Distributed Objects mechanism to get messages back and forth. Unfortunately, even if that WAS a desirable option, iPhoneOS does not have any support for DO! Grrr...
    Finally, I thought I found the answer when I ran into a third-party solution: the InterThreadMessaging library from Toby Paterson (available @ http://homepage.mac.com/djv/FileSharing3.html). In this library, the author basically implemented his own version of -performSelector:onThread:withObject: called -performSelector:withObject:inThread:. Sounds close enough, right? And actually, it is pretty darn close. It's made to do exactly what it sounds like, and it does it in a platform-neutral way that works on pre-Leopard systems as well as iPhoneOS, using Mach ports instead of DO.
    (...wellll, ALMOST. I discovered after I built a small test app around it that it actually isn't "iPhone-clean." The author used an NSMapTable struct and the NSMap*() functions, which don't exist in iPhoneOS, and he also implemented the handlePortMessage delegate method, but although iPhoneOS has NSPort, it DOESN'T have NSPortMessage. GAAARGH. So I took the time to replace the NSMapTable stuff with NSValue-wrapped objects inside of an NSMutableDictionary, and replaced the handlePortMessage method implementation with a handleMachMessage method, which took some doing because I had to figure out the structure of a Mach message, NO thanks to ANY of the available documentation...)
    Once I started using it, though, I quickly discovered that this implementation wasn't up to snuff. My "actor" class and my main thread will be passing a ton of messages to each other constantly whenever there is network activity, and with InterThreadMessaging, I found that whenever activity started to ramp up, it would collapse on itself. This mostly took the form of deadlocks. I found a note that someone else wrote after experiencing something similar with this library (quoted from DustinVoss @ http://www.cocoadev.com/index.pl?InterThreadMessaging):
    "It is possible to deadlock this library if thread A posts a notification on thread B, and the notification on B causes a selector or notification to be posted on thread A. Possibly under other circumstances. I have resolved this in my own code by creating an inter-thread communication lock. When a thread wants to communicate, it tries the lock to see if another thread is already using the InterThreadMessaging library, and if it can't get the lock, it posts a message to its own run-loop to try again later. This is not a good solution, but it seems to work well enough."
    So I tried implementing what he described using a global NSLock, and it did help with some of the deadlocks. But not all. I believe the culprit here is the Mach ports system itself (from the NSPortMessage documentation for -sendBeforeDate:):
    "If the message cannot be sent immediately, the sending thread blocks until either the message is sent or aDate is reached. Sent messages are queued to minimize blocking, but failure can occur if multiple messages are sent to a port faster than the portís owner can receive them, causing the queue to fill up."
    InterThreadMessaging in fact calls -sendBeforeDate: and exposes the deadline option, so I tried setting a really short time-to-live on the Mach messages and then intercepted any NSPortTimeoutExceptions that were thrown; upon catching said exceptions, I would then re-queue up the message to be sent again. It worked, but Performance. Was. A. Dog. At least the message queue wouldn't be full indefinitely anymore, causing the main thread to block, but during the whole time that these messages were expiring because the queue was full and then being re-queued, either the main thread was trying to send more messages or the actor thread was trying to send more messages. And as far as I can tell, the Mach ports queue is global (at the very least, there is seemingly only one per process). The message would get through with this model...eventually.
    JUST IN CASE the problem happened to be something I screwed up as I was rewriting portions of the InterThreadMessaging library so that it would compile and work on the iPhone SDK, I substituted in the original version of the library in my Mac test app to see if any of these problems became non-issues. I found that both versions of the library -- mine and the original -- performed identically. So that wasn't it.
    Finally, in frustration I said, "screw it, I'm going to try it the Leopard way," and replaced all of the method calls I was making to InterThreadMessaging's -performSelector:withObject:inThread: with calls to Foundation's native -performSelector:onThread:withObject: instead, changing nothing else within my code in the process. And wouldn't you know: IT WORKED GREAT. Performance was (and is) fantastic, about on-par with the non-threaded version when only dealing with a single connection/instance of my class.
    So, in the end, I was able to do nothing to salvage the InterThreadMessaging implementation of cross-thread method calling, and as far as I can tell, I'm out of (good) options. And thus my mind is filled with questions:
    How is the Leopard -performSelector:onThread: method implemented? I'm guessing not using Mach ports, given that I didn't have the same blocking & deadlocking problems I had with InterThreadMessaging. Is it possible to re-implement this Leopard+ method in a similar manner as a category to NSObject under Tiger? Or is it possible, perhaps, to increase the size of the Mach ports queue so that InterThreadMessaging works at a sane level of performance? Or -- I'm getting desperate here -- is there any way that I could trick -performSelectorOnMainThread: to target a different thread instead? (I am assuming here that -performSelectorOnMainThread is implemented under-the-hood much like the new -performSelector:onThread: is implemented, but with a hard-coded NSThread pointer built-in to the code, and that the new method just exposes a more flexible interface to what is basically the same code. I'm probably wrong...) Is there another third-party library out there that I've missed that fits my requirements for being able to do message-passing between threads in an efficient and portable manner?
    I refuse to believe that there is no way for me to maintain compatibility with all of the platforms I wish to support without having to resort to making preprocessor #ifdef spaghetti out of my code. And there SURELY has to be a better way of doing cross-thread message passing in Tiger without using Distributed Objects, for Pete's sake! Is this really how people did it for years-on-end since the dawn of NeXT up until the advent of Leopard? And if there really, genuinely wasn't another alternative, then what is up with the lack of DO in iPhoneOS?? Does Apple seriously intend for developers who have good, solid, tested and working code to just chuck it all and start over? What if there was some aspect of DO that previous implementations relied upon that cannot be recreated with simple -performSelector:onThread: calls? (I don't know what those aspects would be...just a hypothetical.) I mean, I can understand needing to write new stuff from scratch for your UI given how radically different the interface is between the Mac and iPhone, but having to reimplement back-end guts such as something as elemental as threads...really?!
    I do laud the inclusion of the new method in Leopard as well as the new ability to subclass NSThread itself. But for those of us that need to support Tiger for one reason or another, some of these restrictions and omissions within iPhoneOS seem like rather pointless (and frustrating) roadblocks.
    As I hope is obvious here, I have tried to do my homework before throwing up my hands and pestering y'all. If you have the patience to deal with me, please tell me what I am missing.
    Thanks for taking the time to read,
    -- Nathan

    Thanks again for your patience. Comments below.
    etresoft wrote:
    It is pretty unusual that anyone would want to call perfomrSelector on any thread other than the main thread.
    What I described in my original post was not a worker thread, but an "actor."
    It is hard for me to answer this question because there are so many options available to do "message passing". The fact that you think there are so few tells me that you really aren't sure what you need to use.
    I didn't say there were few options for message passing. I said there were few options for message passing that fit my criteria, which are that any potential solutions should both A) work efficiently and with good performance, and B) be available both pre-Leopard AND on the iPhone. -performSelector: ain't available before Leopard. Distributed Objects is overkill. Kernel Mach messages apparently have a high overhead, too, as my experience with the third-party library I wrote about in my original message shows.
    ...consider notifications.
    I thought notifications couldn't be posted across threads, either. How do I post a notification to another thread's default notification center or notification queue from a different thread?
    The notification center is owned by the process. Each run loop can listen for just the notifications it wants. You don't "pass" or "send" notifications, you run then up the flagpole for all to see.
    I am aware of how to use notifications. The documentation for NSNotificationCenter clearly states that "In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be the same thread in which an observer registered itself."
    So, again, I don't see how one thread can post a notification in such a way that the observer's registered method is executed in another thread (posting notifications "across threads"). This probably isn't a big deal if you are using mutexes (assuming you don't actually care which thread carries out the task associated with the notification posting), but as I said before, this is not what I'm after.
    I don't know what you are really after.
    Allow me to attempt to explain a second time, in a more concise fashion.
    My app will have multiple, persistent TCP connections open, one connection per remote device. The user will be able to select a task to execute on a particular device that we have a connection open to, and get back from the application real-time updates as to the progress or results of the execution of that task. In certain cases, the length of the task is infinite; it will keep executing forever and sending back results to my application which will update its display of the results every second that ticks by until the user STOPS that particular task.
    This can be done simply using async I/O in the main runloop, sure. But if I were going to thread this so that I could be processing the results I've received back from one *or more* remote devices while also doing something else, given that I will only have one (persistent) connection open to any given remote device that I'm interacting with (that is to say, I won't be opening up a separate TCP session for every single task I want to execute on a single device simultaneously), it makes sense _to me_ to implement this as I've described: with every connection to each remote device getting its own thread that lasts for the lifetime of the TCP session (which could be the entire time the application is running, times however many devices the user wishes to be connected to while in the app). I won't be spawning a new thread for every task the user wishes to ask a remote device to do.
    This is why (I think) I need bi-directional messaging between the main thread and each of these threads dedicated to a given remote device that we have an active session with/connection to. The main thread needs to be able to tell remote device X (which already has a running thread dedicated to it) to do task A, and then get real-time feedback from that remote device so that the main thread can be displaying it to the user as it is coming back. Same with remote device Y running task B, simultaneously. At any time during the execution of these tasks, the user needs to be able to tell my app to stop one of these tasks, and the main thread needs to send that message to one of the remote devices via that device's dedicated thread.
    This is why I am talking about this in terms of the "actor model," and not the "worker thread model," because the former model seems to fit what I want to do.
    -- Nathan

  • Spring kit download

    Hello All,
    I had a few query regarding spring in WLS.
    1> I'm trying to expose some spring beans as MBeans to the admin console but I don't quite succeed.
    I've followed the steps from the http://e-docs.bea.com/wls/docs103/pdf/programming.pdf (Spring applications reference part) so I can see the all the beans in the spring framework tab of the admin console but all of them are just read only. I would like to be able to get and set values to (some of) them, so I would like to export them as MBeans. According to the documentation: "To access spring beans that are not MBeans through the WebLogic Administration Console, you must configure an MBeanExporter in the applicationContext.xml file and specify which beans to expose via the assembler. Make sure that the applicationName property is the deployed name of your application."
    I've tried to use the exporter but somehow it does not work. Unfortunately the old pitchfork files and example apps are no more available at commerce.bea.com and on the otn I couldn't find them. Is there any version of them or another working example for WL 10.3?
    2> http://e-docs.bea.com/wls/docs103/pdf/programming.pdf says : “To demonstrate the ways in which Spring can take advantage of WebLogic Server’s enterprise features, Oracle redesigned the Avitek Medical Records sample application (MedRec) to replace core J2EE components with Spring components” But I don’t see the \samples\domains\medrec contains anything spring.
    Moreover all the links in http://www.oracle.com/technology/pub/articles/dev2arch/2008/07/spring.html  leads to our old http://commerce.bea.com/showproduct.jsp?family=SPRING&major=2.0.2&minor=0 for “Downloading the Spring on WebLogic Kit”.
    /ed

    I've read your post a few times now, and still am confused about ow this relates to downloading an Oracle product.
    I THINK you are asking for programming help. And that implies you are asking for help about a product. Specific WLS, which I interpret as Web Logic Server (one of several hundred products from Oracle).
    If that is correct, and you are not experiencing a problem obtaining the product, you might be bbetter off asking the question again in a forum where people discuss the product. For example, the Web Logic Server forum is at WebLogic Server - General
    An alternate way to get to that forum is: http://forums.oracle.com - and scroll down or use the browser's search capability to find 'WebLogic Server'.

  • Lost thread in PI forum

    Hello PI Gurus!
    I've lost my thread "Resource Adapter deployment - problem with application reference". The tread is only visible in my watchlist and I can only see Christian Sy's reply!
    And an error message is shown: "This thread is locked - replies are not allowed."
    This is the link to the thread:
    [Resource Adapter deployment - problem with application reference;
    Does anybody know how to unlock?
    @Christian Sy: Sorry, I cannot reply to your helpful answer!
    Cheers,
    Matthias

    >
    Siva Maranani wrote:
    > Is it a bigger problem that just lost thread??
    >
    >
    > I've lost my thread "Resource Adapter deployment - problem with application reference".
    >
    Posted by Christian Sy  and not by Matthias Kral .
    >
    > Why does Matthias Kral worry about Christian Sy but refereing to the thread as "iI've lost my thread" as if he posted it?
    Hi Siva,
    This is not a question of bigger or smaller problem. This is a matter for providing information to someone how is not aware of Rule-Of-Engagement on SDN.
    Secondly I think you have not seen the thread properly which is attached in this thread. Look it carefully because it was originally created by Matthias Kral but since it has been blocked therefore he is not able to find his original post in the same thread and it was answered by Christian Sy.
    I hope this resolves your curiosity.
    Regards,
    Sarvesh

  • Problem w/ thread in Database forum?

    Is there a problem with this thread?
    Datablock writes
    Most threads that are answered will say "This thread is answered." and below one of the post will be marked "Correct". In this thread, it says "This question is answered. Helpful answers available: 5. Correct answers available: 1." And below, none of the replies is marked as "Correct".
    -Mark

    Yes I understand Mark. I do favor this that when the poster is satisfied with the answers and is finally going to close the question, he should mark the right or near-to-right answer not just for him but for others as well, who in future may look at that thread for the same question. But I guess, at times, people either are in just too much of hurry or don't bother to press few extra clicks of mouse.
    + realize I'm not as active on the Forums as some people, but I've answered my share of questions.
    Yet, if you look at my profile, it says "25 points (newbie)". I can only assume it's cause I have a knack for consistently answering questions from people who don't bother to award points.+
    I really don't think that the points decide how much knowledgable a person is. Yesterday, I was writing some notes, doing some research with block dumps, almost all the threads that I found over web, you were there, explaining the contents of it. Please trust me when I say this, your answers are among the best ones over here for some of the toughest topics. I remember very well your answers over the threads for Dirty Buffers and Pinned buffers. At least for me, it doesn't matter what the profile shows , I know who are the best guys over this forum and over the other places where I look for answers. That's the same for my profile as well, which says, Guru when I am so so many miles far from being called that :-) .
    best regards
    Aman....

  • Car kit automatic A2DP connection

    I'm not entirely sure if this is a problem on my phone, or with the car kit, but I figured if I post on both ends, someone might know the answer.
    With my N95 and N97, as soon as I turn on my car (equipped with Nokia CK-100), I automatically get connected to BT HFP and A2DP profiles.  The car kit will tell me, "Phone connected."  A second later, "Player connected."  With the N8, the car kit will only connect to just the phone automatically.  For the player to connect while the car is on, I have to open up the music player and play a song, which will then force N8 to make the A2DP connection.  So when that happens, you hear a 1.5 second message saying, "Player connected" followed by music that is already 2 to 3 seconds into the song.  I thought it was perhaps the Car Kit getting full with the list of paired devices (memory is for 8 pairings), but clearing the list doesn't help.  I thought it was the Car Kit firmware, so I upgraded it to 4.401, no luck.  Then when I paired my old N97 and N95, both HFP and A2DP connections were made automatically when I boot up my car as expected!  But not the N8.
    Problem with the Car Kit, or problem with S^3?
    John @ Chicago // 5160 (1999.07.20) > 7160 (2001.06.09) > 6340i (2003.04.26) > 6620 (2004.08.24) > 7610b (2005.05.08) > N91 (2006.06.07) > N95-3 (2007.09.28) > N95-3 #2 (2007.12.05) > E51 (2008.03.10) > N97 (2009.06.11) > N97 #2 (2009.09.11-warranty replacement) > N97 #3 (2009.12.10-warranty replacement) > N8 (2010.12.02) > N8 #2 (2010.12.11-retailer replacement) > 808 (2012.12.10) > X2 Dual Sim (2015.01.19-for motorcycle offline maps use only) %gt; 808 #2 (2015.01.26-manufacturer replacement)

    The N8 on PR1 is still not a good excuse for the many bugs that it has.  It's just unimaginable that something that worked solidly with S60v3 and S60v5 and suddenly with the improved Symbian OS a mature and functional feature suddenly has a bug?  I just don't understand how that could've made it into the N8.  Is it the OS?  Or is it the BT chipset?  In either case, quality control got missed.
    Thanks, though, for letting me know that I'm not the only one to experience this.  I'll stop trying to fix this as this is a problem outside of my control.
    John @ Chicago // 5160 (1999.07.20) > 7160 (2001.06.09) > 6340i (2003.04.26) > 6620 (2004.08.24) > 7610b (2005.05.08) > N91 (2006.06.07) > N95-3 (2007.09.28) > N95-3 #2 (2007.12.05) > E51 (2008.03.10) > N97 (2009.06.11) > N97 #2 (2009.09.11-warranty replacement) > N97 #3 (2009.12.10-warranty replacement) > N8 (2010.12.02) > N8 #2 (2010.12.11-retailer replacement) > 808 (2012.12.10) > X2 Dual Sim (2015.01.19-for motorcycle offline maps use only) %gt; 808 #2 (2015.01.26-manufacturer replacement)

Maybe you are looking for