[Platform Sample] Unhandled Exception: System.NotSupportedException: The given path's format is not supported

I’m trying to run the Particular Platform Sample, and getting the following error:
Unhandled Exception: System.NotSupportedException: The given path’s format is not supported.
Here’s the full stack trace:

Found free port '49200' for ServiceControl
Found free port '49201' for ServiceControl Audit
Found free port '49202' for ServiceControl Maintenance
Found free port '49203' for ServiceControl Audit Maintenance
Found free port '49204' for ServiceControl Monitoring
Found free port '49205' for ServicePulse
Solution Folder: C:\Users\muriukilm\source\repos\TestParticular
Creating log folders
Creating transport folder
Launching ServiceControl
Launching ServiceControl Audit
Launching ServiceControl Monitoring
Launching ServicePulse
2022-07-25 20:09:06.9741|1|Info|ServiceControl.Audit.Infrastructure.Settings.Settings|No settings found for audit log queue to import, default name will be used
2022-07-25 20:09:06.8761|1|Info|LoggingConfiguration|Logging to C:\Users\muriukilm\source\repos\TestParticular\.logs\monitoring\logfile.2022-07-25.txt with LogLevel 'Warn'
2022-07-25 20:09:06.9961|1|Info|ServiceBus.Management.Infrastructure.Settings.Settings|No settings found for error log queue to import, default name will be used
2022-07-25 20:09:07.4841|1|Info|ServiceControl.Audit.Infrastructure.Bootstrapper|
-------------------------------------------------------------
ServiceControl Audit Version:       4.21.8+3.Branch.release-4.21.Sha.519073f85e907243d576710f430328dfffd6f154
2022-07-25 20:09:07.6991|1|Info|Particular.ServiceControl.Bootstrapper|Audit Retention Period:             10.00:00:00

-------------------------------------------------------------Forwarding Audit Messages:          False

ServiceControl Version:             4.21.8+3.Branch.release-4.21.Sha.519073f85e907243d576710f430328dfffd6f154Database Size:                      1.05 MB

Audit Retention Period (optional):  Database Folder Size:               68.39 MB

Error Retention Period:             10.00:00:00ServiceControl Logging Level:       Info

Ingest Error Messages:              TrueRavenDB Logging Level:              Warn

Forwarding Error Messages:          FalseSelected Transport Customization:   ServiceControl.Transports.Learning.LearningTransportCustomization, ServiceControl.Transports.Learning

Database Size:                      1.05 MB-------------------------------------------------------------

Database Folder Size:               68.7 MB
ServiceControl Logging Level:       Info
RavenDB Logging Level:              Warn
Selected Transport Customization:   ServiceControl.Transports.Learning.LearningTransportCustomization, ServiceControl.Transports.Learning
-------------------------------------------------------------
2022-07-25 20:09:09.5611|1|Warn|NServiceBus.TransportExtensions|A connection string named 'NServiceBus/Transport' was found. Using named connection strings is discouraged. Instead, load the connection string in your code and pass the value to EndpointConfiguration.UseTransport().ConnectionString(connectionString).
2022-07-25 20:09:10.2661|6|Info|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.
2022-07-25 20:09:10.2941|6|Info|Microsoft.Hosting.Lifetime|Hosting environment: Production
2022-07-25 20:09:10.2991|6|Info|Microsoft.Hosting.Lifetime|Content root path: C:\Users\muriukilm\source\repos\TestParticular\TestParticular\bin\Debug\net6.0\platform\servicecontrol\monitoring-instance\
Waiting for ServiceControl to be available..2022-07-25 20:09:16.8610|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.RavenBootstrapper|Loading Embedded RavenDB license
2022-07-25 20:09:16.8980|8|Warn|NServiceBus.TransportExtensions|A connection string named 'NServiceBus/Transport' was found. Using named connection strings is discouraged. Instead, load the connection string in your code and pass the value to EndpointConfiguration.UseTransport().ConnectionString(connectionString).
2022-07-25 20:09:16.9350|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Database initialization starting
2022-07-25 20:09:16.9390|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Database initialization complete
2022-07-25 20:09:16.9390|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Index creation started
2022-07-25 20:09:16.9390|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Index creation complete
2022-07-25 20:09:16.9390|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Data migrations starting
2022-07-25 20:09:16.9390|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.EmbeddedRavenDbHostedService|Data migrations complete
2022-07-25 20:09:16.9540|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Running deletion of expired documents every 600 seconds
2022-07-25 20:09:16.9540|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Deletion batch size set to 65512
2022-07-25 20:09:16.9540|8|Info|ServiceControl.Audit.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Retention period for audits and saga history is 10.00:00:00
2022-07-25 20:09:17.2360|7|Info|ServiceControl.Audit.Auditing.AuditIngestion|Ensure started. Infrastructure starting
2022-07-25 20:09:17.2720|7|Warn|NServiceBus.TransportExtensions|A connection string named 'NServiceBus/Transport' was found. Using named connection strings is discouraged. Instead, load the connection string in your code and pass the value to EndpointConfiguration.UseTransport().ConnectionString(connectionString).
2022-07-25 20:09:17.3110|7|Info|ServiceControl.Audit.Auditing.AuditIngestion|Ensure started. Infrastructure started
2022-07-25 20:09:17.3680|6|Info|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.
2022-07-25 20:09:17.3810|6|Info|Microsoft.Hosting.Lifetime|Hosting environment: Production
2022-07-25 20:09:17.3990|6|Info|Microsoft.Hosting.Lifetime|Content root path: C:\Users\muriukilm\source\repos\TestParticular\TestParticular\bin\Debug\net6.0\platform\servicecontrol\servicecontrol-audit-instance\
2022-07-25 20:09:17.7120|7|Info|ServiceControl.Infrastructure.RavenDB.RavenBootstrapper|Loading Embedded RavenDB license
2022-07-25 20:09:17.7550|7|Warn|NServiceBus.TransportExtensions|A connection string named 'NServiceBus/Transport' was found. Using named connection strings is discouraged. Instead, load the connection string in your code and pass the value to EndpointConfiguration.UseTransport().ConnectionString(connectionString).
2022-07-25 20:09:17.7971|7|Info|ServiceControl.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Running deletion of expired documents every 600 seconds
2022-07-25 20:09:17.7971|7|Info|ServiceControl.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Deletion batch size set to 65512
2022-07-25 20:09:17.7971|7|Info|ServiceControl.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Retention period for errors is 10.00:00:00
2022-07-25 20:09:18.0661|6|Fatal|NServiceBus.ReceiveComponent|Receiver Main failed to start.
System.NotSupportedException: The given path's format is not supported.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
   at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
   at NServiceBus.LearningTransportMessagePump.EnsureDirectoriesExists() in /_/src/NServiceBus.Core/Transports/Learning/LearningTransportMessagePump.cs:line 113
   at NServiceBus.LearningTransportMessagePump.Start(PushRuntimeSettings limitations) in /_/src/NServiceBus.Core/Transports/Learning/LearningTransportMessagePump.cs:line 62
   at NServiceBus.TransportReceiver.Start() in /_/src/NServiceBus.Core/Transports/TransportReceiver.cs:line 47
   at NServiceBus.ReceiveComponent.<Start>d__7.MoveNext() in /_/src/NServiceBus.Core/Receiving/ReceiveComponent.cs:line 191
