Search Results

Search found 8687 results on 348 pages for 'per arneng'.

Page 260/348 | < Previous Page | 256 257 258 259 260 261 262 263 264 265 266 267  | Next Page >

  • Microbenchmark showing process-switching faster than thread-switching; what's wrong?

    - by Yang
    I have two simple microbenchmarks trying to measure thread- and process-switching overheads, but the process-switching overhead. The code is living here, and r1667 is pasted below: https://assorted.svn.sourceforge.net/svnroot/assorted/sandbox/trunk/src/c/process_switch_bench.c // on zs, ~2.1-2.4us/switch #include <stdlib.h> #include <fcntl.h> #include <stdint.h> #include <stdio.h> #include <semaphore.h> #include <unistd.h> #include <sys/wait.h> #include <sys/types.h> #include <sys/time.h> #include <pthread.h> uint32_t COUNTER; pthread_mutex_t LOCK; pthread_mutex_t START; sem_t *s0, *s1, *s2; void * threads ( void * unused ) { // Wait till we may fire away sem_wait(s2); for (;;) { pthread_mutex_lock(&LOCK); pthread_mutex_unlock(&LOCK); COUNTER++; sem_post(s0); sem_wait(s1); } return 0; } int64_t timeInMS () { struct timeval t; gettimeofday(&t, NULL); return ( (int64_t)t.tv_sec * 1000 + (int64_t)t.tv_usec / 1000 ); } int main ( int argc, char ** argv ) { int64_t start; pthread_t t1; pthread_mutex_init(&LOCK, NULL); COUNTER = 0; s0 = sem_open("/s0", O_CREAT, 0022, 0); if (s0 == 0) { perror("sem_open"); exit(1); } s1 = sem_open("/s1", O_CREAT, 0022, 0); if (s1 == 0) { perror("sem_open"); exit(1); } s2 = sem_open("/s2", O_CREAT, 0022, 0); if (s2 == 0) { perror("sem_open"); exit(1); } int x, y, z; sem_getvalue(s0, &x); sem_getvalue(s1, &y); sem_getvalue(s2, &z); printf("%d %d %d\n", x, y, z); pid_t pid = fork(); if (pid) { pthread_create(&t1, NULL, threads, NULL); pthread_detach(t1); // Get start time and fire away start = timeInMS(); sem_post(s2); sem_post(s2); // Wait for about a second sleep(1); // Stop thread pthread_mutex_lock(&LOCK); // Find out how much time has really passed. sleep won't guarantee me that // I sleep exactly one second, I might sleep longer since even after being // woken up, it can take some time before I gain back CPU time. Further // some more time might have passed before I obtained the lock! int64_t time = timeInMS() - start; // Correct the number of thread switches accordingly COUNTER = (uint32_t)(((uint64_t)COUNTER * 2 * 1000) / time); printf("Number of process switches in about one second was %u\n", COUNTER); printf("roughly %f microseconds per switch\n", 1000000.0 / COUNTER); // clean up kill(pid, 9); wait(0); sem_close(s0); sem_close(s1); sem_unlink("/s0"); sem_unlink("/s1"); sem_unlink("/s2"); } else { if (1) { sem_t *t = s0; s0 = s1; s1 = t; } threads(0); // never return } return 0; } https://assorted.svn.sourceforge.net/svnroot/assorted/sandbox/trunk/src/c/thread_switch_bench.c // From <http://stackoverflow.com/questions/304752/how-to-estimate-the-thread-context-switching-overhead> // on zs, ~4-5us/switch; tried making COUNTER updated only by one thread, but no difference #include <stdlib.h> #include <stdint.h> #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <sys/time.h> uint32_t COUNTER; pthread_mutex_t LOCK; pthread_mutex_t START; pthread_cond_t CONDITION; void * threads ( void * unused ) { // Wait till we may fire away pthread_mutex_lock(&START); pthread_mutex_unlock(&START); int first=1; pthread_mutex_lock(&LOCK); // If I'm not the first thread, the other thread is already waiting on // the condition, thus Ihave to wake it up first, otherwise we'll deadlock if (COUNTER > 0) { pthread_cond_signal(&CONDITION); first=0; } for (;;) { if (first) COUNTER++; pthread_cond_wait(&CONDITION, &LOCK); // Always wake up the other thread before processing. The other // thread will not be able to do anything as long as I don't go // back to sleep first. pthread_cond_signal(&CONDITION); } pthread_mutex_unlock(&LOCK); return 0; } int64_t timeInMS () { struct timeval t; gettimeofday(&t, NULL); return ( (int64_t)t.tv_sec * 1000 + (int64_t)t.tv_usec / 1000 ); } int main ( int argc, char ** argv ) { int64_t start; pthread_t t1; pthread_t t2; pthread_mutex_init(&LOCK, NULL); pthread_mutex_init(&START, NULL); pthread_cond_init(&CONDITION, NULL); pthread_mutex_lock(&START); COUNTER = 0; pthread_create(&t1, NULL, threads, NULL); pthread_create(&t2, NULL, threads, NULL); pthread_detach(t1); pthread_detach(t2); // Get start time and fire away start = timeInMS(); pthread_mutex_unlock(&START); // Wait for about a second sleep(1); // Stop both threads pthread_mutex_lock(&LOCK); // Find out how much time has really passed. sleep won't guarantee me that // I sleep exactly one second, I might sleep longer since even after being // woken up, it can take some time before I gain back CPU time. Further // some more time might have passed before I obtained the lock! int64_t time = timeInMS() - start; // Correct the number of thread switches accordingly COUNTER = (uint32_t)(((uint64_t)COUNTER * 2 * 1000) / time); printf("Number of thread switches in about one second was %u\n", COUNTER); printf("roughly %f microseconds per switch\n", 1000000.0 / COUNTER); return 0; }

    Read the article

  • Building applications with WPF, MVVM and Prism(aka CAG)

    - by skjagini
    In this article I am going to walk through an application using WPF and Prism (aka composite application guidance, CAG) which simulates engaging a taxi (cab).  The rules are simple, the app would have3 screens A login screen to authenticate the user An information screen. A screen to engage the cab and roam around and calculating the total fare Metered Rate of Fare The meter is required to be engaged when a cab is occupied by anyone $3.00 upon entry $0.35 for each additional unit The unit fare is: one-fifth of a mile, when the cab is traveling at 6 miles an hour or more; or 60 seconds when not in motion or traveling at less than 12 miles per hour. Night surcharge of $.50 after 8:00 PM & before 6:00 AM Peak hour Weekday Surcharge of $1.00 Monday - Friday after 4:00 PM & before 8:00 PM New York State Tax Surcharge of $.50 per ride. Example: Friday (2010-10-08) 5:30pm Start at Lexington Ave & E 57th St End at Irving Pl & E 15th St Start = $3.00 Travels 2 miles at less than 6 mph for 15 minutes = $3.50 Travels at more than 12 mph for 5 minutes = $1.75 Peak hour Weekday Surcharge = $1.00 (ride started at 5:30 pm) New York State Tax Surcharge = $0.50 Before we dive into the app, I would like to give brief description about the framework.  If you want to jump on to the source code, scroll all the way to the end of the post. MVVM MVVM pattern is in no way related to the usage of PRISM in your application and should be considered if you are using WPF irrespective of PRISM or not. Lets say you are not familiar with MVVM, your typical UI would involve adding some UI controls like text boxes, a button, double clicking on the button,  generating event handler, calling a method from business layer and updating the user interface, it works most of the time for developing small scale applications. The problem with this approach is that there is some amount of code specific to business logic wrapped in UI specific code which is hard to unit test it, mock it and MVVM helps to solve the exact problem. MVVM stands for Model(M) – View(V) – ViewModel(VM),  based on the interactions with in the three parties it should be called VVMM,  MVVM sounds more like MVC (Model-View-Controller) so the name. Why it should be called VVMM: View – View Model - Model WPF allows to create user interfaces using XAML and MVVM takes it to the next level by allowing complete separation of user interface and business logic. In WPF each view will have a property, DataContext when set to an instance of a class (which happens to be your view model) provides the data the view is interested in, i.e., view interacts with view model and at the same time view model interacts with view through DataContext. Sujith, if view and view model are interacting directly with each other how does MVVM is helping me separation of concerns? Well, the catch is DataContext is of type Object, since it is of type object view doesn’t know exact type of view model allowing views and views models to be loosely coupled. View models aggregate data from models (data access layer, services, etc) and make it available for views through properties, methods etc, i.e., View Models interact with Models. PRISM Prism is provided by Microsoft Patterns and Practices team and it can be downloaded from codeplex for source code,  samples and documentation on msdn.  The name composite implies, to compose user interface from different modules (views) without direct dependencies on each other, again allowing  loosely coupled development. Well Sujith, I can already do that with user controls, why shall I learn another framework?  That’s correct, you can decouple using user controls, but you still have to manage some amount of coupling, like how to do you communicate between the controls, how do you subscribe/unsubscribe, loading/unloading views dynamically. Prism is not a replacement for user controls, provides the following features which greatly help in designing the composite applications. Dependency Injection (DI)/ Inversion of Control (IoC) Modules Regions Event Aggregator  Commands Simply put, MVVM helps building a single view and Prism helps building an application using the views There are other open source alternatives to Prism, like MVVMLight, Cinch, take a look at them as well. Lets dig into the source code.  1. Solution The solution is made of the following projects Framework: Holds the common functionality in building applications using WPF and Prism TaxiClient: Start up project, boot strapping and app styling TaxiCommon: Helps with the business logic TaxiModules: Holds the meat of the application with views and view models TaxiTests: To test the application 2. DI / IoC Dependency Injection (DI) as the name implies refers to injecting dependencies and Inversion of Control (IoC) means the calling code has no direct control on the dependencies, opposite of normal way of programming where dependencies are passed by caller, i.e inversion; aside from some differences in terminology the concept is same in both the cases. The idea behind DI/IoC pattern is to reduce the amount of direct coupling between different components of the application, the higher the dependency the more tightly coupled the application resulting in code which is hard to modify, unit test and mock.  Initializing Dependency Injection through BootStrapper TaxiClient is the starting project of the solution and App (App.xaml)  is the starting class that gets called when you run the application. From the App’s OnStartup method we will invoke BootStrapper.   namespace TaxiClient { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e);   (new BootStrapper()).Run(); } } } BootStrapper is your contact point for initializing the application including dependency injection, creating Shell and other frameworks. We are going to use Unity for DI and there are lot of open source DI frameworks like Spring.Net, StructureMap etc with different feature set  and you can choose a framework based on your preferences. Note that Prism comes with in built support for Unity, for example we are deriving from UnityBootStrapper in our case and for any other DI framework you have to extend the Prism appropriately   namespace TaxiClient { public class BootStrapper: UnityBootstrapper { protected override IModuleCatalog CreateModuleCatalog() { return new ConfigurationModuleCatalog(); } protected override DependencyObject CreateShell() { Framework.FrameworkBootStrapper.Run(Container, Application.Current.Dispatcher);   Shell shell = new Shell(); shell.ResizeMode = ResizeMode.NoResize; shell.Show();   return shell; } } } Lets take a look into  FrameworkBootStrapper to check out how to register with unity container. namespace Framework { public class FrameworkBootStrapper { public static void Run(IUnityContainer container, Dispatcher dispatcher) { UIDispatcher uiDispatcher = new UIDispatcher(dispatcher); container.RegisterInstance<IDispatcherService>(uiDispatcher);   container.RegisterType<IInjectSingleViewService, InjectSingleViewService>( new ContainerControlledLifetimeManager());   . . . } } } In the above code we are registering two components with unity container. You shall observe that we are following two different approaches, RegisterInstance and RegisterType.  With RegisterInstance we are registering an existing instance and the same instance will be returned for every request made for IDispatcherService   and with RegisterType we are requesting unity container to create an instance for us when required, i.e., when I request for an instance for IInjectSingleViewService, unity will create/return an instance of InjectSingleViewService class and with RegisterType we can configure the life time of the instance being created. With ContaienrControllerLifetimeManager, the unity container caches the instance and reuses for any subsequent requests, without recreating a new instance. Lets take a look into FareViewModel.cs and it’s constructor. The constructor takes one parameter IEventAggregator and if you try to find all references in your solution for IEventAggregator, you will not find a single location where an instance of EventAggregator is passed directly to the constructor. The compiler still finds an instance and works fine because Prism is already configured when used with Unity container to return an instance of EventAggregator when requested for IEventAggregator and in this particular case it is called constructor injection. public class FareViewModel:ObservableBase, IDataErrorInfo { ... private IEventAggregator _eventAggregator;   public FareViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; InitializePropertyNames(); InitializeModel(); PropertyChanged += OnPropertyChanged; } ... 3. Shell Shells are very similar in operation to Master Pages in asp.net or MDI in Windows Forms. And shells contain regions which display the views, you can have as many regions as you wish in a given view. You can also nest regions. i.e, one region can load a view which in itself may contain other regions. We have to create a shell at the start of the application and are doing it by overriding CreateShell method from BootStrapper From the following Shell.xaml you shall notice that we have two content controls with Region names as ‘MenuRegion’ and ‘MainRegion’.  The idea here is that you can inject any user controls into the regions dynamically, i.e., a Menu User Control for MenuRegion and based on the user action you can load appropriate view into MainRegion.    <Window x:Class="TaxiClient.Shell" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Regions="clr-namespace:Microsoft.Practices.Prism.Regions;assembly=Microsoft.Practices.Prism" Title="Taxi" Height="370" Width="800"> <Grid Margin="2"> <ContentControl Regions:RegionManager.RegionName="MenuRegion" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />   <ContentControl Grid.Row="1" Regions:RegionManager.RegionName="MainRegion" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" /> <!--<Border Grid.ColumnSpan="2" BorderThickness="2" CornerRadius="3" BorderBrush="LightBlue" />-->   </Grid> </Window> 4. Modules Prism provides the ability to build composite applications and modules play an important role in it. For example if you are building a Mortgage Loan Processor application with 3 components, i.e. customer’s credit history,  existing mortgages, new home/loan information; and consider that the customer’s credit history component involves gathering data about his/her address, background information, job details etc. The idea here using Prism modules is to separate the implementation of these 3 components into their own visual studio projects allowing to build components with no dependency on each other and independently. If we need to add another component to the application, the component can be developed by in house team or some other team in the organization by starting with a new Visual Studio project and adding to the solution at the run time with very little knowledge about the application. Prism modules are defined by implementing the IModule interface and each visual studio project to be considered as a module should implement the IModule interface.  From the BootStrapper.cs you shall observe that we are overriding the method by returning a ConfiguratingModuleCatalog which returns the modules that are registered for the application using the app.config file  and you can also add module using code. Lets take a look into configuration file.   <?xml version="1.0"?> <configuration> <configSections> <section name="modules" type="Microsoft.Practices.Prism.Modularity.ModulesConfigurationSection, Microsoft.Practices.Prism"/> </configSections> <modules> <module assemblyFile="TaxiModules.dll" moduleType="TaxiModules.ModuleInitializer, TaxiModules" moduleName="TaxiModules"/> </modules> </configuration> Here we are adding TaxiModules project to our solution and TaxiModules.ModuleInitializer implements IModule interface   5. Module Mapper With Prism modules you can dynamically add or remove modules from the regions, apart from that Prism also provides API to control adding/removing the views from a region within the same module. Taxi Information Screen: Engage the Taxi Screen: The sample application has two screens, ‘Taxi Information’ and ‘Engage the Taxi’ and they both reside in same module, TaxiModules. ‘Engage the Taxi’ is again made of two user controls, FareView on the left and TotalView on the right. We have created a Shell with two regions, MenuRegion and MainRegion with menu loaded into MenuRegion. We can create a wrapper user control called EngageTheTaxi made of FareView and TotalView and load either TaxiInfo or EngageTheTaxi into MainRegion based on the user action. Though it will work it tightly binds the user controls and for every combination of user controls, we need to create a dummy wrapper control to contain them. Instead we can apply the principles we learned so far from Shell/regions and introduce another template (LeftAndRightRegionView.xaml) made of two regions Region1 (left) and Region2 (right) and load  FareView and TotalView dynamically.  To help with loading of the views dynamically I have introduce an helper an interface, IInjectSingleViewService,  idea suggested by Mike Taulty, a must read blog for .Net developers. using System; using System.Collections.Generic; using System.ComponentModel;   namespace Framework.PresentationUtility.Navigation {   public interface IInjectSingleViewService : INotifyPropertyChanged { IEnumerable<CommandViewDefinition> Commands { get; } IEnumerable<ModuleViewDefinition> Modules { get; }   void RegisterViewForRegion(string commandName, string viewName, string regionName, Type viewType); void ClearViewFromRegion(string viewName, string regionName); void RegisterModule(string moduleName, IList<ModuleMapper> moduleMappers); } } The Interface declares three methods to work with views: RegisterViewForRegion: Registers a view with a particular region. You can register multiple views and their regions under one command.  When this particular command is invoked all the views registered under it will be loaded into their regions. ClearViewFromRegion: To unload a specific view from a region. RegisterModule: The idea is when a command is invoked you can load the UI with set of controls in their default position and based on the user interaction, you can load different contols in to different regions on the fly.  And it is supported ModuleViewDefinition and ModuleMappers as shown below. namespace Framework.PresentationUtility.Navigation { public class ModuleViewDefinition { public string ModuleName { get; set; } public IList<ModuleMapper> ModuleMappers; public ICommand Command { get; set; } }   public class ModuleMapper { public string ViewName { get; set; } public string RegionName { get; set; } public Type ViewType { get; set; } } } 6. Event Aggregator Prism event aggregator enables messaging between components as in Observable pattern, Notifier notifies the Observer which receives notification it is interested in. When it comes to Observable pattern, Observer has to unsubscribes for notifications when it no longer interested in notifications, which allows the Notifier to remove the Observer’s reference from it’s local cache. Though .Net has managed garbage collection it cannot remove inactive the instances referenced by an active instance resulting in memory leak, keeping the Observers in memory as long as Notifier stays in memory.  Developers have to be very careful to unsubscribe when necessary and it often gets overlooked, to overcome these problems Prism Event Aggregator uses weak references to cache the reference (Observer in this case)  and releases the reference (memory) once the instance goes out of scope. Using event aggregator is very simple, declare a generic type of CompositePresenationEvent by inheriting from it. using Microsoft.Practices.Prism.Events; using TaxiCommon.BAO;   namespace TaxiCommon.CompositeEvents { public class TaxiOnMoveEvent:CompositePresentationEvent<TaxiOnMove> { } }   TaxiOnMove.cs includes the properties which we want to exchange between the parties, FareView and TotalView. using System;   namespace TaxiCommon.BAO { public class TaxiOnMove { public TimeSpan MinutesAtTweleveMPH { get; set; } public double MilesAtSixMPH { get; set; } } }   Lets take a look into FareViewodel (Notifier) and how it raises the event.  Here we are raising the event by getting the event through GetEvent<..>() and publishing it with the payload private void OnAddMinutes(object obj) { TaxiOnMove payload = new TaxiOnMove(); if(MilesAtSixMPH != null) payload.MilesAtSixMPH = MilesAtSixMPH.Value; if(MinutesAtTweleveMPH != null) payload.MinutesAtTweleveMPH = new TimeSpan(0,0,MinutesAtTweleveMPH.Value,0);   _eventAggregator.GetEvent<TaxiOnMoveEvent>().Publish(payload); ResetMinutesAndMiles(); } And TotalViewModel(Observer) subscribes to notifications by getting the event through GetEvent<..>() namespace TaxiModules.ViewModels { public class TotalViewModel:ObservableBase { .... private IEventAggregator _eventAggregator;   public TotalViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; ... }   private void SubscribeToEvents() { _eventAggregator.GetEvent<TaxiStartedEvent>() .Subscribe(OnTaxiStarted, ThreadOption.UIThread,false,(filter) => true); _eventAggregator.GetEvent<TaxiOnMoveEvent>() .Subscribe(OnTaxiMove, ThreadOption.UIThread, false, (filter) => true); _eventAggregator.GetEvent<TaxiResetEvent>() .Subscribe(OnTaxiReset, ThreadOption.UIThread, false, (filter) => true); }   ... private void OnTaxiMove(TaxiOnMove taxiOnMove) { OnMoveFare fare = new OnMoveFare(taxiOnMove); Fares.Add(fare); SetTotalFare(new []{fare}); }   .... 7. MVVM through example In this section we are going to look into MVVM implementation through example.  I have all the modules declared in a single project, TaxiModules, again it is not necessary to have them into one project. Once the user logs into the application, will be greeted with the ‘Engage the Taxi’ screen which is made of two user controls, FareView.xaml and TotalView.Xaml. As you can see from the solution explorer, each of them have their own code behind files and  ViewModel classes, FareViewMode.cs, TotalViewModel.cs Lets take a look in to the FareView and how it interacts with FareViewModel using MVVM implementation. FareView.xaml acts as a view and FareViewMode.cs is it’s view model. The FareView code behind class   namespace TaxiModules.Views { /// <summary> /// Interaction logic for FareView.xaml /// </summary> public partial class FareView : UserControl { public FareView(FareViewModel viewModel) { InitializeComponent(); this.Loaded += (s, e) => { this.DataContext = viewModel; }; } } } The FareView is bound to FareViewModel through the data context  and you shall observe that DataContext is of type Object, i.e. the FareView doesn’t really know the type of ViewModel (FareViewModel). This helps separation of View and ViewModel as View and ViewModel are independent of each other, you can bind FareView to FareViewModel2 as well and the application compiles just fine. Lets take a look into FareView xaml file  <UserControl x:Class="TaxiModules.Views.FareView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" xmlns:Commands="clr-namespace:Microsoft.Practices.Prism.Commands;assembly=Microsoft.Practices.Prism"> <Grid Margin="10" > ....   <Border Style="{DynamicResource innerBorder}" Grid.Row="0" Grid.Column="0" Grid.RowSpan="11" Grid.ColumnSpan="2" Panel.ZIndex="1"/>   <Label Grid.Row="0" Content="Engage the Taxi" Style="{DynamicResource innerHeader}"/> <Label Grid.Row="1" Content="Select the State"/> <ComboBox Grid.Row="1" Grid.Column="1" ItemsSource="{Binding States}" Height="auto"> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}"/> </DataTemplate> </ComboBox.ItemTemplate> <ComboBox.SelectedItem> <Binding Path="SelectedState" Mode="TwoWay"/> </ComboBox.SelectedItem> </ComboBox> <Label Grid.Row="2" Content="Select the Date of Entry"/> <Toolkit:DatePicker Grid.Row="2" Grid.Column="1" SelectedDate="{Binding DateOfEntry, ValidatesOnDataErrors=true}" /> <Label Grid.Row="3" Content="Enter time 24hr format"/> <TextBox Grid.Row="3" Grid.Column="1" Text="{Binding TimeOfEntry, TargetNullValue=''}"/> <Button Grid.Row="4" Grid.Column="1" Content="Start the Meter" Commands:Click.Command="{Binding StartMeterCommand}" />   <Label Grid.Row="5" Content="Run the Taxi" Style="{DynamicResource innerHeader}"/> <Label Grid.Row="6" Content="Number of Miles &lt;@6mph"/> <TextBox Grid.Row="6" Grid.Column="1" Text="{Binding MilesAtSixMPH, TargetNullValue='', ValidatesOnDataErrors=true}"/> <Label Grid.Row="7" Content="Number of Minutes @12mph"/> <TextBox Grid.Row="7" Grid.Column="1" Text="{Binding MinutesAtTweleveMPH, TargetNullValue=''}"/> <Button Grid.Row="8" Grid.Column="1" Content="Add Minutes and Miles " Commands:Click.Command="{Binding AddMinutesCommand}"/> <Label Grid.Row="9" Content="Other Operations" Style="{DynamicResource innerHeader}"/> <Button Grid.Row="10" Grid.Column="1" Content="Reset the Meter" Commands:Click.Command="{Binding ResetCommand}"/>   </Grid> </UserControl> The highlighted code from the above code shows data binding, for example ComboBox which displays list of states has it’s ItemsSource bound to States property, with DataTemplate bound to Name and SelectedItem  to SelectedState. You might be wondering what are all these properties and how it is able to bind to them.  The answer lies in data context, i.e., when you bound a control, WPF looks for data context on the root object (Grid in this case) and if it can’t find data context it will look into root’s root, i.e. FareView UserControl and it is bound to FareViewModel.  Each of those properties have be declared on the ViewModel for the View to bind correctly. To put simply, View is bound to ViewModel through data context of type object and every control that is bound on the View actually binds to the public property on the ViewModel. Lets look into the ViewModel code (the following code is not an exact copy of FareViewMode.cs, pasted relevant code for this section)   namespace TaxiModules.ViewModels { public class FareViewModel:ObservableBase, IDataErrorInfo { public List<USState> States { get { return USStates.StateList; } }   public USState SelectedState { get { return _selectedState; } set { _selectedState = value; RaisePropertyChanged(_selectedStatePropertyName); } }   public DateTime? DateOfEntry { get { return _dateOfEntry; } set { _dateOfEntry = value; RaisePropertyChanged(_dateOfEntryPropertyName); } }   public TimeSpan? TimeOfEntry { get { return _timeOfEntry; } set { _timeOfEntry = value; RaisePropertyChanged(_timeOfEntryPropertyName); } }   public double? MilesAtSixMPH { get { return _milesAtSixMPH; } set { _milesAtSixMPH = value; RaisePropertyChanged(_distanceAtSixMPHPropertyName); } }   public int? MinutesAtTweleveMPH { get { return _minutesAtTweleveMPH; } set { _minutesAtTweleveMPH = value; RaisePropertyChanged(_minutesAtTweleveMPHPropertyName); } }   public ICommand StartMeterCommand { get { if(_startMeterCommand == null) { _startMeterCommand = new DelegateCommand<object>(OnStartMeter, CanStartMeter); } return _startMeterCommand; } }   public ICommand AddMinutesCommand { get { if(_addMinutesCommand == null) { _addMinutesCommand = new DelegateCommand<object>(OnAddMinutes, CanAddMinutes); } return _addMinutesCommand; } }   public ICommand ResetCommand { get { if(_resetCommand == null) { _resetCommand = new DelegateCommand<object>(OnResetCommand); } return _resetCommand; } }   } private void OnStartMeter(object obj) { _eventAggregator.GetEvent<TaxiStartedEvent>().Publish( new TaxiStarted() { EngagedOn = DateOfEntry.Value.Date + TimeOfEntry.Value, EngagedState = SelectedState.Value });   _isMeterStarted = true; OnPropertyChanged(this,null); } And views communicate user actions like button clicks, tree view item selections, etc using commands. When user clicks on ‘Start the Meter’ button it invokes the method StartMeterCommand, which calls the method OnStartMeter which publishes the event to TotalViewModel using event aggregator  and TaxiStartedEvent. namespace TaxiModules.ViewModels { public class TotalViewModel:ObservableBase { ... private IEventAggregator _eventAggregator;   public TotalViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator;   InitializePropertyNames(); InitializeModel(); SubscribeToEvents(); }   public decimal? TotalFare { get { return _totalFare; } set { _totalFare = value; RaisePropertyChanged(_totalFarePropertyName); } } .... private void SubscribeToEvents() { _eventAggregator.GetEvent<TaxiStartedEvent>().Subscribe(OnTaxiStarted, ThreadOption.UIThread,false,(filter) => true); _eventAggregator.GetEvent<TaxiOnMoveEvent>().Subscribe(OnTaxiMove, ThreadOption.UIThread, false, (filter) => true); _eventAggregator.GetEvent<TaxiResetEvent>().Subscribe(OnTaxiReset, ThreadOption.UIThread, false, (filter) => true); }   private void OnTaxiStarted(TaxiStarted taxiStarted) { Fares.Add(new EntryFare()); Fares.Add(new StateTaxFare(taxiStarted)); Fares.Add(new NightSurchargeFare(taxiStarted)); Fares.Add(new PeakHourWeekdayFare(taxiStarted));   SetTotalFare(Fares); }   private void SetTotalFare(IEnumerable<IFare> fares) { TotalFare = (_totalFare ?? 0) + TaxiFareHelper.GetTotalFare(fares); } ....   } }   TotalViewModel subscribes to events, TaxiStartedEvent and rest. When TaxiStartedEvent gets invoked it calls the OnTaxiStarted method which sets the total fare which includes entry fee, state tax, nightly surcharge, peak hour weekday fare.   Note that TotalViewModel derives from ObservableBase which implements the method RaisePropertyChanged which we are invoking in Set of TotalFare property, i.e, once we update the TotalFare property it raises an the event that  allows the TotalFare text box to fetch the new value through the data context. ViewModel is communicating with View through data context and it has no knowledge about View, helping in loose coupling of ViewModel and View.   I have attached the source code (.Net 4.0, Prism 4.0, VS 2010) , download and play with it and don’t forget to leave your comments.  

    Read the article

  • Failed to Install Xdebug

    - by burnt1ce
    've registered xdebug in php.ini (as per http://xdebug.org/docs/install) but it's not showing up when i run "php -m" or when i get a test page to run "phpinfo()". I've just installed the latest version of XAMPP. I've used both "zend_extention" and "zend_extention_ts" to specify the path of the xdebug dll. I ensured that my apache server restarted and used the latest change of my php.ini by executing "httpd -k restart". Can anyone provide any suggestions in getting xdebug to show up? Here are the contents of my php.ini file. [PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP's initialization file, generally called php.ini, is responsible for ; configuring many of the aspects of PHP's behavior. ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. ; 2. The PHPRC environment variable. (As of PHP 5.2.0) ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) ; 4. Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) ; 6. The directory from the --with-config-file-path compile time option, or the ; Windows directory (C:\windows or C:\winnt) ; See the PHP docs for more specific information. ; http://php.net/configuration.file ; The syntax of the file is extremely simple. Whitespace and Lines ; beginning with a semicolon are silently ignored (as you probably guessed). ; Section headers (e.g. [Foo]) are also silently ignored, even though ; they might mean something in the future. ; Directives following the section heading [PATH=/www/mysite] only ; apply to PHP files in the /www/mysite directory. Directives ; following the section heading [HOST=www.example.com] only apply to ; PHP files served from www.example.com. Directives set in these ; special sections cannot be overridden by user-defined INI files or ; at runtime. Currently, [PATH=] and [HOST=] sections only work under ; CGI/FastCGI. ; http://php.net/ini.sections ; Directives are specified using the following syntax: ; directive = value ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. ; Directives are variables used to configure PHP or PHP extensions. ; There is no name validation. If PHP can't find an expected ; directive because it is not set or is mistyped, a default value will be used. ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a ; previously set variable or directive (e.g. ${foo}) ; Expressions in the INI file are limited to bitwise operators and parentheses: ; | bitwise OR ; ^ bitwise XOR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; Boolean flags can be turned on using the values 1, On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: ; foo = ; sets foo to an empty string ; foo = None ; sets foo to an empty string ; foo = "None" ; sets foo to the string 'None' ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), ; you may only use these constants *after* the line that loads the extension. ;;;;;;;;;;;;;;;;;;; ; About this file ; ;;;;;;;;;;;;;;;;;;; ; PHP comes packaged with two INI files. One that is recommended to be used ; in production environments and one that is recommended to be used in ; development environments. ; php.ini-production contains settings which hold security, performance and ; best practices at its core. But please be aware, these settings may break ; compatibility with older or less security conscience applications. We ; recommending using the production ini in production and testing environments. ; php.ini-development is very similar to its production variant, except it's ; much more verbose when it comes to errors. We recommending using the ; development version only in development environments as errors shown to ; application users can inadvertently leak otherwise secure information. ;;;;;;;;;;;;;;;;;;; ; Quick Reference ; ;;;;;;;;;;;;;;;;;;; ; The following are all the settings which are different in either the production ; or development versions of the INIs with respect to PHP's default behavior. ; Please see the actual settings later in the document for more details as to why ; we recommend these changes in PHP's behavior. ; allow_call_time_pass_reference ; Default Value: On ; Development Value: Off ; Production Value: Off ; display_errors ; Default Value: On ; Development Value: On ; Production Value: Off ; display_startup_errors ; Default Value: Off ; Development Value: On ; Production Value: Off ; error_reporting ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED ; html_errors ; Default Value: On ; Development Value: On ; Production value: Off ; log_errors ; Default Value: Off ; Development Value: On ; Production Value: On ; magic_quotes_gpc ; Default Value: On ; Development Value: Off ; Production Value: Off ; max_input_time ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; output_buffering ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 ; register_argc_argv ; Default Value: On ; Development Value: Off ; Production Value: Off ; register_long_arrays ; Default Value: On ; Development Value: Off ; Production Value: Off ; request_order ; Default Value: None ; Development Value: "GP" ; Production Value: "GP" ; session.bug_compat_42 ; Default Value: On ; Development Value: On ; Production Value: Off ; session.bug_compat_warn ; Default Value: On ; Development Value: On ; Production Value: Off ; session.gc_divisor ; Default Value: 100 ; Development Value: 1000 ; Production Value: 1000 ; session.hash_bits_per_character ; Default Value: 4 ; Development Value: 5 ; Production Value: 5 ; short_open_tag ; Default Value: On ; Development Value: Off ; Production Value: Off ; track_errors ; Default Value: Off ; Development Value: On ; Production Value: Off ; url_rewriter.tags ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" ; variables_order ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS" ;;;;;;;;;;;;;;;;;;;; ; php.ini Options ; ;;;;;;;;;;;;;;;;;;;; ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" ;user_ini.filename = ".user.ini" ; To disable this feature set this option to empty value ;user_ini.filename = ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) ;user_ini.cache_ttl = 300 ;;;;;;;;;;;;;;;;;;;; ; Language Options ; ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. ; http://php.net/engine engine = On ; This directive determines whether or not PHP will recognize code between ; <? and ?> tags as PHP source which should be processed as such. It's been ; recommended for several years that you not use the short tag "short cut" and ; instead to use the full <?php and ?> tag combination. With the wide spread use ; of XML and use of these tags by other languages, the server can become easily ; confused and end up parsing the wrong code in the wrong context. But because ; this short cut has been a feature for such a long time, it's currently still ; supported for backwards compatibility, but we recommend you don't use them. ; Default Value: On ; Development Value: Off ; Production Value: Off ; http://php.net/short-open-tag short_open_tag = Off ; Allow ASP-style <% %> tags. ; http://php.net/asp-tags asp_tags = Off ; The number of significant digits displayed in floating point numbers. ; http://php.net/precision precision = 14 ; Enforce year 2000 compliance (will cause problems with non-compliant browsers) ; http://php.net/y2k-compliance y2k_compliance = On ; Output buffering is a mechanism for controlling how much output data ; (excluding headers and cookies) PHP should keep internally before pushing that ; data to the client. If your application's output exceeds this setting, PHP ; will send that data in chunks of roughly the size you specify. ; Turning on this setting and managing its maximum buffer size can yield some ; interesting side-effects depending on your application and web server. ; You may be able to send headers and cookies after you've already sent output ; through print or echo. You also may see performance benefits if your server is ; emitting less packets due to buffered output versus PHP streaming the output ; as it gets it. On production servers, 4096 bytes is a good setting for performance ; reasons. ; Note: Output buffering can also be controlled via Output Buffering Control ; functions. ; Possible Values: ; On = Enabled and buffer is unlimited. (Use with caution) ; Off = Disabled ; Integer = Enables the buffer and sets its maximum size in bytes. ; Note: This directive is hardcoded to Off for the CLI SAPI ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 ; http://php.net/output-buffering output_buffering = Off ; You can redirect all of the output of your scripts to a function. For ; example, if you set output_handler to "mb_output_handler", character ; encoding will be transparently converted to the specified encoding. ; Setting any output handler automatically turns on output buffering. ; Note: People who wrote portable scripts should not depend on this ini ; directive. Instead, explicitly set the output handler using ob_start(). ; Using this ini directive may cause problems unless you know what script ; is doing. ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". ; Note: output_handler must be empty if this is set 'On' !!!! ; Instead you must use zlib.output_handler. ; http://php.net/output-handler ;output_handler = ; Transparent output compression using the zlib library ; Valid values for this option are 'off', 'on', or a specific buffer size ; to be used for compression (default is 4KB) ; Note: Resulting chunk size may vary due to nature of compression. PHP ; outputs chunks that are few hundreds bytes each as a result of ; compression. If you prefer a larger chunk size for better ; performance, enable output_buffering in addition. ; Note: You need to use zlib.output_handler instead of the standard ; output_handler, or otherwise the output will be corrupted. ; http://php.net/zlib.output-compression zlib.output_compression = Off ; http://php.net/zlib.output-compression-level ;zlib.output_compression_level = -1 ; You cannot specify additional output handlers if zlib.output_compression ; is activated here. This setting does the same as output_handler but in ; a different order. ; http://php.net/zlib.output-handler ;zlib.output_handler = ; Implicit flush tells PHP to tell the output layer to flush itself ; automatically after every output block. This is equivalent to calling the ; PHP function flush() after each and every call to print() or echo() and each ; and every HTML block. Turning this option on has serious performance ; implications and is generally recommended for debugging purposes only. ; http://php.net/implicit-flush ; Note: This directive is hardcoded to On for the CLI SAPI implicit_flush = Off ; The unserialize callback function will be called (with the undefined class' ; name as parameter), if the unserializer finds an undefined class ; which should be instantiated. A warning appears if the specified function is ; not defined, or if the function doesn't include/implement the missing class. ; So only set this entry, if you really want to implement such a ; callback-function. unserialize_callback_func = ; When floats & doubles are serialized store serialize_precision significant ; digits after the floating point. The default value ensures that when floats ; are decoded with unserialize, the data will remain the same. serialize_precision = 100 ; This directive allows you to enable and disable warnings which PHP will issue ; if you pass a value by reference at function call time. Passing values by ; reference at function call time is a deprecated feature which will be removed ; from PHP at some point in the near future. The acceptable method for passing a ; value by reference to a function is by declaring the reference in the functions ; definition, not at call time. This directive does not disable this feature, it ; only determines whether PHP will warn you about it or not. These warnings ; should enabled in development environments only. ; Default Value: On (Suppress warnings) ; Development Value: Off (Issue warnings) ; Production Value: Off (Issue warnings) ; http://php.net/allow-call-time-pass-reference allow_call_time_pass_reference = On ; Safe Mode ; http://php.net/safe-mode safe_mode = Off ; By default, Safe Mode does a UID compare check when ; opening files. If you want to relax this to a GID compare, ; then turn on safe_mode_gid. ; http://php.net/safe-mode-gid safe_mode_gid = Off ; When safe_mode is on, UID/GID checks are bypassed when ; including files from this directory and its subdirectories. ; (directory must also be in include_path or full path must ; be used when including) ; http://php.net/safe-mode-include-dir safe_mode_include_dir = ; When safe_mode is on, only executables located in the safe_mode_exec_dir ; will be allowed to be executed via the exec family of functions. ; http://php.net/safe-mode-exec-dir safe_mode_exec_dir = ; Setting certain environment variables may be a potential security breach. ; This directive contains a comma-delimited list of prefixes. In Safe Mode, ; the user may only alter environment variables whose names begin with the ; prefixes supplied here. By default, users will only be able to set ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). ; Note: If this directive is empty, PHP will let the user modify ANY ; environment variable! ; http://php.net/safe-mode-allowed-env-vars safe_mode_allowed_env_vars = PHP_ ; This directive contains a comma-delimited list of environment variables that ; the end user won't be able to change using putenv(). These variables will be ; protected even if safe_mode_allowed_env_vars is set to allow to change them. ; http://php.net/safe-mode-protected-env-vars safe_mode_protected_env_vars = LD_LIBRARY_PATH ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/open-basedir ;open_basedir = ; This directive allows you to disable certain functions for security reasons. ; It receives a comma-delimited list of function names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/disable-functions disable_functions = ; This directive allows you to disable certain classes for security reasons. ; It receives a comma-delimited list of class names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/disable-classes disable_classes = ; Colors for Syntax Highlighting mode. Anything that's acceptable in ; <span style="color: ???????"> would work. ; http://php.net/syntax-highlighting ;highlight.string = #DD0000 ;highlight.comment = #FF9900 ;highlight.keyword = #007700 ;highlight.bg = #FFFFFF ;highlight.default = #0000BB ;highlight.html = #000000 ; If enabled, the request will be allowed to complete even if the user aborts ; the request. Consider enabling it if executing long requests, which may end up ; being interrupted by the user or a browser timing out. PHP's default behavior ; is to disable this feature. ; http://php.net/ignore-user-abort ;ignore_user_abort = On ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. ; http://php.net/realpath-cache-size ;realpath_cache_size = 16k ; Duration of time, in seconds for which to cache realpath information for a given ; file or directory. For systems with rarely changing files, consider increasing this ; value. ; http://php.net/realpath-cache-ttl ;realpath_cache_ttl = 120 ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; ; Decides whether PHP may expose the fact that it is installed on the server ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. ; http://php.net/expose-php expose_php = On ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; ; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 60 ; Maximum amount of time each script may spend parsing request data. It's a good ; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; Note: This directive is hardcoded to -1 for the CLI SAPI ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; http://php.net/max-input-time max_input_time = 60 ; Maximum input variable nesting level ; http://php.net/max-input-nesting-level ;max_input_nesting_level = 64 ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 128M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This directive informs PHP of which errors, warnings and notices you would like ; it to take action for. The recommended way of setting values for this ; directive is through the use of the error level constants and bitwise ; operators. The error level constants are below here for convenience as well as ; some common settings and their meanings. ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT ; those related to E_NOTICE and E_STRICT, which together cover best practices and ; recommended coding standards in PHP. For performance reasons, this is the ; recommend error reporting setting. Your production server shouldn't be wasting ; resources complaining about best practices and coding standards. That's what ; development servers and development settings are for. ; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This ; means it pretty much reports everything which is exactly what you want during ; development and early testing. ; ; Error Level Constants: ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it's automatically initialized to an ; empty string) ; E_STRICT - run-time notices, enable to have PHP suggest changes ; to your code which will ensure the best interoperability ; and forward compatibility of your code ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; E_DEPRECATED - warn about code that will not work in future versions ; of PHP ; E_USER_DEPRECATED - user-generated deprecation warnings ; ; Common Values: ; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) ; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED ; http://php.net/error-reporting error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED ; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but ; it could be very dangerous in production environments. Depending on the code ; which is triggering the error, sensitive information could potentially leak ; out of your application such as database usernames and passwords or worse. ; It's recommended that errors be logged on production servers rather than ; having the errors sent to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout = Display errors to STDOUT ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/display-errors display_errors = On ; The display of errors which occur during PHP's startup sequence are handled ; separately from display_errors. PHP's default behavior is to suppress those ; errors from clients. Turning the display of startup errors on can be useful in ; debugging configuration problems. But, it's strongly recommended that you ; leave this setting off on production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off ; http://php.net/display-startup-errors display_startup_errors = On ; Besides displaying errors, PHP can also log errors to locations such as a ; server-specific log, STDERR, or a location specified by the error_log ; directive found below. While errors should not be displayed on productions ; servers they should still be monitored and logging is a great way to do that. ; Default Value: Off ; Development Value: On ; Production Value: On ; http://php.net/log-errors log_errors = Off ; Set maximum length of log_errors. In error_log information about the source is ; added. The default is 1024 and 0 allows to not apply any maximum length at all. ; http://php.net/log-errors-max-len log_errors_max_len = 1024 ; Do not log repeated messages. Repeated errors must occur in same file on same ; line unless ignore_repeated_source is set true. ; http://php.net/ignore-repeated-errors ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting ; is On you will not log errors with repeated messages from different files or ; source lines. ; http://php.net/ignore-repeated-source ignore_repeated_source = Off ; If this parameter is set to Off, then memory leaks will not be shown (on ; stdout or in the log). This has only effect in a debug compile, and if ; error reporting includes E_WARNING in the allowed list ; http://php.net/report-memleaks report_memleaks = On ; This setting is on by default. ;report_zend_debug = 0 ; Store the last error/warning message in $php_errormsg (boolean). Setting this value ; to On can assist in debugging and is appropriate for development servers. It should ; however be disabled on production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off ; http://php.net/track-errors track_errors = Off ; Turn off normal error reporting and emit XML-RPC error XML ; http://php.net/xmlrpc-errors ;xmlrpc_errors = 0 ; An XML-RPC faultCode ;xmlrpc_error_number = 0 ; When PHP displays or logs an error, it has the capability of inserting html ; links to documentation related to that error. This directive controls whether ; those HTML links appear in error messages or not. For performance and security ; reasons, it's recommended you disable this on production servers. ; Note: This directive is hardcoded to Off for the CLI SAPI ; Default Value: On ; Development Value: On ; Production value: Off ; http://php.net/html-errors html_errors = On ; If html_errors is set On PHP produces clickable error messages that direct ; to a page describing the error or function causing the error in detail. ; You can download a copy of the PHP manual from http://php.net/docs ; and change docref_root to the base URL of your local copy including the ; leading '/'. You must also specify the file extension being used including ; the dot. PHP's default behavior is to leave these settings empty. ; Note: Never use this feature for production boxes. ; http://php.net/docref-root ; Examples ;docref_root = "/phpmanual/" ; http://php.net/docref-ext ;docref_ext = .html ; String to output before an error message. PHP's default behavior is to leave ; this setting blank. ; http://php.net/error-prepend-string ; Example: ;error_prepend_string = "<font color=#ff0000>" ; String to output after an error message. PHP's default behavior is to leave ; this setting blank. ; http://php.net/error-append-string ; Example: ;error_append_string = "</font>" ; Log errors to specified file. PHP's default behavior is to leave this value ; empty. ; http://php.net/error-log ; Example: ;error_log = php_errors.log ; Log errors to syslog (Event Log on NT, not valid in Windows 95). ;error_log = syslog ;error_log = "C:\xampp\apache\logs\php_error.log" ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; ; Note - track_vars is ALWAYS enabled ; The separator used in PHP generated URLs to separate arguments. ; PHP's default setting is "&". ; http://php.net/arg-separator.output ; Example: arg_separator.output = "&amp;" ; List of separator(s) used by PHP to parse input URLs into variables. ; PHP's default setting is "&

    Read the article

  • Part 2&ndash;Load Testing In The Cloud

    - by Tarun Arora
    Welcome to Part 2, In Part 1 we discussed the advantages of creating a Test Rig in the cloud, the Azure edge and the Test Rig Topology we want to get to. In Part 2, Let’s start by understanding the components of Azure we’ll be making use of followed by manually putting them together to create the test rig, so… let’s get down dirty start setting up the Test Rig.  What Components of Azure will I be using for building the Test Rig in the Cloud? To run the Test Agents we’ll make use of Windows Azure Compute and to enable communication between Test Controller and Test Agents we’ll make use of Windows Azure Connect.  Azure Connect The Test Controller is on premise and the Test Agents are in the cloud (How will they talk?). To enable communication between the two, we’ll make use of Windows Azure Connect. With Windows Azure Connect, you can use a simple user interface to configure IPsec protected connections between computers or virtual machines (VMs) in your organization’s network, and roles running in Windows Azure. With this you can now join Windows Azure role instances to your domain, so that you can use your existing methods for domain authentication, name resolution, or other domain-wide maintenance actions. For more details refer to an overview of Windows Azure connect. A very useful video explaining everything you wanted to know about Windows Azure connect.  Azure Compute Windows Azure compute provides developers a platform to host and manage applications in Microsoft’s data centres across the globe. A Windows Azure application is built from one or more components called ‘roles.’ Roles come in three different types: Web role, Worker role, and Virtual Machine (VM) role, we’ll be using the Worker role to set up the Test Agents. A very nice blog post discussing the difference between the 3 role types. Developers are free to use the .NET framework or other software that runs on Windows with the Worker role or Web role. Developers can also create applications using languages such as PHP and Java. More on Windows Azure Compute. Each Windows Azure compute instance represents a virtual server... Virtual Machine Size CPU Cores Memory Cost Per Hour Extra Small Shared 768 MB $0.04 Small 1 1.75 GB $0.12 Medium 2 3.50 GB $0.24 Large 4 7.00 GB $0.48 Extra Large 8 14.00 GB $0.96   You might want to review the Windows Azure Pricing FAQ. Let’s Get Started building the Test Rig… Configuration Machine Role Comments VM – 1 Domain Controller for Playpit.com On Premise VM – 2 TFS, Test Controller On Premise VM – 3 Test Agent Cloud   In this blog post I would assume that you have the domain, Team Foundation Server and Test Controller Installed and set up already. If not, please refer to the TFS 2010 Installation Guide and this walkthrough on MSDN to set up your Test Controller. You can also download a preconfigured TFS 2010 VM from Brian Keller's blog, Brian also has some great hands on Labs on TFS 2010 that you may want to explore. I. Lets start building VM – 3: The Test Agent Download the Windows Azure SDK and Tools Open Visual Studio and create a new Windows Azure Project using the Cloud Template                   Choose the Worker Role for reasons explained in the earlier post         The WorkerRole.cs implements the Run() and OnStart() methods, no code changes required. You should be able to compile the project and run it in the compute emulator (The compute emulator should have been installed as part of the Windows Azure Toolkit) on your local machine.                   We will only be making changes to WindowsAzureProject, open ServiceDefinition.csdef. Ensure that the vmsize is small (remember the cost chart above). Import the “Connect” module. I am importing the Connect module because I need to join the Worker role VM to the Playpit domain. <?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="WindowsAzureProject2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WorkerRole name="WorkerRole1" vmsize="Small"> <Imports> <Import moduleName="Diagnostics" /> <Import moduleName="Connect"/> </Imports> </WorkerRole> </ServiceDefinition> Go to the ServiceConfiguration.Cloud.cscfg and note that settings with key ‘Microsoft.WindowsAzure.Plugins.Connect.%%%%’ have been added to the configuration file. This is because you decided to import the connect module. See the config below. <?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration serviceName="WindowsAzureProject2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*"> <Role name="WorkerRole1"> <Instances count="1" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.ActivationToken" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Refresh" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.WaitForConnectivity" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Upgrade" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.EnableDomainJoin" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainFQDN" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainControllerFQDN" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainAccountName" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainPassword" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainOU" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Administrators" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainSiteName" value="" /> </ConfigurationSettings> </Role> </ServiceConfiguration>             Let’s go step by step and understand all the highlighted parameters and where you can find the values for them.       osFamily – By default this is set to 1 (Windows Server 2008 SP2). Change this to 2 if you want the Windows Server 2008 R2 operating system. The Advantage of using osFamily = “2” is that you get Powershell 2.0 rather than Powershell 1.0. In Powershell 2.0 you could simply use “powershell -ExecutionPolicy Unrestricted ./myscript.ps1” and it will work while in Powershell 1.0 you will have to change the registry key by including the following in your command file “reg add HKLM\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell /v ExecutionPolicy /d Unrestricted /f” before you can execute any power shell. The other reason you might want to move to os2 is if you wanted IIS 7.5.       Activation Token – To enable communication between the on premise machine and the Windows Azure Worker role VM both need to have the same token. Log on to Windows Azure Management Portal, click on Connect, click on Get Activation Token, this should give you the activation token, copy the activation token to the clipboard and paste it in the configuration file. Note – Later in the blog I’ll be showing you how to install connect on the on premise machine.                       EnableDomainJoin – Set the value to true, ofcourse we want to join the on windows azure worker role VM to the domain.       DomainFQDN, DomainControllerFQDN, DomainAccountName, DomainPassword, DomainOU, Administrators – This information is specific to your domain. I have extracted this information from the ‘service manager’ and ‘Active Directory Users and Computers’. Also, i created a new Domain-OU namely ‘CloudInstances’ so all my cloud instances joined to my domain show up here, this is optional. You can encrypt the DomainPassword – refer to the instructions here. Or hold fire, I’ll be covering that when i come to certificates and encryption in the coming section.       Now once you have filled all this information up, the configuration file should look something like below, <?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration serviceName="WindowsAzureProject2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="2" osVersion="*"> <Role name="WorkerRole1"> <Instances count="1" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.ActivationToken" value="45f55fea-f194-4fbc-b36e-25604faac784" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Refresh" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.WaitForConnectivity" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Upgrade" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.EnableDomainJoin" value="true" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainFQDN" value="play.pit.com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainControllerFQDN" value="WIN-KUDQMQFGQOL.play.pit.com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainAccountName" value="playpit\Administrator" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainPassword" value="************************" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainOU" value="OU=CloudInstances, DC=Play, DC=Pit, DC=com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Administrators" value="Playpit\Administrator" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainSiteName" value="" /> </ConfigurationSettings> </Role> </ServiceConfiguration> Next we will be enabling the Remote Desktop module in to the ServiceDefinition.csdef, we could make changes manually or allow a beautiful wizard to help us make changes. I prefer the second option. So right click on the Windows Azure project and choose Publish       Now once you get the publish wizard, if you haven’t already you would be asked to import your Windows Azure subscription, this is simply the Msdn subscription activation key xml. Once you have done click Next to go to the Settings page and check ‘Enable Remote Desktop for all roles’.       As soon as you do that you get another pop up asking you the details for the user that you would be logging in with (make sure you enter a reasonable expiry date, you do not want the user account to expire today). Notice the more information tag at the bottom, click that to get access to the certificate section. See screen shot below.       From the drop down select the option to create a new certificate        In the pop up window enter the friendly name for your certificate. In my case I entered ‘WAC – Test Rig’ and click ok. This will create a new certificate for you. Click on the view button to see the certificate details. Do you see the Thumbprint, this is the value that will go in the config file (very important). Now click on the Copy to File button to copy the certificate, we will need to import the certificate to the windows Azure Management portal later. So, make sure you save it a safe location.                                Click Finish and enter details of the user you would like to create with permissions for remote desktop access, once you have entered the details on the ‘Remote desktop configuration’ screen click on Ok. From the Publish Windows Azure Wizard screen press Cancel. Cancel because we don’t want to publish the role just yet and Yes because we want to save all the changes in the config file.       Now if you go to the ServiceDefinition.csdef file you will see that the RemoteAccess and RemoteForwarder roles have been imported for you. <?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="WindowsAzureProject2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WorkerRole name="WorkerRole1" vmsize="Small"> <Imports> <Import moduleName="Diagnostics" /> <Import moduleName="Connect" /> <Import moduleName="RemoteAccess" /> <Import moduleName="RemoteForwarder" /> </Imports> </WorkerRole> </ServiceDefinition> Now go to the ServiceConfiguration.Cloud.cscfg file and you see a whole bunch for setting “Microsoft.WindowsAzure.Plugins.RemoteAccess.%%%” values added for you. <?xml version="1.0" encoding="utf-8"?> <ServiceConfiguration serviceName="WindowsAzureProject2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="2" osVersion="*"> <Role name="WorkerRole1"> <Instances count="1" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.ActivationToken" value="45f55fea-f194-4fbc-b36e-25604faac784" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Refresh" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.WaitForConnectivity" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Upgrade" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.EnableDomainJoin" value="true" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainFQDN" value="play.pit.com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainControllerFQDN" value="WIN-KUDQMQFGQOL.play.pit.com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainAccountName" value="playpit\Administrator" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainPassword" value="************************" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainOU" value="OU=CloudInstances, DC=Play, DC=Pit, DC=com" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Administrators" value="Playpit\Administrator" /> <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainSiteName" value="" /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="Administrator" /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBnQYJKoZIhvcNAQcDoIIBjjCCAYoCAQAxggFOMIIBSgIBADAyMB4xHDAaBgNVBAMME1dpbmRvd 3MgQXp1cmUgVG9vbHMCEGa+B46voeO5T305N7TSG9QwDQYJKoZIhvcNAQEBBQAEggEABg4ol5Xol66Ip6QKLbAPWdmD4ae ADZ7aKj6fg4D+ATr0DXBllZHG5Umwf+84Sj2nsPeCyrg3ZDQuxrfhSbdnJwuChKV6ukXdGjX0hlowJu/4dfH4jTJC7sBWS AKaEFU7CxvqYEAL1Hf9VPL5fW6HZVmq1z+qmm4ecGKSTOJ20Fptb463wcXgR8CWGa+1w9xqJ7UmmfGeGeCHQ4QGW0IDSBU6ccg vzF2ug8/FY60K1vrWaCYOhKkxD3YBs8U9X/kOB0yQm2Git0d5tFlIPCBT2AC57bgsAYncXfHvPesI0qs7VZyghk8LVa9g5IqaM Cp6cQ7rmY/dLsKBMkDcdBHuCTAzBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECDRVifSXbA43gBApNrp40L1VTVZ1iGag+3O1" /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2012-11-27T23:59:59.0000000+00:00" /> <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" /> </ConfigurationSettings> <Certificates> <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="AA23016CF0BDFC344400B5B82706B608B92E4217" thumbprintAlgorithm="sha1" /> </Certificates> </Role> </ServiceConfiguration>          Okay let’s look at them one at a time,       Enabled - Yes, we would like to enable Remote Access.       AccountUserName – This is the user name you entered while you were on the publish windows azure role screen, as detailed above.       AccountEncrytedPassword – Try and decode that, the certificate is used to encrypt the password you specified for the user account. Remember earlier i said, either use the instructions or wait and i’ll be showing you encryption, now the user account i am using for rdp has the same password as my domain password, so i can simply copy the value of the AccountEncryptedPassword to the DomainPassword as well.       AccountExpiration – This is the expiration as you specified in the wizard earlier, make sure your account does not expire today.       Remote Forwarder – Check out the documentation, below is how I understand it, -- One role in an application that implements a remote desktop connection must import the RemoteForwarder module. The two modules work together to enable the remote desktop connections to role instances. -- If you have multiple roles defined in the service model, it does not matter which role you add the RemoteForwarder module to, but you must add it to only one of the role definitions.       Certificate – Remember the certificate thumbprint from the wizard, the on premise machine and windows azure role machine that need to speak to each other must have the same thumbprint. More on that when we install Windows Azure connect Endpoints on the on premise machine. As i said earlier, in this blog post, I’ll be showing you the manual process so i won’t be scripting any star up tasks to install the test agent or register the test agent with the TFS Server. I’ll be showing you all this cool stuff in the next blog post, that’s because it’s important to understand the manual side of it, it becomes easier for you to troubleshoot in case something fails. Having said that, the changes we have made are sufficient to spin up the Windows Azure Worker Role aka Test Agent VM, have it connected with the play.pit.com domain and have remote access enabled on it. Before we deploy the Test Agent VM we need to set up Windows Azure Connect on the TFS Server. II. Windows Azure Connect: Setting up Connect on VM – 2 i.e. TFS & Test Controller Glad you made it so far, now to enable communication between the on premise TFS/Test Controller and Azure-ed Test Agent we need to enable communication. We have set up the Azure connect module in the Test Agent configuration, now the connect end points need to be enabled on the on premise machines, let’s have a look at how we can do this. Log on to VM – 2 running the TFS Server and Test Controller Log on to the Windows Azure Management Portal and click on Virtual Network Click on Virtual Network, if you already have a subscription you should see the below screen shot, if not, you would be asked to complete the subscription first        Click on Install Local Endpoints from the top left on the panel and you get a url appended with a token id in it, remember the token i showed you earlier, in theory the token you get here should match the token you added to the Test Agent config file.        Copy the url to the clip board and paste it in IE explorer (important, the installation at present only works out of IE and you need to have cookies enabled in order to complete the installation). As stated in the pop up, you can NOT download and run the software later, you need to run it as is, since it contains a token. Once the installation completes you should see the Windows Azure connect icon in the system tray.                         Right click the Azure Connect icon, choose Diagnostics and refer to this link for diagnostic detail terminology. NOTE – Unfortunately I could not see the Windows Azure connect icon in the system tray, a bit of binging with Google revealed that the azure connect icon is only shown when the ‘Windows Azure Connect Endpoint’ Service is started. So go to services.msc and make sure that the service is started, if not start it, unfortunately again, the service did not start for me on a manual start and i realised that one of the dependant services was disabled, you can look at the service dependencies and start them and then start windows azure connect. Bottom line, you need to start Windows Azure connect service before you can proceed. Please refer here on MSDN for more on Troubleshooting Windows Azure connect. (Follow the next step as well)   Now go back to the Windows Azure Management Portal and from Groups and Roles create a new group, lets call it ‘Test Rig’. Make sure you add the VM – 2 (the TFS Server VM where you just installed the endpoint).       Now if you go back to the Azure Connect icon in the system tray and click ‘Refresh Policy’ you will notice that the disconnected status of the icon should change to ready for connection. III. Importing Certificate in to Windows Azure Management Portal But before that you need to import the certificate you created in Step I in to the Windows Azure Management Portal. Log on to the Windows Azure Management Portal and click on ‘Hosted Services, Storage Accounts & CDN’ and then ‘Management Certificates’ followed by Add Certificates as shown in the screen shot below        Browse to the location where you saved the certificate earlier, remember… Refer to Step I in case you forgot.        Now you should be able to see the imported certificate here, make sure the thumbprint of the certificate matches the one you inserted in the config files        IV. Publish Windows Azure Worker Role aka Test Agent Having completed I, II and III, you are ready to publish the Test Agent VM – 3 to the cloud. Go to Visual Studio and right click the Windows Azure project and select Publish. Verify the infomration in the wizard, from the advanced settings tab, you can also enabled capture of intellitrace or profiling information.         Click Next and Click Publish! From the view menu bar select the Windows Azure Activity Log window.       Now you should be able to see the deployment progress in real time.             In the Windows Azure Management Portal, you should also be able to see the progress of creation of a new Worker Role.       Once the deployment is complete you should be able to RDP (go to run prompt type mstsc and in the pop up the machine name) in to the Test Agent Worker Role VM from the Playpit network using the domain admin user account. In case you are unable to log in to the Test Agent using the domain admin user account it means the process of joining the Test Agent to the domain has failed! But the good news is, because you imported the connect module, you can connect to the Test Agent machine using Windows Azure Management Portal and troubleshoot the reason for failure, you will be able to log in with the user name and password you specified in the config file for the keys ‘RemoteAccess.AccountUsername, RemoteAccess.EncryptedPassword (just that enter the password unencrypted)’, fix it or manually join the machine to the domain. Once you have managed to Join the Test Agent VM to the Domain move to the next step.      So, log in to the Test Agent Worker Role VM with the Playpit Domain Administrator and verify that you can log in, the machine is connected to the domain and the connect service is successfully running. If yes, give your self a pat on the back, you are 80% mission accomplished!         Go to the Windows Azure Management Portal and click on Virtual Network, click on Groups and Roles and click on Test Rig, click Edit Group, the edit the Test Rig group you created earlier. In the Connect to section, click on Add to select the worker role you have just deployed. Also, check the ‘Allow connections between endpoints in the group’ with this you will enable to communication between test controller and test agents and test agents/test agents. Click Save.      Now, you are ready to deploy the Test Agent software on the Worker Role Test Agent VM and configure it to work with the Test Controller. V. Configuring VM – 3: Installing Test Agent and Associating Test Agent to Controller Log in to the Worker Role Test Agent VM that you have just successfully deployed, make sure you log in with the domain administrator account. Download the All Agents software from MSDN, ‘en_visual_studio_agents_2010_x86_x64_dvd_509679.iso’, extract the iso and navigate to where you have extracted the iso. In my case, i have extracted the iso to “C:\Resources\Temp\VsAgentSetup”. Open the Test Agent folder and double click on setup.exe. Once you have installed the Test Agent you should reach the configuration window. If you face any issues installing TFS Test Agent on the VM, refer to the walkthrough on MSDN.       Once you have successfully installed the Test Agent software you will need to configure the test agent. Right click the test agent configuration tool and run as a different user. i.e. an Administrator. This is really to run the configuration wizard with elevated privileges (you might have UAC block something's otherwise).        In the run options, you can select ‘service’ you do not need to run the agent as interactive un less you are running coded UI tests. I have specified the domain administrator to connect to the TFS Test Controller. In real life, i would never do that, i would create a separate test user service account for this purpose. But for the blog post, we are using the most powerful user so that any policies or restrictions don’t block you.        Click the Apply Settings button and you should be all green! If not, the summary usually gives helpful error messages that you can resolve and proceed. As per my experience, you may run in to either a permission or a firewall blocking communication issue.        And now the moment of truth! Go to VM –2 open up Visual Studio and from the Test Menu select Manage Test Controller       Mission Accomplished! You should be able to see the Test Agent that you have just configured here,         VI. Creating and Running Load Tests on your brand new Azure-ed Test Rig I have various blog posts on Performance Testing with Visual Studio Ultimate, you can follow the links and videos below, Blog Posts: - Part 1 – Performance Testing using Visual Studio 2010 Ultimate - Part 2 – Performance Testing using Visual Studio 2010 Ultimate - Part 3 – Performance Testing using Visual Studio 2010 Ultimate Videos: - Test Tools Configuration & Settings in Visual Studio - Why & How to Record Web Performance Tests in Visual Studio Ultimate - Goal Driven Load Testing using Visual Studio Ultimate Now that you have created your load tests, there is one last change you need to make before you can run the tests on your Azure Test Rig, create a new Test settings file, and change the Test Execution method to ‘Remote Execution’ and select the test controller you have configured the Worker Role Test Agent against in our case VM – 2 So, go on, fire off a test run and see the results of the test being executed on the Azur-ed Test Rig. Review and What’s next? A quick recap of the benefits of running the Test Rig in the cloud and what i will be covering in the next blog post AND I would love to hear your feedback! Advantages Utilizing the power of Azure compute to run a heavy virtual user load. Benefiting from the Azure flexibility, destroy Test Agents when not in use, takes < 25 minutes to spin up a new Test Agent. Most important test Network Latency, (network latency and speed of connection are two different things – usually network latency is very hard to test), by placing the Test Agents in Microsoft Data centres around the globe, one can actually test the lag in transferring the bytes not because of a slow connection but because the page has been requested from the other side of the globe. Next Steps The process of spinning up the Test Agents in windows Azure is not 100% automated. I am working on the Worker process and power shell scripts to make the role deployment, unattended install of test agent software and registration of the test agent to the test controller automated. In the next blog post I will show you how to make the complete process unattended and automated. Remember to subscribe to http://feeds.feedburner.com/TarunArora. Hope you enjoyed this post, I would love to hear your feedback! If you have any recommendations on things that I should consider or any questions or feedback, feel free to leave a comment. See you in Part III.   Share this post : CodeProject

    Read the article

  • Macbook OSX applications crashing on startup

    - by Ryan Doom
    Closed my computer last night, went home. Opened it and it had restarted. Now when I open a couple programs such as Adobe Fireworks or Appcelerator Titanium they throw up a nasty error like below. Other programs (Chrome, Firefox, Textmate, Versions) works fine. Any thoughts on this? I haven't owned my Macbook long so I'm not even aware of the right tools or places to look to track this down. Any help would be most appreciated. It's making it hard to get my work done :] If it helps at all both those programs were probably open when it restarted. From the look of it I'm not sure if it's a permissions error or something? I completely re-installed on of the applications Titanium. Didn't seem to help. Process: Adobe Fireworks CS5 [1044] Path: /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/Adobe Fireworks CS5 Identifier: com.macromedia.fireworks Version: Adobe Fireworks CS5 version 11.0.0.484 (11.0.0) Code Type: X86 (Native) Parent Process: launchd [87] Date/Time: 2011-02-18 09:45:47.689 -0500 OS Version: Mac OS X 10.6.6 (10J567) Report Version: 6 Interval Since Last Report: 12983 sec Crashes Since Last Report: 6 Per-App Interval Since Last Report: 325365 sec Per-App Crashes Since Last Report: 4 Anonymous UUID: D16EAFE7-2F04-44D4-A984-5902A6EF8943 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000b0327ff8 Crashed Thread: 7 Thread 0: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x97dd0142 semaphore_wait_signal_trap + 10 1 libSystem.B.dylib 0x97dd5c46 pthread_mutex_lock + 490 2 libstdc++.6.dylib 0x91887559 __gnu_cxx::__recursive_mutex::lock() + 17 3 libstdc++.6.dylib 0x918874e6 __cxa_guard_acquire + 68 4 libTrueTypeScaler.dylib 0x91c92ab3 TTScalerInfo() + 50 5 libFontParser.dylib 0x9979a5f1 TTrueTypeScaler::CreateTrueTypeScaler() + 43 6 libSystem.B.dylib 0x97dee900 pthread_once + 82 7 libFontParser.dylib 0x9979a575 TTrueTypeScaler::GetTrueTypeScaler() + 47 8 libFontParser.dylib 0x9979a520 TTrueTypeScaler::TTrueTypeScaler(TScalerStrike const&) + 26 9 libFontParser.dylib 0x9979a4be TFontScaler::CreateFontScaler(TScalerStrike const&) + 52 10 libFontParser.dylib 0x9979bd93 FPFontGetGlyphsForUnichars + 344 11 com.apple.CoreText 0x98255cfe TBaseFont::CalculateFontMetrics(bool) const + 342 12 com.apple.CoreText 0x98255b55 TBaseFont::InitFontMetrics() const + 51 13 com.apple.CoreText 0x98255959 TBaseFont::GetStrikeMetrics(float, CGAffineTransform const*, bool) const + 81 14 com.apple.CoreText 0x982558cd TFont::InitStrikeMetrics() const + 55 15 com.apple.CoreText 0x982592cf CTFontGetAscent + 49 16 com.apple.AppKit 0x989f5d08 _NSFontInstanceInfoInitializeMetricsInfo + 48 17 com.apple.AppKit 0x989f5cbc -[_NSSharedFontInstanceInfo _defaultLineHeight:] + 40 18 com.apple.AppKit 0x98f3c5e8 +[NSStringDrawingTextStorage _fastDrawString:attributes:length:inRect:graphicsContext:baselineRendering:usesFontLeading:usesScreenFont:typesetterBehavior:paragraphStyle:lineBreakMode:boundingRect:padding:scrollable:] + 2041 19 com.apple.AppKit 0x98abd2d9 _NSStringDrawingCore + 1555 20 com.apple.AppKit 0x98abca8b _NSDrawTextCell + 3465 21 com.apple.AppKit 0x98ac6185 -[NSTextFieldCell drawInteriorWithFrame:inView:] + 764 22 com.apple.AppKit 0x98ac5d26 -[NSTextFieldCell drawWithFrame:inView:] + 816 23 com.apple.AppKit 0x98ac03de -[NSControl drawRect:] + 589 24 com.apple.AppKit 0x98ab882a -[NSView _drawRect:clip:] + 3510 25 com.apple.AppKit 0x98ab74c8 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1600 26 com.apple.AppKit 0x98ab77fd -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2421 27 com.apple.AppKit 0x98ab77fd -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2421 28 com.apple.AppKit 0x98ab59e7 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 711 29 com.apple.AppKit 0x98b54aa3 -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 311 30 com.apple.AppKit 0x98ab1ea2 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 3309 31 com.apple.AppKit 0x98a12a57 -[NSView displayIfNeeded] + 818 32 com.apple.AppKit 0x989c6661 -[NSNextStepFrame displayIfNeeded] + 98 33 com.apple.AppKit 0x98b55390 -[NSWindow display] + 75 34 com.macromedia.fireworks 0x00bade98 0x1000 + 12242584 35 com.macromedia.fireworks 0x0089f778 0x1000 + 9037688 36 libPowerPlant2.dylib 0x08109722 FW_PowerPlant::LCarbonApp::Run() + 54 37 com.macromedia.fireworks 0x008a138c 0x1000 + 9044876 38 com.macromedia.fireworks 0x00003596 0x1000 + 9622 Thread 1: Dispatch queue: com.apple.libdispatch-manager 0 libSystem.B.dylib 0x97df6982 kevent + 10 1 libSystem.B.dylib 0x97df709c _dispatch_mgr_invoke + 215 2 libSystem.B.dylib 0x97df6559 _dispatch_queue_invoke + 163 3 libSystem.B.dylib 0x97df62fe _dispatch_worker_thread2 + 240 4 libSystem.B.dylib 0x97df5d81 _pthread_wqthread + 390 5 libSystem.B.dylib 0x97df5bc6 start_wqthread + 30 Thread 2: 0 libSystem.B.dylib 0x97df5a12 __workq_kernreturn + 10 1 libSystem.B.dylib 0x97df5fa8 _pthread_wqthread + 941 2 libSystem.B.dylib 0x97df5bc6 start_wqthread + 30 Thread 3: 0 libSystem.B.dylib 0x97dd015a semaphore_timedwait_signal_trap + 10 1 libSystem.B.dylib 0x97dfdce5 _pthread_cond_wait + 1066 2 libSystem.B.dylib 0x97e2cac8 pthread_cond_timedwait_relative_np + 47 3 ...ple.CoreServices.CarbonCore 0x97af4ecd TSWaitOnConditionTimedRelative + 242 4 ...ple.CoreServices.CarbonCore 0x97af4c0b TSWaitOnSemaphoreCommon + 511 5 ...ple.CoreServices.CarbonCore 0x97b18e33 TimerThread + 97 6 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 7 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 4: 0 libSystem.B.dylib 0x97dd00fa mach_msg_trap + 10 1 libSystem.B.dylib 0x97dd0867 mach_msg + 68 2 ...ple.CoreServices.CarbonCore 0x97b9e0d0 YieldToThread + 446 3 ...ple.CoreServices.CarbonCore 0x97b9e1d3 SetThreadState + 134 4 ...ple.CoreServices.CarbonCore 0x97b9e28e SetThreadStateEndCritical + 111 5 libPowerPlant2.dylib 0x0811ab51 FW_PowerPlant::LThread::SemWait(FW_PowerPlant::LSemaphore*, long, QHdr&, unsigned char&) + 119 6 libPowerPlant2.dylib 0x08119b07 FW_PowerPlant::LSemaphore::BlockThread(long) + 61 7 libPowerPlant2.dylib 0x08119b6d FW_PowerPlant::LSemaphore::Wait(long) + 71 8 libPowerPlant2.dylib 0x0811af70 FW_PowerPlant::LThread::Cleanup::Run() + 32 9 libPowerPlant2.dylib 0x0811b94e FW_PowerPlant::LThread::DoEntry(void*) + 30 10 ...ple.CoreServices.CarbonCore 0x97b9e85f CooperativeThread + 309 11 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 12 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 5: 0 libSystem.B.dylib 0x97dd0142 semaphore_wait_signal_trap + 10 1 libSystem.B.dylib 0x97dfdcfc _pthread_cond_wait + 1089 2 libSystem.B.dylib 0x97e4646f pthread_cond_wait + 48 3 com.adobe.amt.services 0x1dd73126 AMTConditionLock::LockWhenCondition(int) + 46 4 com.adobe.amt.services 0x1dd6bdb0 _AMTThreadedPCDService::PCDThreadWorker(_AMTThreadedPCDService*) + 116 5 com.adobe.amt.services 0x1dd7318c AMTThread::Worker(void*) + 24 6 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 7 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 6: 0 libSystem.B.dylib 0x97dfe0a6 __semwait_signal + 10 1 libSystem.B.dylib 0x97dfdd62 _pthread_cond_wait + 1191 2 libSystem.B.dylib 0x97dff9f8 pthread_cond_wait$UNIX2003 + 73 3 ...ple.CoreServices.CarbonCore 0x97b0951e TSWaitOnCondition + 126 4 ...ple.CoreServices.CarbonCore 0x97af4ea5 TSWaitOnConditionTimedRelative + 202 5 ...ple.CoreServices.CarbonCore 0x97af0873 MPWaitOnQueue + 250 6 com.macromedia.fireworks 0x00ae43cf 0x1000 + 11416527 7 ...ple.CoreServices.CarbonCore 0x97ad485a PrivateMPEntryPoint + 68 8 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 9 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 7 Crashed: 0 libstdc++.6.dylib 0x9184e00c std::basic_ofstream ::open(char const*, std::_Ios_Openmode) + 16 1 libstdc++.6.dylib 0x9184fe9b std::basic_ifstream ::basic_ifstream(char const*, std::_Ios_Openmode) + 211 2 ...pdaterNotificationFramework 0x1e824779 ESDifstream::ESDifstream(std::string const&, char const*, std::_Ios_Openmode) + 73 3 ...pdaterNotificationFramework 0x1e821b6a esd::ExpatDOMBuilder::ParseFile(std::string const&, bool) + 96 4 ...pdaterNotificationFramework 0x1e822da4 esd::PrefsWriter::SetPrefsPath(std::string const&) + 206 5 ...pdaterNotificationFramework 0x1e8449b3 AdobeUpdaterPrefs::AdobeUpdaterPrefs() + 8609 6 ...pdaterNotificationFramework 0x1e8459f4 AdobeUpdaterPrefs::GetAdobeUpdaterPrefs() + 68 7 ...pdaterNotificationFramework 0x1e820728 UpdaterNotificationsImpl::InitLogFile() + 48 8 ...pdaterNotificationFramework 0x1e820d49 UpdaterNotificationsImpl::Instance() + 53 9 ...pdaterNotificationFramework 0x1e823638 UpdaterNotificationsIsUpdaterEnabled + 22 10 com.adobe.amt.services 0x1dd69d15 _AMTAUMService::IsUpdaterEnabled(T_CSUStatusMajor*, int*) + 359 11 com.adobe.amtlib 0x01f5501c AMTAUMServiceIsUpdaterEnabled + 290 12 com.adobe.amtlib 0x01f1f789 AMTImpl::CallMenuEnablers() + 71 13 com.adobe.amtlib 0x01f260fa AMTImpl::DoLaunchWorkflow(AMTImpl::LaunchSequence) + 1664 14 com.adobe.amtlib 0x01f26a5d AMTImpl::DoValidateWorkflow(AMTImpl::LaunchSequence) + 293 15 com.adobe.amtlib 0x01f26cf5 AMTImpl::DoPreValidateWorkflow() + 119 16 com.adobe.amtlib 0x01f26e71 AMTImpl::ServiceLoaderThread(void*) + 45 17 com.adobe.amtlib 0x01f54c48 AMTThread::Worker(void*) + 24 18 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 19 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 7 crashed with X86 Thread State (32-bit): eax: 0x00000016 ebx: 0x098c9a00 ecx: 0xa013dfc0 edx: 0x00000003 edi: 0x098c9a08 esi: 0x098c9c0c ebp: 0xb03a7448 esp: 0xb0327ff0 ss: 0x0000001f efl: 0x00010202 eip: 0x9184e00c cs: 0x00000017 ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037 cr2: 0xb0327ff8 Binary Images: 0x1000 - 0x1448ff1 +com.macromedia.fireworks Adobe Fireworks CS5 version 11.0.0.484 (11.0.0) <38213EBD-FDB0-FC20-40E8-87935A5386BB /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/Adobe Fireworks CS5 0x1e76000 - 0x1ec9ffb +com.adobe.headlights.LogSessionFramework ??? (2.0.1.011) <4F2BFF03-01D2-A07D-E5E2-7F88D4C2DEC4 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/LogSession.framework/Versions/A/LogSession 0x1f11000 - 0x1f77ffb +com.adobe.amtlib amtlib 3.0.0.64 (3.0.0.64) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/amtlib.framework/Versions/A/amtlib 0x1fa7000 - 0x2146fe7 +com.adobe.owl AdobeOwl version 3.0.81 (3.0.81) <9C261D9E-9BD7-5DE6-5676-AEEF4828D17B /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeOwl.framework/Versions/A/AdobeOwl 0x21af000 - 0x22e7fe7 +WRServices ??? (???) <52CE5B97-1E6A-92A2-EA70-93511AB7EA2E /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/WRServices.framework/Versions/A/WRServices 0x232d000 - 0x239afef +FileInfo ??? (???) <4A4C74F9-CA83-B174-F56D-F7671DC61389 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/FileInfo.framework/Versions/A/FileInfo 0x23b5000 - 0x23dbff6 +AdobeAXE8SharedExpat ??? (???) <5848BBCE-3A3E-66EE-5527-97A96F0CA4CC /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAXE8SharedExpat.framework/Versions/A/AdobeAXE8SharedExpat 0x23ec000 - 0x2407fff +AdobeBIB ??? (???) <3B3092DC-A296-9D1C-1922-D20E6A5A7D7E /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeBIB.framework/Versions/A/AdobeBIB 0x2411000 - 0x2469ff7 +AdobeXMP ??? (???) <73329999-C364-2451-6574-4D0277057D19 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeXMP.framework/Versions/A/AdobeXMP 0x2478000 - 0x2aa6fe7 +AdobeAGM ??? (???) <91D37E54-E985-47E1-2696-0BD7E4183132 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAGM.framework/Versions/A/AdobeAGM 0x2c04000 - 0x2d18fff +AdobeACE ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeACE.framework/Versions/A/AdobeACE 0x2d3b000 - 0x302dff7 +AdobeCoolType ??? (???) <9FDD596D-9824-2BB9-5DA2-25DACAB6A324 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeCoolType.framework/Versions/A/AdobeCoolType 0x30b5000 - 0x30d6ff7 +AdobeBIBUtils ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeBIBUtils.framework/Versions/A/AdobeBIBUtils 0x30e2000 - 0x311efff +AdobeARE ??? (???) <76851E91-2381-5D05-742C-BB24E4BAD276 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeARE.framework/Versions/A/AdobeARE 0x3127000 - 0x34ffff7 +AdobeMPS ??? (???) <13614867-4D80-EB74-FA7F-6136492478BA /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeMPS.framework/Versions/A/AdobeMPS 0x362e000 - 0x3c62feb +AdobePDFL ??? (???) <49D6D58A-1EBB-424A-4CB0-8F9691E0991D /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePDFL.framework/Versions/A/AdobePDFL 0x3d8e000 - 0x4ad1fff +com.adobe.psl AdobePSL 12.0.0.7524 (12.0.0.7524) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePSL.framework/Versions/A/AdobePSL 0x4e10000 - 0x4e9aff7 +com.adobe.AdobeScCore ScCore 4.1.7 (4.1.7.5522) <053A109E-3E3E-D3EE-7186-4920D927D2AD /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeScCore.framework/Versions/A/AdobeScCore 0x4edd000 - 0x4fc0fef +AdobePDFPort ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePDFPort.framework/Versions/A/AdobePDFPort 0x4ff5000 - 0x4ff8ff8 +com.adobe.ape.shim adbeape version 3.1.65.7508 (3.1.65.7508) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/adbeape.framework/Versions/A/adbeape 0x4ffe000 - 0x508fff7 +libicucnv.dylib.36.0 36.0.0 (compatibility 36.0.0) <581475CC-C039-1B42-49BA-71811D8B4E15 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUConverter.framework/Versions/3.6/libicucnv.dylib.36.0 0x50ae000 - 0x5a5efff +libicudata.dylib.36.0 36.0.0 (compatibility 36.0.0) <02108DEA-3DD2-14BE-DAEB-BE522B619C1D /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUData.framework/Versions/3.6/libicudata.dylib.36.0 0x5a61000 - 0x5b2eff3 +libicui18n.dylib.36.0 36.0.0 (compatibility 36.0.0) <08F15219-7F35-574E-7725-1ACAA1B18A00 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUInternationalization.framework/Versions/3.6/libicui18n.dylib.36.0 0x5b91000 - 0x5c6bfef +libicuuc.dylib.36.0 36.0.0 (compatibility 36.0.0) <5EE72009-40B3-7FB7-3A49-576AEDE0D400 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUUnicode.framework/Versions/3.6/libicuuc.dylib.36.0 0x5cab000 - 0x6a36fe7 +com.adobe.illustrator 382 (15.0.0) <64F68532-0311-6BBA-1F50-246CAF917549 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AILib.framework/Versions/A/AILib 0x781b000 - 0x785ffff +com.adobe.illustrator.aiport AIPort version 1.0 (1.0) <69EDC44E-D7BB-A259-282D-C42725AE0E26 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AIPort.framework/Versions/A/AIPort 0x78c2000 - 0x7908fff +FilterPort ??? (???) <23FAE9D1-9376-1E71-21F7-D3EB2BFD50EE /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/FilterPort.framework/Versions/A/FilterPort 0x797d000 - 0x797dfff +SPBasic ??? (???) <5D1760D8-C910-C641-0BC9-CF74A1A5190D /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/SPBasic.framework/Versions/A/SPBasic 0x7981000 - 0x7b67ff7 +com.adobe.linguistic.LinguisticManager 5.0.0 (11309) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeLinguistic.framework/Versions/3/AdobeLinguistic 0x7bf5000 - 0x7cc2fe7 +AdobeAXEDOMCore ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAXEDOMCore.framework/Versions/A/AdobeAXEDOMCore 0x7d31000 - 0x7ea9ffb +com.adobe.PlugPlug 2.0.0.746 (2.0.0.746) <08AD22E3-34C0-6749-E497-616C66A246AD /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/PlugPlug.framework/Versions/A/PlugPlug 0x7f4d000 - 0x7f6afef +libCurl.dylib ??? (???) <1BA6E2DE-EF14-D50A-4697-035AE07875D7 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libCurl.dylib 0x7f72000 - 0x7f88ff4 +libChar16.dylib ??? (???) <19B0479C-72B1-EE14-6385-7F655DEC0F02 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libChar16.dylib 0x7f90000 - 0x7fb3fe0 +libCoreTypes.dylib ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libCoreTypes.dylib 0x7fc3000 - 0x7fcaffc com.apple.carbonframeworktemplate 1.0 (1.0) <0D270CC7-B715-943E-2B4F-5C9B5775505A /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/NetIO.framework/Versions/A/NetIO 0x7fd6000 - 0x7fd9fff +Dioxide.dylib ??? (???) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Dioxide.dylib 0x7fe1000 - 0x7fe7ffc +libfwutility.dylib ??? (???) <6A723D9E-A60B-56EE-2B8D-B91991793749 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libfwutility.dylib 0x7fee000 - 0x803efff +com.macromedia.javascript Javascript version 1.0 (1.0) <540CB029-3946-8E41-BD91-AED6F73C86B7 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Javascript.framework/Versions/A/Javascript 0x8053000 - 0x8060fff +com.macromedia.moa Moa version 1.0 (1.0) <3C4B7F42-5A5D-78E7-B1DC-DAA06A99CCB2 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Moa.framework/Versions/A/Moa 0x8069000 - 0x8070fff +com.macromedia.morefiles MoreFiles version 1.0 (1.0) <36115C66-79A3-5DB9-B36B-8D655B46FC76 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/MoreFiles.framework/Versions/A/MoreFiles 0x8077000 - 0x815bfe3 +libPowerPlant2.dylib ??? (???) <964FB3D7-B7EE-94EB-FD95-4AE90C657A4A /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libPowerPlant2.dylib 0x828e000 - 0x8294ffb +com.macromedia.testframework 1.0 (1.0) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/uwchar.framework/Versions/A/uwchar 0x8298000 - 0x829cffc +com.adobe.AdobeCrashReporter 3.0 (3.0.20100302) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeCrashReporter.framework/Versions/A/AdobeCrashReporter 0x82a3000 - 0x82bbfef +libgiff.dylib ??? (???) <8F90552B-3D11-2B1E-D1BA-A109FEB99969 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libgiff.dylib 0x82c3000 - 0x82e1fe7 +com.macromedia.png LibPNG version 1.0 (1.0) <2DBA0A3F-4F01-7474-0FED-3021382D635F /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/LibPNG.framework/Versions/A/LibPNG 0x82e9000 - 0x82f7feb +com.macromedia.zlib ZLib version 1.0 (1.0) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ZLib.framework/Versions/A/ZLib 0x82fc000 - 0x8300ffd +com.yourcompany.yourcocoaframework ??? (1.0) <7EF7A82E-0AAE-0022-3B15-7C50F1C550C1 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ASEFramework.framework/Versions/A/ASEFramework 0x8305000 - 0x830cff2 +com.adobe.boost_threads.framework boost_threads version 5.0.0 (5.0.0.0) /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_threads.framework/Versions/A/boost_threads 0x831c000 - 0x8322fef +com.adobe.boost_date_time.framework boost_date_time version 5.0.0 (5.0.0.0) <8837A972-1EBE-CAA9-473A-CD157F17163D /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_date_time.framework/Versions/A/boost_date_time 0x8333000 - 0x83b0fff +AdobeOwlCanvas ??? (???) <65B2E680-4F43-BE46-2290-3500758D1BF7 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeOwlCanvas.framework/Versions/A/AdobeOwlCanvas 0x83cc000 - 0x83d7ff3 +com.adobe.boost_filesystem.framework boost_filesystem version 5.0.0 (5.0.0.0) <90B8B4E3-6C44-D110-1545-1A34EB14B22D /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_filesystem.framework/Versions/A/boost_filesystem 0x83eb000 - 0x83edffb +com.adobe.boost_system.framework boost_system version 5.0.0 (5.0.0.0) <0C4D56E8-9593-4C4A-4A7E-BEAEDE1CA131 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_system.framework/Versions/A/boost_system ... E86745B94A4B /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib 0x9984a000 - 0x9989aff7 com.apple.framework.familycontrols 2.0.2 (2020) /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls 0x99a6e000 - 0x99a6fff7 com.apple.audio.units.AudioUnit 1.6.5 (1.6.5) /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit 0x99a72000 - 0x99a86ffb com.apple.speech.synthesis.framework 3.10.35 (3.10.35) <9F5CE4F7-D05C-8C14-4B76-E43D07A8A680 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis 0xb0000000 - 0xb000fff8 +com.adobe.ahclientframework 1.5.0.30 (1.5.0.30) <24B39C2F-79B0-BDE3-C6D0-1F0E943070C7 /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ahclient.framework/Versions/A/ahclient 0xffff0000 - 0xffff1fff libSystem.B.dylib ??? (???) <62291026-D016-705D-DC1E-FC2B09D47DE5 /usr/lib/libSystem.B.dylib

    Read the article

  • MacBook OS X applications crashing on startup

    - by Ryan Doom
    Closed my computer last night, went home. Opened it and it had restarted. Now when I open a couple programs such as Adobe Fireworks or Appcelerator Titanium they throw up a nasty error like below. Other programs (Chrome, Firefox, Textmate, Versions) work fine. Any thoughts on this? I haven't owned my MacBook long so I'm not even aware of the right tools or places to look to track this down. Any help would be most appreciated. It's making it hard to get my work done :] If it helps at all both those programs were probably open when it restarted. From the look of it I'm not sure if it's a permissions error or something? I completely re-installed one of the applications (Appcelerator Titanium). Didn't seem to help. Process: Adobe Fireworks CS5 [1044] Path: /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/Adobe Fireworks CS5 Identifier: com.macromedia.fireworks Version: Adobe Fireworks CS5 version 11.0.0.484 (11.0.0) Code Type: X86 (Native) Parent Process: launchd [87] Date/Time: 2011-02-18 09:45:47.689 -0500 OS Version: Mac OS X 10.6.6 (10J567) Report Version: 6 Interval Since Last Report: 12983 sec Crashes Since Last Report: 6 Per-App Interval Since Last Report: 325365 sec Per-App Crashes Since Last Report: 4 Anonymous UUID: D16EAFE7-2F04-44D4-A984-5902A6EF8943 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000b0327ff8 Crashed Thread: 7 Thread 0: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x97dd0142 semaphore_wait_signal_trap + 10 1 libSystem.B.dylib 0x97dd5c46 pthread_mutex_lock + 490 2 libstdc++.6.dylib 0x91887559 __gnu_cxx::__recursive_mutex::lock() + 17 3 libstdc++.6.dylib 0x918874e6 __cxa_guard_acquire + 68 4 libTrueTypeScaler.dylib 0x91c92ab3 TTScalerInfo() + 50 5 libFontParser.dylib 0x9979a5f1 TTrueTypeScaler::CreateTrueTypeScaler() + 43 6 libSystem.B.dylib 0x97dee900 pthread_once + 82 7 libFontParser.dylib 0x9979a575 TTrueTypeScaler::GetTrueTypeScaler() + 47 8 libFontParser.dylib 0x9979a520 TTrueTypeScaler::TTrueTypeScaler(TScalerStrike const&) + 26 9 libFontParser.dylib 0x9979a4be TFontScaler::CreateFontScaler(TScalerStrike const&) + 52 10 libFontParser.dylib 0x9979bd93 FPFontGetGlyphsForUnichars + 344 11 com.apple.CoreText 0x98255cfe TBaseFont::CalculateFontMetrics(bool) const + 342 12 com.apple.CoreText 0x98255b55 TBaseFont::InitFontMetrics() const + 51 13 com.apple.CoreText 0x98255959 TBaseFont::GetStrikeMetrics(float, CGAffineTransform const*, bool) const + 81 14 com.apple.CoreText 0x982558cd TFont::InitStrikeMetrics() const + 55 15 com.apple.CoreText 0x982592cf CTFontGetAscent + 49 16 com.apple.AppKit 0x989f5d08 __NSFontInstanceInfoInitializeMetricsInfo + 48 17 com.apple.AppKit 0x989f5cbc -[__NSSharedFontInstanceInfo _defaultLineHeight:] + 40 18 com.apple.AppKit 0x98f3c5e8 +[NSStringDrawingTextStorage _fastDrawString:attributes:length:inRect:graphicsContext:baselineRendering:usesFontLeading:usesScreenFont:typesetterBehavior:paragraphStyle:lineBreakMode:boundingRect:padding:scrollable:] + 2041 19 com.apple.AppKit 0x98abd2d9 _NSStringDrawingCore + 1555 20 com.apple.AppKit 0x98abca8b _NSDrawTextCell + 3465 21 com.apple.AppKit 0x98ac6185 -[NSTextFieldCell drawInteriorWithFrame:inView:] + 764 22 com.apple.AppKit 0x98ac5d26 -[NSTextFieldCell drawWithFrame:inView:] + 816 23 com.apple.AppKit 0x98ac03de -[NSControl drawRect:] + 589 24 com.apple.AppKit 0x98ab882a -[NSView _drawRect:clip:] + 3510 25 com.apple.AppKit 0x98ab74c8 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1600 26 com.apple.AppKit 0x98ab77fd -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2421 27 com.apple.AppKit 0x98ab77fd -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2421 28 com.apple.AppKit 0x98ab59e7 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 711 29 com.apple.AppKit 0x98b54aa3 -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 311 30 com.apple.AppKit 0x98ab1ea2 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 3309 31 com.apple.AppKit 0x98a12a57 -[NSView displayIfNeeded] + 818 32 com.apple.AppKit 0x989c6661 -[NSNextStepFrame displayIfNeeded] + 98 33 com.apple.AppKit 0x98b55390 -[NSWindow display] + 75 34 com.macromedia.fireworks 0x00bade98 0x1000 + 12242584 35 com.macromedia.fireworks 0x0089f778 0x1000 + 9037688 36 libPowerPlant2.dylib 0x08109722 FW_PowerPlant::LCarbonApp::Run() + 54 37 com.macromedia.fireworks 0x008a138c 0x1000 + 9044876 38 com.macromedia.fireworks 0x00003596 0x1000 + 9622 Thread 1: Dispatch queue: com.apple.libdispatch-manager 0 libSystem.B.dylib 0x97df6982 kevent + 10 1 libSystem.B.dylib 0x97df709c _dispatch_mgr_invoke + 215 2 libSystem.B.dylib 0x97df6559 _dispatch_queue_invoke + 163 3 libSystem.B.dylib 0x97df62fe _dispatch_worker_thread2 + 240 4 libSystem.B.dylib 0x97df5d81 _pthread_wqthread + 390 5 libSystem.B.dylib 0x97df5bc6 start_wqthread + 30 Thread 2: 0 libSystem.B.dylib 0x97df5a12 __workq_kernreturn + 10 1 libSystem.B.dylib 0x97df5fa8 _pthread_wqthread + 941 2 libSystem.B.dylib 0x97df5bc6 start_wqthread + 30 Thread 3: 0 libSystem.B.dylib 0x97dd015a semaphore_timedwait_signal_trap + 10 1 libSystem.B.dylib 0x97dfdce5 _pthread_cond_wait + 1066 2 libSystem.B.dylib 0x97e2cac8 pthread_cond_timedwait_relative_np + 47 3 ...ple.CoreServices.CarbonCore 0x97af4ecd TSWaitOnConditionTimedRelative + 242 4 ...ple.CoreServices.CarbonCore 0x97af4c0b TSWaitOnSemaphoreCommon + 511 5 ...ple.CoreServices.CarbonCore 0x97b18e33 TimerThread + 97 6 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 7 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 4: 0 libSystem.B.dylib 0x97dd00fa mach_msg_trap + 10 1 libSystem.B.dylib 0x97dd0867 mach_msg + 68 2 ...ple.CoreServices.CarbonCore 0x97b9e0d0 YieldToThread + 446 3 ...ple.CoreServices.CarbonCore 0x97b9e1d3 SetThreadState + 134 4 ...ple.CoreServices.CarbonCore 0x97b9e28e SetThreadStateEndCritical + 111 5 libPowerPlant2.dylib 0x0811ab51 FW_PowerPlant::LThread::SemWait(FW_PowerPlant::LSemaphore*, long, QHdr&, unsigned char&) + 119 6 libPowerPlant2.dylib 0x08119b07 FW_PowerPlant::LSemaphore::BlockThread(long) + 61 7 libPowerPlant2.dylib 0x08119b6d FW_PowerPlant::LSemaphore::Wait(long) + 71 8 libPowerPlant2.dylib 0x0811af70 FW_PowerPlant::LThread::Cleanup::Run() + 32 9 libPowerPlant2.dylib 0x0811b94e FW_PowerPlant::LThread::DoEntry(void*) + 30 10 ...ple.CoreServices.CarbonCore 0x97b9e85f CooperativeThread + 309 11 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 12 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 5: 0 libSystem.B.dylib 0x97dd0142 semaphore_wait_signal_trap + 10 1 libSystem.B.dylib 0x97dfdcfc _pthread_cond_wait + 1089 2 libSystem.B.dylib 0x97e4646f pthread_cond_wait + 48 3 com.adobe.amt.services 0x1dd73126 AMTConditionLock::LockWhenCondition(int) + 46 4 com.adobe.amt.services 0x1dd6bdb0 _AMTThreadedPCDService::PCDThreadWorker(_AMTThreadedPCDService*) + 116 5 com.adobe.amt.services 0x1dd7318c AMTThread::Worker(void*) + 24 6 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 7 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 6: 0 libSystem.B.dylib 0x97dfe0a6 __semwait_signal + 10 1 libSystem.B.dylib 0x97dfdd62 _pthread_cond_wait + 1191 2 libSystem.B.dylib 0x97dff9f8 pthread_cond_wait$UNIX2003 + 73 3 ...ple.CoreServices.CarbonCore 0x97b0951e TSWaitOnCondition + 126 4 ...ple.CoreServices.CarbonCore 0x97af4ea5 TSWaitOnConditionTimedRelative + 202 5 ...ple.CoreServices.CarbonCore 0x97af0873 MPWaitOnQueue + 250 6 com.macromedia.fireworks 0x00ae43cf 0x1000 + 11416527 7 ...ple.CoreServices.CarbonCore 0x97ad485a PrivateMPEntryPoint + 68 8 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 9 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 7 Crashed: 0 libstdc++.6.dylib 0x9184e00c std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode) + 16 1 libstdc++.6.dylib 0x9184fe9b std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(char const*, std::_Ios_Openmode) + 211 2 ...pdaterNotificationFramework 0x1e824779 ESDifstream::ESDifstream(std::string const&, char const*, std::_Ios_Openmode) + 73 3 ...pdaterNotificationFramework 0x1e821b6a esd::ExpatDOMBuilder<esd::XMLDocumentNode>::ParseFile(std::string const&, bool) + 96 4 ...pdaterNotificationFramework 0x1e822da4 esd::PrefsWriter::SetPrefsPath(std::string const&) + 206 5 ...pdaterNotificationFramework 0x1e8449b3 AdobeUpdaterPrefs::AdobeUpdaterPrefs() + 8609 6 ...pdaterNotificationFramework 0x1e8459f4 AdobeUpdaterPrefs::GetAdobeUpdaterPrefs() + 68 7 ...pdaterNotificationFramework 0x1e820728 UpdaterNotificationsImpl::InitLogFile() + 48 8 ...pdaterNotificationFramework 0x1e820d49 UpdaterNotificationsImpl::Instance() + 53 9 ...pdaterNotificationFramework 0x1e823638 UpdaterNotificationsIsUpdaterEnabled + 22 10 com.adobe.amt.services 0x1dd69d15 _AMTAUMService::IsUpdaterEnabled(T_CSUStatusMajor*, int*) + 359 11 com.adobe.amtlib 0x01f5501c AMTAUMServiceIsUpdaterEnabled + 290 12 com.adobe.amtlib 0x01f1f789 AMTImpl::CallMenuEnablers() + 71 13 com.adobe.amtlib 0x01f260fa AMTImpl::DoLaunchWorkflow(AMTImpl::LaunchSequence) + 1664 14 com.adobe.amtlib 0x01f26a5d AMTImpl::DoValidateWorkflow(AMTImpl::LaunchSequence) + 293 15 com.adobe.amtlib 0x01f26cf5 AMTImpl::DoPreValidateWorkflow() + 119 16 com.adobe.amtlib 0x01f26e71 AMTImpl::ServiceLoaderThread(void*) + 45 17 com.adobe.amtlib 0x01f54c48 AMTThread::Worker(void*) + 24 18 libSystem.B.dylib 0x97dfd85d _pthread_start + 345 19 libSystem.B.dylib 0x97dfd6e2 thread_start + 34 Thread 7 crashed with X86 Thread State (32-bit): eax: 0x00000016 ebx: 0x098c9a00 ecx: 0xa013dfc0 edx: 0x00000003 edi: 0x098c9a08 esi: 0x098c9c0c ebp: 0xb03a7448 esp: 0xb0327ff0 ss: 0x0000001f efl: 0x00010202 eip: 0x9184e00c cs: 0x00000017 ds: 0x0000001f es: 0x0000001f fs: 0x0000001f gs: 0x00000037 cr2: 0xb0327ff8 Binary Images: 0x1000 - 0x1448ff1 +com.macromedia.fireworks Adobe Fireworks CS5 version 11.0.0.484 (11.0.0) <38213EBD-FDB0-FC20-40E8-87935A5386BB> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/Adobe Fireworks CS5 0x1e76000 - 0x1ec9ffb +com.adobe.headlights.LogSessionFramework ??? (2.0.1.011) <4F2BFF03-01D2-A07D-E5E2-7F88D4C2DEC4> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/LogSession.framework/Versions/A/LogSession 0x1f11000 - 0x1f77ffb +com.adobe.amtlib amtlib 3.0.0.64 (3.0.0.64) <DD471011-9120-1BC2-F1B5-D6FF09D0859F> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/amtlib.framework/Versions/A/amtlib 0x1fa7000 - 0x2146fe7 +com.adobe.owl AdobeOwl version 3.0.81 (3.0.81) <9C261D9E-9BD7-5DE6-5676-AEEF4828D17B> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeOwl.framework/Versions/A/AdobeOwl 0x21af000 - 0x22e7fe7 +WRServices ??? (???) <52CE5B97-1E6A-92A2-EA70-93511AB7EA2E> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/WRServices.framework/Versions/A/WRServices 0x232d000 - 0x239afef +FileInfo ??? (???) <4A4C74F9-CA83-B174-F56D-F7671DC61389> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/FileInfo.framework/Versions/A/FileInfo 0x23b5000 - 0x23dbff6 +AdobeAXE8SharedExpat ??? (???) <5848BBCE-3A3E-66EE-5527-97A96F0CA4CC> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAXE8SharedExpat.framework/Versions/A/AdobeAXE8SharedExpat 0x23ec000 - 0x2407fff +AdobeBIB ??? (???) <3B3092DC-A296-9D1C-1922-D20E6A5A7D7E> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeBIB.framework/Versions/A/AdobeBIB 0x2411000 - 0x2469ff7 +AdobeXMP ??? (???) <73329999-C364-2451-6574-4D0277057D19> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeXMP.framework/Versions/A/AdobeXMP 0x2478000 - 0x2aa6fe7 +AdobeAGM ??? (???) <91D37E54-E985-47E1-2696-0BD7E4183132> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAGM.framework/Versions/A/AdobeAGM 0x2c04000 - 0x2d18fff +AdobeACE ??? (???) <DD291A17-ECF4-FE20-5837-AC1F5BC76940> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeACE.framework/Versions/A/AdobeACE 0x2d3b000 - 0x302dff7 +AdobeCoolType ??? (???) <9FDD596D-9824-2BB9-5DA2-25DACAB6A324> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeCoolType.framework/Versions/A/AdobeCoolType 0x30b5000 - 0x30d6ff7 +AdobeBIBUtils ??? (???) <E1FAA7A3-E807-DE5A-1F68-7A53780E8202> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeBIBUtils.framework/Versions/A/AdobeBIBUtils 0x30e2000 - 0x311efff +AdobeARE ??? (???) <76851E91-2381-5D05-742C-BB24E4BAD276> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeARE.framework/Versions/A/AdobeARE 0x3127000 - 0x34ffff7 +AdobeMPS ??? (???) <13614867-4D80-EB74-FA7F-6136492478BA> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeMPS.framework/Versions/A/AdobeMPS 0x362e000 - 0x3c62feb +AdobePDFL ??? (???) <49D6D58A-1EBB-424A-4CB0-8F9691E0991D> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePDFL.framework/Versions/A/AdobePDFL 0x3d8e000 - 0x4ad1fff +com.adobe.psl AdobePSL 12.0.0.7524 (12.0.0.7524) <CFBCB19A-03F7-D095-1F48-8D68F05A25C5> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePSL.framework/Versions/A/AdobePSL 0x4e10000 - 0x4e9aff7 +com.adobe.AdobeScCore ScCore 4.1.7 (4.1.7.5522) <053A109E-3E3E-D3EE-7186-4920D927D2AD> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeScCore.framework/Versions/A/AdobeScCore 0x4edd000 - 0x4fc0fef +AdobePDFPort ??? (???) <A2E6DCF7-283F-09E9-53AE-D5D84D020469> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobePDFPort.framework/Versions/A/AdobePDFPort 0x4ff5000 - 0x4ff8ff8 +com.adobe.ape.shim adbeape version 3.1.65.7508 (3.1.65.7508) <FFDDAB7A-220F-7344-F12B-010CA0C41DAB> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/adbeape.framework/Versions/A/adbeape 0x4ffe000 - 0x508fff7 +libicucnv.dylib.36.0 36.0.0 (compatibility 36.0.0) <581475CC-C039-1B42-49BA-71811D8B4E15> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUConverter.framework/Versions/3.6/libicucnv.dylib.36.0 0x50ae000 - 0x5a5efff +libicudata.dylib.36.0 36.0.0 (compatibility 36.0.0) <02108DEA-3DD2-14BE-DAEB-BE522B619C1D> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUData.framework/Versions/3.6/libicudata.dylib.36.0 0x5a61000 - 0x5b2eff3 +libicui18n.dylib.36.0 36.0.0 (compatibility 36.0.0) <08F15219-7F35-574E-7725-1ACAA1B18A00> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUInternationalization.framework/Versions/3.6/libicui18n.dylib.36.0 0x5b91000 - 0x5c6bfef +libicuuc.dylib.36.0 36.0.0 (compatibility 36.0.0) <5EE72009-40B3-7FB7-3A49-576AEDE0D400> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ICUUnicode.framework/Versions/3.6/libicuuc.dylib.36.0 0x5cab000 - 0x6a36fe7 +com.adobe.illustrator 382 (15.0.0) <64F68532-0311-6BBA-1F50-246CAF917549> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AILib.framework/Versions/A/AILib 0x781b000 - 0x785ffff +com.adobe.illustrator.aiport AIPort version 1.0 (1.0) <69EDC44E-D7BB-A259-282D-C42725AE0E26> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AIPort.framework/Versions/A/AIPort 0x78c2000 - 0x7908fff +FilterPort ??? (???) <23FAE9D1-9376-1E71-21F7-D3EB2BFD50EE> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/FilterPort.framework/Versions/A/FilterPort 0x797d000 - 0x797dfff +SPBasic ??? (???) <5D1760D8-C910-C641-0BC9-CF74A1A5190D> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/SPBasic.framework/Versions/A/SPBasic 0x7981000 - 0x7b67ff7 +com.adobe.linguistic.LinguisticManager 5.0.0 (11309) <CA1D50A3-F965-F8B2-76B9-007F290C5791> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeLinguistic.framework/Versions/3/AdobeLinguistic 0x7bf5000 - 0x7cc2fe7 +AdobeAXEDOMCore ??? (???) <F76D74DC-FD5A-9783-C447-2E58773DA7E1> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeAXEDOMCore.framework/Versions/A/AdobeAXEDOMCore 0x7d31000 - 0x7ea9ffb +com.adobe.PlugPlug 2.0.0.746 (2.0.0.746) <08AD22E3-34C0-6749-E497-616C66A246AD> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/PlugPlug.framework/Versions/A/PlugPlug 0x7f4d000 - 0x7f6afef +libCurl.dylib ??? (???) <1BA6E2DE-EF14-D50A-4697-035AE07875D7> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libCurl.dylib 0x7f72000 - 0x7f88ff4 +libChar16.dylib ??? (???) <19B0479C-72B1-EE14-6385-7F655DEC0F02> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libChar16.dylib 0x7f90000 - 0x7fb3fe0 +libCoreTypes.dylib ??? (???) <F5306147-FFBD-2826-D356-B26258DBFA09> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/MacOS/libCoreTypes.dylib 0x7fc3000 - 0x7fcaffc com.apple.carbonframeworktemplate 1.0 (1.0) <0D270CC7-B715-943E-2B4F-5C9B5775505A> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/NetIO.framework/Versions/A/NetIO 0x7fd6000 - 0x7fd9fff +Dioxide.dylib ??? (???) <BCE94F23-4CCA-20FB-79A8-DE7925879DCD> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Dioxide.dylib 0x7fe1000 - 0x7fe7ffc +libfwutility.dylib ??? (???) <6A723D9E-A60B-56EE-2B8D-B91991793749> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libfwutility.dylib 0x7fee000 - 0x803efff +com.macromedia.javascript Javascript version 1.0 (1.0) <540CB029-3946-8E41-BD91-AED6F73C86B7> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Javascript.framework/Versions/A/Javascript 0x8053000 - 0x8060fff +com.macromedia.moa Moa version 1.0 (1.0) <3C4B7F42-5A5D-78E7-B1DC-DAA06A99CCB2> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/Moa.framework/Versions/A/Moa 0x8069000 - 0x8070fff +com.macromedia.morefiles MoreFiles version 1.0 (1.0) <36115C66-79A3-5DB9-B36B-8D655B46FC76> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/MoreFiles.framework/Versions/A/MoreFiles 0x8077000 - 0x815bfe3 +libPowerPlant2.dylib ??? (???) <964FB3D7-B7EE-94EB-FD95-4AE90C657A4A> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libPowerPlant2.dylib 0x828e000 - 0x8294ffb +com.macromedia.testframework 1.0 (1.0) <ED14FA00-1C6F-D433-1EEB-833BB4402B2B> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/uwchar.framework/Versions/A/uwchar 0x8298000 - 0x829cffc +com.adobe.AdobeCrashReporter 3.0 (3.0.20100302) <E6437929-0E69-8A56-E69F-F64305E82DD9> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeCrashReporter.framework/Versions/A/AdobeCrashReporter 0x82a3000 - 0x82bbfef +libgiff.dylib ??? (???) <8F90552B-3D11-2B1E-D1BA-A109FEB99969> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/libgiff.dylib 0x82c3000 - 0x82e1fe7 +com.macromedia.png LibPNG version 1.0 (1.0) <2DBA0A3F-4F01-7474-0FED-3021382D635F> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/LibPNG.framework/Versions/A/LibPNG 0x82e9000 - 0x82f7feb +com.macromedia.zlib ZLib version 1.0 (1.0) <EEA4CFAF-A748-FA72-91F0-ADE7A1BE9FA7> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ZLib.framework/Versions/A/ZLib 0x82fc000 - 0x8300ffd +com.yourcompany.yourcocoaframework ??? (1.0) <7EF7A82E-0AAE-0022-3B15-7C50F1C550C1> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ASEFramework.framework/Versions/A/ASEFramework 0x8305000 - 0x830cff2 +com.adobe.boost_threads.framework boost_threads version 5.0.0 (5.0.0.0) <F966C78A-3CC1-8678-B3B7-B0A2B118343A> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_threads.framework/Versions/A/boost_threads 0x831c000 - 0x8322fef +com.adobe.boost_date_time.framework boost_date_time version 5.0.0 (5.0.0.0) <8837A972-1EBE-CAA9-473A-CD157F17163D> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_date_time.framework/Versions/A/boost_date_time 0x8333000 - 0x83b0fff +AdobeOwlCanvas ??? (???) <65B2E680-4F43-BE46-2290-3500758D1BF7> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/AdobeOwlCanvas.framework/Versions/A/AdobeOwlCanvas 0x83cc000 - 0x83d7ff3 +com.adobe.boost_filesystem.framework boost_filesystem version 5.0.0 (5.0.0.0) <90B8B4E3-6C44-D110-1545-1A34EB14B22D> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_filesystem.framework/Versions/A/boost_filesystem 0x83eb000 - 0x83edffb +com.adobe.boost_system.framework boost_system version 5.0.0 (5.0.0.0) <0C4D56E8-9593-4C4A-4A7E-BEAEDE1CA131> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/boost_system.framework/Versions/A/boost_system ... E86745B94A4B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib 0x9984a000 - 0x9989aff7 com.apple.framework.familycontrols 2.0.2 (2020) <AF7F86F1-F7BF-CBA8-7A4A-D8F7A19F9601> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls 0x99a6e000 - 0x99a6fff7 com.apple.audio.units.AudioUnit 1.6.5 (1.6.5) <BE4C2495-B758-AD22-DCC0-56A6791E948E> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit 0x99a72000 - 0x99a86ffb com.apple.speech.synthesis.framework 3.10.35 (3.10.35) <9F5CE4F7-D05C-8C14-4B76-E43D07A8A680> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis 0xb0000000 - 0xb000fff8 +com.adobe.ahclientframework 1.5.0.30 (1.5.0.30) <24B39C2F-79B0-BDE3-C6D0-1F0E943070C7> /Applications/Adobe Fireworks CS5/Adobe Fireworks CS5.app/Contents/Frameworks/ahclient.framework/Versions/A/ahclient 0xffff0000 - 0xffff1fff libSystem.B.dylib ??? (???) <62291026-D016-705D-DC1E-FC2B09D47DE5> /usr/lib/libSystem.B.dylib If you prefer, Here are the crashes on Pastebin: Crash 1 (Fireworks) Crash 2 (Appcelerator Titanium)

    Read the article

  • .htaccess not working (mod_rewrite)

    - by Mike Curry
    Edit: I am pretty sure my .htaccess file is NOT being executed, and the problem is NOT with my rewrite rules. I have not having any luck getting my .htaccess with mod_rewrite working. Basically all I am trying to do is remove 'www' from "http://www.site.com" and "https://www.site.com". If there is anything I am missing (conf files, etc let me know I willl update this) I jsut can't see whats wrong here... I am using a 1&1 VPS III Virtual private server... anyone ever have this issue? I am using Ubuntu 8.04 Server LTS. Here is my .htaccess file (located @ /var/www/site/trunk/html/) Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule (.*) //%1/$1 [L,R=301] My mod_rewrite is enabled: The auto regenerated sym link is there in mods-available and /usr/lib/apache2/modules/ contains mod_rewrite.so root@s15348441:/etc/apache2/mods-available# more rewrite.load LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so root@s15348441:/var/log# apache2ctl -t -D DUMP_MODULES Loaded Modules: core_module (static) log_config_module (static) logio_module (static) mpm_prefork_module (static) http_module (static) so_module (static) alias_module (shared) auth_basic_module (shared) authn_file_module (shared) authz_default_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) cgi_module (shared) dir_module (shared) env_module (shared) mime_module (shared) negotiation_module (shared) php5_module (shared) rewrite_module (shared) setenvif_module (shared) ssl_module (shared) status_module (shared) Syntax OK My apache config files: apache2.conf # # Based upon the NCSA server configuration files originally by Rob McCool. # # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See http://httpd.apache.org/docs/2.2/ for detailed information about # the directives. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # The configuration directives are grouped into three basic sections: # 1. Directives that control the operation of the Apache server process as a # whole (the 'global environment'). # 2. Directives that define the parameters of the 'main' or 'default' server, # which responds to requests that aren't handled by a virtual host. # These directives also provide default values for the settings # of all virtual hosts. # 3. Settings for virtual hosts, which allow Web requests to be sent to # different IP addresses or hostnames and have them handled by the # same Apache server process. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so "/var/log/apache2/foo.log" # with ServerRoot set to "" will be interpreted by the # server as "//var/log/apache2/foo.log". # ### Section 1: Global Environment # # The directives in this section affect the overall operation of Apache, # such as the number of concurrent requests it can handle or where it # can find its configuration files. # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the LockFile documentation (available # at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # #<IfModule !mpm_winnt.c> #<IfModule !mpm_netware.c> LockFile /var/lock/apache2/accept.lock #</IfModule> #</IfModule> # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile ${APACHE_PID_FILE} # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 ## ## Server-Pool Size Regulation (MPM specific) ## # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_worker_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> # # DefaultType is the default MIME type the server will use for a document # if it cannot otherwise determine one, such as from filename extensions. # If your server contains mostly text or HTML documents, "text/plain" is # a good value. If most of your content is binary, such as applications # or images, you may want to use "application/octet-stream" instead to # keep browsers from trying to display binary files as though they are # text. # DefaultType text/plain # # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. # ErrorLog /var/log/apache2/error.log # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # Include module configuration: Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf # Include all the user configurations: Include /etc/apache2/httpd.conf # Include ports listing Include /etc/apache2/ports.conf # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # # ServerTokens # This directive configures what you return as the Server HTTP response # Header. The default is 'Full' which sends information about the OS-Type # and compiled in modules. # Set to one of: Full | OS | Minor | Minimal | Major | Prod # where Full conveys the most information, and Prod the least. # ServerTokens Full # # Optionally add a line containing the server version and virtual host # name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail # ServerSignature On # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html # # # Putting this all together, we can internationalize error responses. # # We use Alias to redirect any /error/HTTP_<error>.html.var response to # our collection of by-error message multi-language collections. We use # includes to substitute the appropriate text. # # You can modify the messages' appearance without changing any of the # default HTTP_<error>.html.var files by adding the line: # # Alias /error/include/ "/your/include/path/" # # which allows you to create your own set of files by starting with the # /usr/share/apache2/error/include/ files and copying them to /your/include/path/, # even on a per-VirtualHost basis. The default include files will display # your Apache version number and your ServerAdmin email address regardless # of the setting of ServerSignature. # # The internationalized error documents require mod_alias, mod_include # and mod_negotiation. To activate them, uncomment the following 30 lines. # Alias /error/ "/usr/share/apache2/error/" # # <Directory "/usr/share/apache2/error"> # AllowOverride None # Options IncludesNoExec # AddOutputFilter Includes html # AddHandler type-map var # Order allow,deny # Allow from all # LanguagePriority en cs de es fr it nl sv pt-br ro # ForceLanguagePriority Prefer Fallback # </Directory> # # ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var # ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var # ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var # ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var # ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var # ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var # ErrorDocument 410 /error/HTTP_GONE.html.var # ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var # ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var # ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var # ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var # ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var # ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var # ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var # ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var # ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var # ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements Include /etc/apache2/conf.d/ # Include the virtual host configurations: Include /etc/apache2/sites-enabled/ My default config file for www on apache NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] #SSLEnable #SSLVerifyClient none #SSLCertificateFile /usr/local/ssl/crt/public.crt #SSLCertificateKeyFile /usr/local/ssl/private/private.key DocumentRoot /var/www/site/trunk/html <Directory /> Options FollowSymLinks AllowOverride all </Directory> <Directory /var/www/site/trunk/html> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> My ssl config file NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin [email protected] #SSLEnable #SSLVerifyClient none #SSLCertificateFile /usr/local/ssl/crt/public.crt #SSLCertificateKeyFile /usr/local/ssl/private/private.key DocumentRoot /var/www/site/trunk/html <Directory /> Options FollowSymLinks AllowOverride all </Directory> <Directory /var/www/site/trunk/html> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn SSLEngine On SSLCertificateFile /usr/local/ssl/crt/public.crt SSLCertificateKeyFile /usr/local/ssl/private/private.key CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> My /etc/apache2/httpd.conf is blank The directory /etc/apache2/conf.d has nothing in it but one file (charset) contents of /etc/apache2/conf.dcharset # Read the documentation before enabling AddDefaultCharset. # In general, it is only a good idea if you know that all your files # have this encoding. It will override any encoding given in the files # in meta http-equiv or xml encoding tags. #AddDefaultCharset UTF-8 My apache error.log [Wed Jun 03 00:12:31 2009] [error] [client 216.168.43.234] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:) [Wed Jun 03 05:03:51 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:03:54 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:13:48 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:13:51 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:13:54 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:13:57 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:17:28 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 05:26:23 2009] [notice] caught SIGWINCH, shutting down gracefully [Wed Jun 03 05:26:34 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g configured -- resuming normal operations [Wed Jun 03 06:03:41 2009] [notice] caught SIGWINCH, shutting down gracefully [Wed Jun 03 06:03:51 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g configured -- resuming normal operations [Wed Jun 03 06:25:07 2009] [notice] caught SIGWINCH, shutting down gracefully [Wed Jun 03 06:25:17 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g configured -- resuming normal operations [Wed Jun 03 12:09:25 2009] [error] [client 61.139.105.163] File does not exist: /var/www/site/trunk/html/fastenv [Wed Jun 03 15:04:42 2009] [notice] Graceful restart requested, doing restart [Wed Jun 03 15:04:43 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g configured -- resuming normal operations [Wed Jun 03 15:29:51 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 15:29:54 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 15:30:32 2009] [error] [client 99.247.237.46] File does not exist: /var/www/site/trunk/html/favicon.ico [Wed Jun 03 15:45:54 2009] [notice] caught SIGWINCH, shutting down gracefully [Wed Jun 03 15:46:05 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g configured -- resuming normal operations

    Read the article

  • How to mock an SqlDataReader using Moq - Update

    - by Simon G
    Hi, I'm new to moq and setting up mocks so i could do with a little help. Title says it all really - how do I mock up an SqlDataReader using Moq? Thanks Update After further testing this is what I have so far: private IDataReader MockIDataReader() { var moq = new Mock<IDataReader>(); moq.Setup( x => x.Read() ).Returns( true ); moq.Setup( x => x.Read() ).Returns( false ); moq.SetupGet<object>( x => x["Char"] ).Returns( 'C' ); return moq.Object; } private class TestData { public char ValidChar { get; set; } } private TestData GetTestData() { var testData = new TestData(); using ( var reader = MockIDataReader() ) { while ( reader.Read() ) { testData = new TestData { ValidChar = reader.GetChar( "Char" ).Value }; } } return testData; } The issue you is when I do reader.Read in my GetTestData() method its always empty. I need to know how to do something like reader.Stub( x => x.Read() ).Repeat.Once().Return( true ) as per the rhino mock example: http://stackoverflow.com/questions/1792984/mocking-a-datareader-and-getting-a-rhino-mocks-exceptions-expectationviolationexc

    Read the article

  • WPF: Draw a grid on a Canvas?

    - by stefan.at.wpf
    Hello community, I'm currently trying to add gridlines to a canvas. I need an exact free space between them, where I'd like to place something for hit detection per cell, maybe simply a transparent border or such a thing. While I thought this would be an easy thing, I'm facing problems like antialiasing and that lines in WPF aren't very "calculate" / exact drawing friendly - e.g. if I draw a line on x=20 with a thickness of 10, the line's width goes from x=15 to x=25 (maybe not exactly, just some kind like that), so it takes the given position as middle point - if it would draw from 20 to 30 it would be easier in my case. Besides that making things more complex, how does WPF handle e.g. a thickness of 5? Draw thickness 3 left from the given point and the remaining 2 right from it? Or maybe just the opposite way? Well, just wanted to show you which problems I have, though this all maybe just seems simple to be done. Just wondering if anyone has ever done this before. Currently I find a Border without content and just 2 sites set to a thickness greater than 0 as line seems to work the best in my tests, seems like it's clear where they are drawn and they somehow don't seem to make any antialiasing problems. Just wondering if there's a more intuitive / better way of doing this? I don't want to lay a Canvas over a Grid, I think this maybe makes some things more complex in the end (by the way: how would I place a Canvas on top of a Grid?). Thanks for any hint!

    Read the article

  • Reactive Extensions vs FileSystemWatcher

    - by Joel Mueller
    One of the things that has long bugged me about the FileSystemWatcher is the way it fires multiple events for a single logical change to a file. I know why it happens, but I don't want to have to care - I just want to reparse the file once, not 4-6 times in a row. Ideally, there would be an event that only fires when a given file is done changing, rather than every step along the way. Over the years I've come up with various solutions to this problem, of varying degrees of ugliness. I thought Reactive Extensions would be the ultimate solution, but there's something I'm not doing right, and I'm hoping someone can point out my mistake. I have an extension method: public static IObservable<IEvent<FileSystemEventArgs>> GetChanged(this FileSystemWatcher that) { return Observable.FromEvent<FileSystemEventArgs>(that, "Changed"); } Ultimately, I would like to get one event per filename, within a given time period - so that four events in a row with a single filename are reduced to one event, but I don't lose anything if multiple files are modified at the same time. BufferWithTime sounds like the ideal solution. var bufferedChange = watcher.GetChanged() .Select(e => e.EventArgs.FullPath) .BufferWithTime(TimeSpan.FromSeconds(1)) .Where(e => e.Count > 0) .Select(e => e.Distinct()); When I subscribe to this observable, a single change to a monitored file triggers my subscription method four times in a row, which rather defeats the purpose. If I remove the Distinct() call, I see that each of the four calls contains two identical events - so there is some buffering going on. Increasing the TimeSpan passed to BufferWithTime seems to have no effect - I went as high as 20 seconds without any change in behavior. This is my first foray into Rx, so I'm probably missing something obvious. Am I doing it wrong? Is there a better approach? Thanks for any suggestions...

    Read the article

  • Setting values and display Text in Android Spinner

    - by kaibuki
    Hi, I need help in setting up value and display text in spinner. as per now I am populating my spinner by array adapter e.g mySpinner.setAdapter(myAdapter); and as far as I know after doing this the display text and the value of spinner at same position is same. The other attribute that I can get from spinner is the position on the item. now in my case I want to make spinner like the drop down box, which we have in .NET. which holds a text and value. where as text is displayed and value is at back end. so if I change drop down box , I can either use its selected text or value. but its not happening in android spinner case. For Example: Text Value Cat 10 Mountain 5 Stone 9 Fish 14 River 13 Loin 17 so from above array I am only displaying non-living objects text, and what i want is that when user select them I get there value i.e. like when Mountain selected i get 5 I hope this example made my question a bit more clear... thankx

    Read the article

  • Forbidden Patterns Check-In Policy in TFS 2010

    - by Jaxidian
    I've been trying to use the Forbidden Patterns part of the TFS 2010 Power Tools and I'm just not understanding something - I simply cannot get anything to change as I try to use this! I'm using the version that was released recently (I believe April 23, 2010), so it's not an old version. First off, yes, I know it's regex based, so let's clear that doubt... I have tried to block the following scenarios: 1) I have modified all of my T4 EF templates to generate files named EntityName.gen.cs. I then attempted to prevent TFS from wanting to check those files in. I used the regular expression \.gen\.cs\z and it didn't change a single thing! I even tried it without the \z and nadda! 2) I don't want app.config and web.config files to be checked-in by default because we have these things stored into app.config.base and web.config.base files that our build scripts use to generate our per-environment app.config and web.config files. As such, I tried the following regexes and again, nothing worked! web\.config\z, app\.config\z, web\.release\.config\z and web\.debug\.config\z. What is it that I am screwing up with this?

    Read the article

  • Random DNS Client Issue with BIND9/Windows Server 2003 DNS

    - by upkels
    Within our office, we have a local server running DNS, for internal related "domains", (e.g. .internal, .office, .lan, .vpn, etc.). Randomly, only the hosts configured with those extensions will stop resolving on the Windows-based workstations. Sometimes it'll work for a couple weeks without issue on one machine, then suddenly stop working, or it'll happen on another 15 times per day. It's completely random for all workstations. When troubleshooting, I have opened up a command prompt, and issued various nslookup commands for some of these hosts, and they resolve, however I've been told that nslookup uses different "libraries" for name resolution than other applications such as web browsers, email clients, etc. The only solution thus far, is manually restarting the Windows DNS Client on each workstation when this happens. Issuing the ipconfig /flushdns command multiple times helps every now and then, but is not successful enough to even attempt before restarting the DNS Client. I have tried two different DNS servers; BIND9, and Windows Server 2003 R2 DNS, and the behavior is the same. We have a single Netgear JGS524 switch all workstations and servers are connected to within the office, and a Linksys SR224G switch in another department with workstations attached.

    Read the article

  • How do I pass a custom field to a hook (Invision Power Board [ipb] / PHP)

    - by Julian Young
    A long shot but here's hoping someone has some experience coding PHP hooks for Invisions Power Board forum. I'm attempting to code a status addition and the PHP works fine on it's own, it's the passing of the IPB's reference to my hook that is the issue. I.E. You setup a custom field in your forum for MSN Username, then from within a skin / template hook you pass the custom field to the hook and then use your PHP code to check on the status. Here is the IPB skin code I am hooking into on Global-userInfoPane... <if test="authorcfields:|:$author['custom_fields'] != """> <foreach loop="customFieldsOuter:$author['custom_fields'] as $group => $data"> <foreach loop="customFields:$author['custom_fields'][ $group ] as $field"> <if test="$field != ''"> <li> {$field} </li> </if> </foreach> </foreach> </if> Although I could easily add my own skin hook here. i.e. <if test="myHookHere:|:1===1"></if> Literally all I need is a single custom field entry from here passed to my hook. If I query every member when the hook is run then that will result in many extra sql queries per page view. All I want to do is pass that specific custom field to the hook... i.e. myHookHere( $customfield['msn_username'] ) Is this possible? How do you reference the customfield? Can I execute pure PHP from here? Appreciate anyone that can help! I tried the official invision forums but not had much luck.

    Read the article

  • DRY Validation with MVC2

    - by Matthew
    Hi All, I'm trying to figure out how I can define validation rules for my domain objects in one single location within my application but have run in to a snag... Some background: My location has several parts: - Database - DAL - Business Logic Layer - SOAP API Layer - MVC website The MVC website accesses the database via the SOAP API, just as third parties would. We are using server and and client side validation on the MVC website as well as in the SOAP API Layer. To avoid having to manually write client side validation we are implementing strongly typed views in conjunction with the Html.TextBoxFor and Html.ValidationMessageFor HTML helpers, as shown in Step 3 here. We also create custom models for each form where one form takes input for multiple domain objects. This is where the problem begins, the HTML helpers read from the model for the data annotation validation attributes. In most cases our forms deal with multiple domain objects and you can't specify more than one type in the <%@Page ... Inherits="System.Web.Mvc.ViewPage" % page directive. So we are forced to create a custom model class, which would mean duplicating validation attributes from the domain objects on to the model class. I've spent quite some time looking for workarounds to this, such has referencing the same MetadataType from both the domain class and the custom MVC models, but that won't work for several reasons: You can only specify one MetadataType attribute per class, so its a problem if a model references multiple domain objects, each with their own metadata type. The data annotation validation code throws an exception if the model class doesn't contain a property that is specified in the referenced MetadataType which is a problem with the model only deals with a subset of the properties for a given domain object. I've looked at other solutions as well but to no avail. If anyone has any ideas on how to achieve a single source for validation logic that would work across MVC client and server side validation functionality and other locations (such as my SOAP API) I would love to hear it! Thanks in advance, Matthew

    Read the article

  • java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl while starting the w

    - by venkat
    Hi, As part of our application we are using apache's xerces jaxp parser. When we deploy the application on weblogic9.2, we are getting the following error. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl As per our analysis, i)The weblogic is trying to to load its own DocumentBuilderFactoryImpl which is present in weblogic.jar instead of apache's xerces. We tried the following to force the weblogic to load DocumentBuilderFactoryImpl from xerces i)we have added the following tag into weblogic.xml true ii)we have put latest versions of xalan in jre/lib/endorced folder. this didnt resolve our problem. ii) we have added entries in weblogic-application.xml webapp.encoding.default UTF-8 javax.jws. org.apache.xerces. org.apache.xerces.jaxp.* ii)Added the following entry in weblogic-application.xml <parser-factory> <saxparser-factory>org.apache.xerces.jaxp.SAXParserFactoryImpl</saxparser-factory> <document-builder-factory>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl </document-builder-factory> org.apache.xalan.processor.TransformerFactoryImpl iii)Added jaxp.properties to load DocumentBuilderFactoryImpl from xerces to the jre/lib and started the server.In this case, the weblogic didnt start. iv)Then we started the server first and then copied the jaxp.properties file during the run time when server starts.But no success None of the above worked for us. Any help is highly appreciated. Thanks in advance, Venkat.

    Read the article

  • XNA vs SlimDX for offscreen renderer

    - by Groky
    Hello, I realise there are numerous questions on here asking about choosing between XNA and SlimDX, but these all relate to game programming. A little background: I have an application that renders scenes from XML descriptions. Currently I am using WPF 3D and this mostly works, except that WPF has no way to render scenes offscreen (i.e. on a server, without displaying them in a window), and also rendering to a bitmap causes WPF to fallback to software rendering. So I'm faced with having to write my own renderer. Here are the requirements: Mix of 3D and 2D elements. Relatively few elements per scene (tens of meshes, tens of 2D elements). Large scenes (up to 3000px square for print). Only a single frame will be rendered (i.e. FPS is not an issue). Opacity masks. Pixel shaders. Software fallback (servers may or may not have a decent gfx card). Possibility of being rendered offscreen. As you can see it's pretty simple stuff and WPF can manage it quite nicely except for the not-being-able-to-export-the-scene problem. In particular I don't need many of the things usually needed in game development. So bearing that in mind, would you choose XNA or SlimDX? The non-rendering portion of the code is already written in C#, so want to stick with that.

    Read the article

  • WebSocket handshake with Ruby and EM::WebSocket::Server

    - by Chad Johnson
    I am trying to create a simple WebSocket connection in JavaScript against my Rails app. I get the following: WebSocket connection to 'ws://localhost:4000/' failed: Error during WebSocket handshake: 'Sec-WebSocket-Accept' header is missing What am I doing wrong? Here is my code: JavaScript: var socket = new WebSocket('ws://localhost:4000'); socket.onopen = function() { var handshake = "GET / HTTP/1.1\n" + "Host: localhost\n" + "Upgrade: websocket\n" + "Connection: Upgrade\n" + "Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==\n" + "Sec-WebSocket-Protocol: quote\n" + "Sec-WebSocket-Version: 13\n" + "Origin: http://localhost\n"; socket.send(handshake); }; socket.onmessage = function(data) { console.log(data); }; Ruby: require 'rubygems' require 'em-websocket-server' module QuoteService class WebSocket < EventMachine::WebSocket::Server def on_connect handshake_response = "HTTP/1.1 101 Switching Protocols\n" handshake_response << "Upgrade: websocket\n" handshake_response << "Connection: Upgrade\n" handshake_response << "Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=\n" handshake_response << "Sec-WebSocket-Protocol: quote\n" send_message(handshake_response) end def on_receive(data) puts 'RECEIVED: ' + data end end end EventMachine.run do print 'Starting WebSocket server...' EventMachine.start_server '0.0.0.0', 4000, QuoteService::WebSocket puts 'running' end The handshake headers are per Wikipedia.

    Read the article

  • ASP.NET MVC in a subfolder (only) on godaddy

    - by Anthony Potts
    Okay, I have read many of the routing posts concerning putting asp.net mvc on godaddy. However, I have not come to a solution to my current problem. I am trying to publish an ASP.NET MVC application to a subfolder on godaddy. I have upgraded the account to use IIS 7 and I have included the MVC dlls in \bin\ deployment method. However, I suspect that my route is not correct. Currently, my routes are set up with the standard out of the box route: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); } I have a subdomain set up so that it looks like office.domain.com. The subdomain is pointing at a folder "/office/" which is right off the root folder. (There is not an MVC application installed in the root folder). All of my application has been placed in this 'office' folder. When I hover over the links however, the 'office' portion shows up in the link as well. e.g. Hovering over a link to the customer controller, index action yields "office.domain.com/office/Customer" as the target. This link then gets a 404 when I attempt to go to it. What should my route be to fix this? Is there something I have neglected in setting up the subdomain in godaddy? Is this something I just can't do in godaddy's domain management "tool". Do I need to set up a virtual directory for this instead of just a directory? Update: I changed the IIS settings in godaddy to use integrated pipeline mode, per this discussion and I am no longer getting 404 errors. The application worked just fine as suggested it would.

    Read the article

  • Multiple markers in Googe Maps API v3 that link to different pages when clicked

    - by Dave
    I have a map with multiple markers, which I populate via an array. Each marker is clickable and should take the user to a different url per marker. The problem is that all the markers, while displaying the correct title, all use the url of the last entry in the array. Here is my code: var myOptions = { zoom: 9, center: new google.maps.LatLng(40.81940575,-73.95647955), mapTypeId: google.maps.MapTypeId.TERRAIN } var map = new google.maps.Map(document.getElementById("bigmap"), myOptions); setMarkers(map, properties); var properties = [ ['106 Ft Washington Avenue',40.8388485,-73.9436015,'Mjg4'], ['213 Bennett Avenue',40.8574384,-73.9333426,'Mjkz'], ['50 Overlook Terrace',40.8543752,-73.9362542,'Mjky'], ['850 West 176 Street',40.8476012,-73.9417571,'OTM='], ['915 West End Avenue',40.8007478,-73.9692155,'Mjkx']]; function setMarkers(map, buildings) { var image = new google.maps.MarkerImage('map_marker.png', new google.maps.Size(19,32), new google.maps.Point(0,0), new google.maps.Point(10,32)); var shadow = new google.maps.MarkerImage('map_marker_shadow.png', new google.maps.Size(28,32), new google.maps.Point(0,0), new google.maps.Point(10,32)); var bounds = new google.maps.LatLngBounds; for (var i in buildings) { var myLatLng = new google.maps.LatLng(buildings[i][1], buildings[i][2]); bounds.extend(myLatLng); var marker = new google.maps.Marker({ position: myLatLng, map: map, shadow: shadow, icon: image, title: buildings[i][0] }); google.maps.event.addListener(marker, 'click', function() { window.location = ('detail?b=' + buildings[i][3]); }); } map.fitBounds(bounds); } Using this code, clicking any marker take the user to 'detail?b=Mjkx' What am I doing wrong?

    Read the article

  • Problem interfacing GSM USB modem to Java application

    - by varun
    I am working on an open-source application called FrontlineSMS which can be interfaced with GSM modems to send and receive SMS. The windows installer that is available through their website works fine. Since i wanted to modify it, I got the source code and built the jar and tried to launch it. When I plug in the GSM modem and launch the application, it sometimes detects the GSM device and i am even able to send and receive SMS. Or else 1.) I get the following error- Launching FrontlineSMS for Windows... Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 Error 0x5 at /home/bob/foo/rxtx-devel/build/../src/termios.c(860): Access is de ied. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x5 at /home/bob/foo/rxtx-devel/build/../src/termios.c(860): Access is de ied. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x57 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2352): The parame er is incorrect. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. Error 0x1 at /home/bob/foo/rxtx-devel/build/../src/termios.c(2497): Incorrect f nction. 2.) OR the application sometimes crashes by creating a log file which contains: # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x10009ccb, pid=4452, tid=3464 # # JRE version: 6.0_20-b02 # Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing windows-x86 ) # Problematic frame: # C [rxtxSerial.dll+0x9ccb] # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x03433000): JavaThread "SmsModem :: COM18" daemon [_thread_in_native, id=3464, stack(0x070a0000,0x070f0000)] siginfo: ExceptionCode=0xc0000005, writing address 0x038cfa10 Registers: EAX=0x038cfa08, EBX=0x00000003, ECX=0x7c802413, EDX=0x00000001 ESP=0x070ef800, EBP=0x070ef9e8, ESI=0x3360b898, EDI=0x03433000 EIP=0x10009ccb, EFLAGS=0x00010202 Top of Stack: (sp=0x070ef800) 0x070ef800: 3360b8a0 6d9fbc40 6da2ed98 ffffffff 0x070ef810: 070ef848 6d8f0a2c 6d8f0340 070ef95c 0x070ef820: 070ef864 00000dfb 03433000 038cfa08 0x070ef830: 00000007 00000001 00000001 0000000a 0x070ef840: 03433bf4 fffffffe 070ef8f4 6d8f0b7a 0x070ef850: 070ef95c 03433bf8 6da6f210 6da6f538 0x070ef860: 070ef868 03433bf4 27f18708 27f18708 0x070ef870: 22eb9810 03433bc4 00000001 070ef898 Instructions: (pc=0x10009ccb) 0x10009cbb: 45 1c 7c 19 8b 85 44 fe ff ff 8b 95 4c fe ff ff 0x10009ccb: 89 50 08 8b 55 f4 89 d0 e9 f8 01 00 00 c7 85 50 Stack: [0x070a0000,0x070f0000], sp=0x070ef800, free space=13e070ef334k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [rxtxSerial.dll+0x9ccb] C [rxtxSerial.dll+0xa05e] j gnu.io.RXTXPort.readByte()I+0 j gnu.io.RXTXPort$SerialInputStream.read()I+61 j org.smslib.CSerialDriver.getResponse()Ljava/lang/String;+36 j net.frontlinesms.smsdevice.SmsModem._doDetection()Z+172 j net.frontlinesms.smsdevice.SmsModem.run()V+18 v ~StubRoutines::call_stub V [jvm.dll+0xf049c] V [jvm.dll+0x17fcf1] V [jvm.dll+0xf0667] V [jvm.dll+0xf06dd] V [jvm.dll+0x11a2a0] V [jvm.dll+0x1ddb14] V [jvm.dll+0x17f96c] C [msvcr71.dll+0x9565] C [kernel32.dll+0xb729] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j gnu.io.RXTXPort.readByte()I+0 j gnu.io.RXTXPort$SerialInputStream.read()I+61 j org.smslib.CSerialDriver.getResponse()Ljava/lang/String;+36 j net.frontlinesms.smsdevice.SmsModem._doDetection()Z+172 j net.frontlinesms.smsdevice.SmsModem.run()V+18 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) =>0x03433000 JavaThread "SmsModem :: COM18" daemon [_thread_in_native, id=3464, stack(0x070a0000,0x070f0000)] 0x0344b800 JavaThread "D3D Screen Updater" daemon [_thread_blocked, id=4404, stack(0x03dd0000,0x03e20000)] 0x002b7800 JavaThread "DestroyJavaVM" [_thread_blocked, id=3236, stack(0x008c0000,0x00910000)] 0x03f6f400 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=1888, stack(0x038e0000,0x03930000)] 0x03ec2400 JavaThread "AWT-Shutdown" [_thread_blocked, id=4300, stack(0x03740000,0x03790000)] 0x032d8c00 JavaThread "EmailServerHandler" [_thread_blocked, id=5708, stack(0x03830000,0x03880000)] 0x032f7000 JavaThread "Incoming message processor" [_thread_blocked, id=4184, stack(0x03650000,0x036a0000)] 0x03004c00 JavaThread "AWT-Windows" daemon [_thread_in_native, id=4828, stack(0x035a0000,0x035f0000)] 0x0303f400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3768, stack(0x03500000,0x03550000)] 0x02b1e800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4164, stack(0x02dd0000,0x02e20000)] 0x02b18c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2936, stack(0x02d80000,0x02dd0000)] 0x02b17400 JavaThread "Attach Listener" daemon [_thread_blocked, id=5444, stack(0x02d30000,0x02d80000)] 0x02b15c00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4976, stack(0x02ce0000,0x02d30000)] 0x02b0d800 JavaThread "Finalizer" daemon [_thread_blocked, id=5876, stack(0x02c90000,0x02ce0000)] 0x02b0c400 JavaThread "Reference Handler" daemon [_thread_blocked, id=5984, stack(0x02c40000,0x02c90000)] Other Threads: 0x02b0ac00 VMThread [stack: 0x02bf0000,0x02c40000] [id=4508] 0x02b29800 WatcherThread [stack: 0x02e20000,0x02e70000] [id=6080] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 7808K, used 4003K [0x22990000, 0x23200000, 0x27ee0000) eden space 6976K, 45% used [0x22990000, 0x22ca8e90, 0x23060000) from space 832K, 100% used [0x23060000, 0x23130000, 0x23130000) to space 832K, 0% used [0x23130000, 0x23130000, 0x23200000) tenured generation total 17208K, used 15192K [0x27ee0000, 0x28fae000, 0x32990000) the space 17208K, 88% used [0x27ee0000, 0x28db6100, 0x28db6200, 0x28fae000) compacting perm gen total 13824K, used 13655K [0x32990000, 0x33710000, 0x36990000) the space 13824K, 98% used [0x32990000, 0x336e5f98, 0x336e6000, 0x33710000) ro space 10240K, 51% used [0x36990000, 0x36ebae00, 0x36ebae00, 0x37390000) rw space 12288K, 54% used [0x37390000, 0x37a272d8, 0x37a27400, 0x37f90000) Dynamic libraries: 0x00400000 - 0x00424000 C:\WINDOWS\system32\java.exe 0x7c900000 - 0x7c9b2000 C:\WINDOWS\system32\ntdll.dll 0x7c800000 - 0x7c8f6000 C:\WINDOWS\system32\kernel32.dll 0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll 0x77e70000 - 0x77f02000 C:\WINDOWS\system32\RPCRT4.dll 0x77fe0000 - 0x77ff1000 C:\WINDOWS\system32\Secur32.dll 0x7c340000 - 0x7c396000 C:\Program Files\Java\jre6\bin\msvcr71.dll 0x6d800000 - 0x6da97000 C:\Program Files\Java\jre6\bin\client\jvm.dll 0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll 0x77f10000 - 0x77f59000 C:\WINDOWS\system32\GDI32.dll 0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll 0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL 0x6d7b0000 - 0x6d7bc000 C:\Program Files\Java\jre6\bin\verify.dll 0x6d330000 - 0x6d34f000 C:\Program Files\Java\jre6\bin\java.dll 0x6d290000 - 0x6d298000 C:\Program Files\Java\jre6\bin\hpi.dll 0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL 0x6d7f0000 - 0x6d7ff000 C:\Program Files\Java\jre6\bin\zip.dll 0x6d000000 - 0x6d14a000 C:\Program Files\Java\jre6\bin\awt.dll 0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV 0x77c10000 - 0x77c68000 C:\WINDOWS\system32\msvcrt.dll 0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll 0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.dll 0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll 0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll 0x74720000 - 0x7476c000 C:\WINDOWS\system32\MSCTF.dll 0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime 0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\shell32.dll 0x6d230000 - 0x6d284000 C:\Program Files\Java\jre6\bin\fontmanager.dll 0x68000000 - 0x68036000 C:\WINDOWS\system32\rsaenh.dll 0x769c0000 - 0x76a74000 C:\WINDOWS\system32\USERENV.dll 0x5b860000 - 0x5b8b5000 C:\WINDOWS\system32\netapi32.dll 0x6d610000 - 0x6d623000 C:\Program Files\Java\jre6\bin\net.dll 0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll 0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll 0x71a50000 - 0x71a8f000 C:\WINDOWS\System32\mswsock.dll 0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll 0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll 0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll 0x16080000 - 0x160a5000 C:\Program Files\Bonjour\mdnsNSP.dll 0x76d60000 - 0x76d79000 C:\WINDOWS\system32\Iphlpapi.dll 0x63560000 - 0x63568000 C:\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll 0x63550000 - 0x63559000 C:\WINDOWS\system32\nimdnsResponder.dll 0x78130000 - 0x781cb000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989\MSVCR80.dll 0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll 0x10000000 - 0x10012000 C:\Documents and Settings\bjz677\Desktop\client run\rxtxSerial.dll 0x73d90000 - 0x73db7000 C:\WINDOWS\system32\crtdll.dll 0x4fdd0000 - 0x4ff76000 C:\WINDOWS\system32\d3d9.dll 0x038d0000 - 0x038d6000 C:\WINDOWS\system32\d3d8thk.dll 0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll 0x6d630000 - 0x6d639000 C:\Program Files\Java\jre6\bin\nio.dll 0x03930000 - 0x03977000 C:\Program Files\Iomega\DriveIcons\IMGHOOK.DLL 0x605d0000 - 0x605d9000 C:\WINDOWS\system32\mslbui.dll 0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.DLL VM Arguments: java_command: net.frontlinesms.DesktopLauncher Launcher Type: SUN_STANDARD Environment Variables: JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20\bin CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip; PATH=C:\Program Files\Intel\MKL\10.0.2.019\ia32\bin;C:\Program Files\Intel\VTune\CGGlbCache;C:\Program Files\Intel\VTune\Analyzer\Bin;C:\Program Files\Intel\VTune\Shared\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;s:\datamart\bin;C:\Program Files\ATI Technologies\ATI.ACE\;C:\Program Files\IVI\bin;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\MATLAB\R2007b\bin;C:\Program Files\MATLAB\R2007b\bin\win32;C:\VXIPNP\WinNT\Bin;C:\Program Files\Intel\Compiler\Fortran\10.1.021\\IA32\Lib;C:\Program Files\Intel\Compiler\Fortran\10.1.021\\EM64T\Lib;C:\VXIPNP\WinNT\Bin\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_20\bin USERNAME=xxx OS=Windows_NT PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 2, GenuineIntel --------------- S Y S T E M --------------- OS: Windows XP Build 2600 Service Pack 3 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 Memory: 4k page, physical 2094960k(1063364k free), swap 4032536k(3038408k free) vm_info: Java HotSpot(TM) Client VM (16.3-b01) for windows-x86 JRE (1.6.0_20-b02), built on Apr 12 2010 13:52:23 by "java_re" with MS VC++ 7.1 (VS2003) time: Wed Jun 16 11:53:40 2010 elapsed time: 45 seconds Anyone knows what caused this? Please answer keeping in mind I am new to Java. Thanks, Varun

    Read the article

  • Windows Azure : Storage Client Exception Unhandled

    - by veda
    I am writing a code for upload large files into the blobs using blocks... When I tested it, it gave me an StorageClientException It stated: One of the request inputs is out of range. I got this exception in this line of the code: blob.PutBlock(block, ms, null); Here is my code: protected void ButUploadBlocks_click(object sender, EventArgs e) { // store upladed file as a blob storage if (uplFileUpload.HasFile) { name = uplFileUpload.FileName; byte[] byteArray = uplFileUpload.FileBytes; Int64 contentLength = byteArray.Length; int numBytesPerBlock = 250 *1024; // 250KB per block int blocksCount = (int)Math.Ceiling((double)contentLength / numBytesPerBlock); // number of blocks MemoryStream ms ; List<string>BlockIds = new List<string>(); string block; int offset = 0; // get refernce to the cloud blob container CloudBlobContainer blobContainer = cloudBlobClient.GetContainerReference("documents"); // set the name for the uploading files string UploadDocName = name; // get the blob reference and set the metadata properties CloudBlockBlob blob = blobContainer.GetBlockBlobReference(UploadDocName); blob.Properties.ContentType = uplFileUpload.PostedFile.ContentType; for (int i = 0; i < blocksCount; i++, offset = offset + numBytesPerBlock) { block = Convert.ToBase64String(BitConverter.GetBytes(i)); ms = new MemoryStream(); ms.Write(byteArray, offset, numBytesPerBlock); blob.PutBlock(block, ms, null); BlockIds.Add(block); } blob.PutBlockList(BlockIds); blob.Metadata["FILETYPE"] = "text"; } } Can anyone tell me how to solve it...

    Read the article

  • Self hosted WCF ServiceHost/WebServiceHost Concurrency/Peformance Design Options (.NET 3.5)

    - by Kyle
    So I'll be providing a few functions via a self hosted (in a WindowsService) WebServiceHost (not sure how to process HTTP GET/POST with ServiceHost), one of which may be called a large amount of the time. This function will also rely on a connection in the appdomain (hosted by the WindowsService so it can stay alive over multiple requests). I have the following concerns and would be oh so thankful for any input/thoughts/comments: Concurrent access - how does the WebServiceHost handle a bunch of concurrent requests. Are they queued and processes sequentially or are new instances of the contracts automagically created? WebServiceHost - WindowsService communication - I need some form of communication from the WebServiceHost to the hosting WindowsService for things like requesting a new session if one does not exist. Perhaps implementing a class which extends the WebServiceHost with events which the WindowsService subscribes to... (unless there is another way I can set off an event in the WindowsService when a request is made...) Multiple WebServiceHosts or Contracts - Would it give any real performance gain to be running multiple WebServiceHost instances in different threads (one per endpoint perhaps?) - A better understanding of the first point would probably help here. WSDL - I'm not sure why (probably just need to do more reading), but I'm not sure how to get the WebServiceHost base endpoint to respond with a WDSL document describing the available contract. Not required as all the operations will be done via GET requests which will not likely change, but it would be nice to have... That's about it for the moment ;) I've been reading a lot on WCF and wish I'd gotten into it long ago, but definitely still learning.

    Read the article

  • How to programmatically set the ContextKey of an AutoComplete Extender placed in a gridviews footer

    - by rism
    As per the thread title I want to programmatically set the ContextKey of an AutoComplete Extender placed in a gridviews footer row. Background is I have a data model that has Territory and Journey Plans for those territories. Customers need to be added to the journey plans but only those customers that belong to the Territory that owns the Journey Plan. In the footer row of my grid I have added a textbox which allows a user to enter account code of customer. Attached to this textbox is an autocomplete extender. I need to do a select against the db for customers with account code like prefix where customer in territory. But there is no way to provide territory id. I thought I could just: <asp:TemplateField HeaderStyle-Width="100" HeaderStyle-HorizontalAlign="Left" HeaderText="LKey" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="100"> <ItemTemplate> <asp:Label ID="lblLKey" runat="server" Text='<%# Eval("LKey") %>' /> </ItemTemplate> <FooterTemplate> <asp:TextBox ID="txtLKey" CssClass="sitepagetext" runat="server" MaxLength="15" Width="60" /> <cc1:AutoCompleteExtender ID="Autocompleteextender1" MinimumPrefixLength="4" CompletionInterval="1000" CompletionSetCount="10" ServiceMethod="GetCompletionList" ContextKey="<% this.Controller.TerritoryId %>" TargetControlID="txtLKey" runat="server"> </cc1:AutoCompleteExtender> </FooterTemplate> </asp:TemplateField> for the relevant field in the grid but when the page is run I get the following markup for the autoextender: Sys.Application.add_init(function() { $create(AjaxControlToolkit.AutoCompleteBehavior, {"contextKey":"\u003c% this.Controller.TerritoryId %\u003e","delimiterCharacters":"","id":"ctl00_ctl00_mainContentHolder_serviceContentHolder_qlgvJourneyPlanCustomers_ctl03_Autocompleteextender1","minimumPrefixLength":4,"serviceMethod":"GetCompletionList","servicePath":"/Views/CRM/JourneyPlans/CustomersEditor.aspx","useContextKey":true}, null, null, $get("ctl00_ctl00_mainContentHolder_serviceContentHolder_qlgvJourneyPlanCustomers_ctl03_txtLKey")); }); //]]> </script> ContextKey value doesnt get evaluated. It just uses the literal text. Any thoughts?

    Read the article

  • How load WebView with another URL when navigated through tab bar viewController

    - by TechFusion
    Hello, I have created window based application, root controller as Tab bar controller. WebView is being loaded in Tab bar interfaced ViewController's View.WebView is created using IB.WebView object declared in ViewController as per below. //ViewController.h @interface ViewController:UIViewController{ IBOutlet UIWebview *Webview; } @property(nonatomic,retain)IBOutlet UIWebview *Webview; @end I am calling [WebView loadrequest] method in -viewDidLoad method and stopLoading will be called in -viewWillDisappear method. I am again reload it in -viewWillAppear:animated method to load it again when tab bar is pressed. //ViewController.m @implementation viewcontroller @synthesize Webview; -(void)viewDidLoad{ [super viewDidLoad]; [self.Webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"www.apple.com"]]]; } -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.Webview reload]; } -(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [self.Webview stopLoading]; } I am releasing WebView in -ViewDidUnload method -(void)viewDidUnload{ [super viewDidUnload]; [Webview release]; } -(void)dealloc{ [Webview release]; [super dealloc]; } Does Webview released correctly ? Here how to kill connection with URL when ViewWillDisappear method called ? How to load View with Different URL then it's loaded in -viewDidLoad method when ViewController interfaced tab is pressed ? Means if naviagated from one tab to another that ViewController interface tab which has WebView should load request with another URL. Does it correct to call [self.Webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"www.stackoverflow.com"]]]; this method again in -viewWillAppear:animated method to load with another URL ? Thanks,

    Read the article

< Previous Page | 256 257 258 259 260 261 262 263 264 265 266 267  | Next Page >