Jump to content


perforce prevents VS solution loading


  • Please log in to reply
11 replies to this topic

#1 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 29 January 2017 - 06:16 AM

HI,

I get that totally ridiculous outlandish behavior with perforce. Personally I get it once a day or so, not sure what happens but it feels like server sometimes stops responding and anything that involves perforce block. The reason I blame on server is because when that problem happens I observe it on all machines.
Here are the problems that I see when that problem happens:
- when I open p4v I see progress bar cycling in the bottom right corner. If I try to exit it, p4v asks for confirmation with some kind of message related to loss of connectivity.
- if I try to start p4v *NOTHING AT ALL* happens, however, I see new p4v processes in task manager and they are looping at 100% cpu.
- most outlandish f%ck up when this problem happens is that I cannot load my VS solutions that use perforce bindings. Seriously? What is this shit?! My solution file has like 50 projects and it's stuck siting at loading 1 one and usually this broken shit happens for 5-10 minutes.

not sure what the reason that I see that perforce stops working, but it seems like I observe it regularly in the evening (as a wild guess, perhaps in our organization we reboot perforce server, as a workaround for other problem perhaps?). In any case, please fix that perforce VS plugin so that it wouldn't block on waiting for unresponsive perforce and offer to work offline

#2 P4Karl

P4Karl

    Advanced Member

  • Administrators
  • 53 posts

Posted 30 January 2017 - 10:15 AM

Hi,

I agree that this sounds like a performance problem or backup taking place on the Perforce server. If your company pays for maintenance can you please ask them to contact support@perforce.com so we can investigate further.

Note that in the very latest Visual Studio plugin there is an improved offline mechanism however because I can't confirm the cause I don't know if this will improve your experience. If the server doesn't respond within the timeout period it should help. If the server is responding but painfully slowly then it may not have any impact.

I've therefore added this feedback to an enhancement request asking for an easily accessible offline mode on plugin startup.

Regards,

Karl

#3 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 05 February 2017 - 06:21 AM

I'm pretty sure we have paid support, but I don't want to ask and bother people. I see this behavior and I'm just reporting so you can improve your product.
The other extremely annoying issue when that happens is that I cannot edit anything in VS when that problem happens. Basically, as I understand, when I try to edit some file for the first time it needs to "check out" that file and blocks on server request that doesn't respond for a very long time. At this point entire VS is dysfunctional and deadlocked.
I guess it's obvious what the problem is and how to fix it: any call that can potentially talk to a server can block for a very long time. So, all the call that involve talking to a server have to have some sort of "watcher" that would unblock wait after certain amount of time and show that dialog saying that "server taking too long, do you want to work offline temporarily". Or something like that.

#4 p4rfong

p4rfong

    Advanced Member

  • Staff Moderators
  • 64 posts

Posted 07 February 2017 - 02:01 AM

Make sure you have the latest P4VS seen in https://www.perforce...s/helix.There are options to check or uncheck such as "Perforce - Data Retrieval, Lazy load file state" and "Perforce - Data Retrieval - Treat Solution/Projects as directories when selected".  Try combinations to see if CPU usage goes down.

#5 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 16 February 2017 - 06:17 AM

View Postp4rfong, on 07 February 2017 - 02:01 AM, said:

Make sure you have the latest P4VS seen in https://www.perforce...s/helix.��There are options to check or uncheck such as "Perforce - Data Retrieval, Lazy load file state" and "Perforce - Data Retrieval - Treat Solution/Projects as directories when selected".  Try combinations to see if CPU usage goes down.

We do not use p4VS, because it's buggy and does not work at all. It just doesn't start. Somebody from perforce recommended to downgrade for non-latest version which works, but we decided not to use p4vs, since it's just unacceptable for us.
Can perforce please fix these bugs, these are so huge that it's hard to imagine what kind of software development process is at perforce: the most obvious simple usecases just make it all fall apart completely in worst possible way.
Just try that: take a laptop with perforce SCM plugin and open VS make sure it all works, close VS. Now, change your laptop to airplane mode and try to open VS... it's totally unacceptable. In my case we definetely running something at 10pm and I cannot use VS at all. I don't care if P4 stopped working, but it's just outlandish that P4 scm plugin blocks VS completely. Honestly, IMO this is type of bug where you call your CTO at 3 am and tell that there is an emergency that has to be addressed.

#6 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 15 March 2017 - 05:13 AM

WHEN. WILL. THIS. BE. FIXED?