2022-07-25 20:09:18.1531|6|Info|ServiceControl.Infrastructure.RavenDB.Expiration.ExpiredDocumentsCleanerBundle|Expired documents cleanup process stopped.

Unhandled Exception: System.NotSupportedException: The given path's format is not supported.
   at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
   at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
   at NServiceBus.LearningTransportMessagePump.EnsureDirectoriesExists() in /_/src/NServiceBus.Core/Transports/Learning/LearningTransportMessagePump.cs:line 113
   at NServiceBus.LearningTransportMessagePump.Start(PushRuntimeSettings limitations) in /_/src/NServiceBus.Core/Transports/Learning/LearningTransportMessagePump.cs:line 62
   at NServiceBus.TransportReceiver.Start() in /_/src/NServiceBus.Core/Transports/TransportReceiver.cs:line 47
   at NServiceBus.ReceiveComponent.<Start>d__7.MoveNext() in /_/src/NServiceBus.Core/Receiving/ReceiveComponent.cs:line 200
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.StartableEndpoint.<Start>d__1.MoveNext() in /_/src/NServiceBus.Core/StartableEndpoint.cs:line 68
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.HostingComponent.<Start>d__7.MoveNext() in /_/src/NServiceBus.Core/Hosting/HostingComponent.cs:line 76
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.ExternallyManagedContainerHost.<Start>d__9.MoveNext() in /_/src/NServiceBus.Core/Hosting/ExternallyManagedContainerHost.cs:line 49
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NServiceBus.Extensions.Hosting.NServiceBusHostedService.<StartAsync>d__1.MoveNext() in /_/src/NServiceBus.Extensions.Hosting/NServiceBusHostedService.cs:line 30
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.<RunAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.<RunAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Particular.ServiceControl.Commands.CommandRunner.<Execute>d__1.MoveNext() in /_/src/ServiceControl/Hosting/Commands/CommandRunner.cs:line 17
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Particular.ServiceControl.Program.<Main>d__0.MoveNext() in /_/src/ServiceControl/Program.cs:line 28
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Particular.ServiceControl.Program.<Main>(String[] args)
....

Hi @sneakygenius,

I wonder if the path C:\Users\muriukilm\source\repos\TestParticular\TestParticular\bin\Debug\net6.0\platform\servicecontrol\servicecontrol-audit-instance\ isn’t too long when the learning transport directories are appended.

Could you try run the sample in a directory closer to root? Maybe C:\TestParticular\bin\Debug\net6.0\platform\servicecontrol\servicecontrol-audit-instance\ ?

Hello @WilliamBZA I just tried that, same error.

Have you downloaded the sample as a zip file? Was the zip file unblocked (right click, properties, tick the unblock checkbox, OK) before being unzipped?

I’m asking because the EmulateFileIOPermissionChecks is a Code Access Security thing. I recall having had issues with that in the past when executing things from network shares (which is clearly not your case). However, similar errors happen when zip files are blocked.

.m

I unblocked the zip and extracted, and still same error. I even created a new console app, and added Particular.PlatformLauncher.Launch(), and got the same error.
But I did the same in another machine and it worked, didn’t throw the error message. So maybe it’s something wrong with this one machine :thinking:

The exception stems from System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks, so maybe there’s some permissions differences between the two?

I wish it would say what path it doesn’t have permission to…