#7 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 15 March 2017 - 05:24 AM

View Postp4rfong, on 07 February 2017 - 02:01 AM, said:

Make sure you have the latest P4VS seen in https://www.perforce...s/helix.��There are options to check or uncheck such as "Perforce - Data Retrieval, Lazy load file state" and "Perforce - Data Retrieval - Treat Solution/Projects as directories when selected".  Try combinations to see if CPU usage goes down.

This is not an acceptable proposition. There is a bug that has to be fixed. PERIOD. If perforce goes down it cannot block me from working. That's it!

#8 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 15 March 2017 - 05:25 AM

All the tools have this bug. VS with P4SCM plugin gets blocked. VS with P4VS gets blocked. P4V gets stuck.
What a mess. Do you test your product?

#9 p4rfong

p4rfong

    Advanced Member

  • Staff Moderators
  • 64 posts

Posted 15 March 2017 - 06:24 PM

We do test our products, but we do not have enough information from you to diagnose and fix the problem.  The problem could be on the server, the network, or the hardware.  I do not doubt that you are having problems, but I cannot help you without log files, your help running diagnostic commands, and you trying various configurations.  The problem could be on the Perforce server and not any client; we would see the problem in the Perforce server logs and we would want to change server settings. If you set up distributed versioning, you would be able connect to a personal server for fast response times.

At a minimum, make sure you are using the latest versions of P4VS and P4V.

Perhaps it would be easier if we helped you out directly.  If you have a support contract, contact Perforce support and we'll be able to help you out.

#10 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 16 March 2017 - 05:17 PM

Well. as I say, regardless of what the possible issue with perforce (AFAIK we run some jobs daily that slowdown perforce server at 10pm) the point is clear: no matter what happens perforce extensions should not block VS, there is no discussions needed here. Every time when I try to edit any code in Visual Studio between 10PM and 10:15pm (time when something needs to be done urgently perhaps) P4 SCM plugin in VS perhaps tries to checkout that file that I try to edit and this blocks entire VS, e.g. Visual Studio becomes totally unresponsive for 10-15 minutes! That's the whole point I'm trying to make: it's irrelevant what happened with P4 server, no need to try to resolve that. P4VS or P4 SCM plugin for visual studio should never block. And regarding where problem can be: problem is in P4 code. P4VS blocks visual studio, P4 SCM blocks visual studio, P4V stops working (well, without P4 server answering it shouldn't work) but it starts taking 100% CPU until P3 server gets back to normal. When that happens I hear across the office from different direction "WTF?! Do you you have perforce issues", and I work on two PCs at the same time and I get identical issue on both of them.

IMO, if I was working on VS team, I'd add code to see if any plugin blocks VS gui the way P4VS does and I'd show a nice dialog saying that "the extension is malfunctioning, do you want to disable it?"

IMO, extension should start P4VS checkout transparently, without blocking (eg async call), if it fails to checkout, it should simply make the file editable (eg remove readonly attribute) and keep track of that failed checkout and retry later. DO NOT show dialogs saying that something is wrong, just log to P4 SCM/P4VS log in visual studio something like "operations wasn't successful, p4vs will retry...". Many people for that reason do not install any P4 visual studio plugins, and when working, they checkout their entire branch locally (to make everything editable) and then reconsile offline changes in P4V. Others even created custom shortcuts in VS to run P4 checkout when they want to edit a file. Which is IMO complete failure of P4VS plugin: it should function in such a way so that we wouldn't even care that there is P4 involved!

#11 pablo81

pablo81

    Member

  • Members
  • PipPip
  • 24 posts

Posted 17 March 2017 - 05:12 AM

Did you try to reproduce on your side? Is it fixed, is it planned to be fixed any time soon?
Check times on my post by the way... at times like this I can't express how much I hate this %&^#%@ #$@&*#^.

#12 p4rfong

p4rfong

    Advanced Member

  • Staff Moderators
  • 64 posts

Posted Today, 01:50 AM

Because your server is down every 10:00pm, it looks like a backup or Perforce checkpoint is occurring.  Your company should set up offline checkpoints or perform the backup later.  In the meantime, if your company allows a distributed system, you can set up a personal server and connect Visual Studio to this server.  Whenever you want to synchronize your personal server with the master Perforce server, you can "p4 push" your changes to the master server and "p4 fetch" changes from the master server.

In any case, use the latest P4VS and latest P4V.

If you have Perforce support, open a support ticket so we can give you personalized attention and give you a faster response time.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users