Capture Requests crashes immediately

I just installed Postman 7.5. When I try to turn on Capture Requests the application crashes immediately.

Steps to reproduce the behavior:

  1. Start Postman
  2. Click on the Capture Requests icon
  3. Click on the Capture Requests Toggle to turn it on
  4. Application crashes immediately

I was hoping to use this feature to capture requests from my browser.

  • Postman native app
  • Version 7.5
  • macOS Mojave 10.14.6

Console Output of entire process (start to crash). Logs for moment when toggle clicked and crash occurred in bold:

default 09:47:19.963934 -0500 launchservicesd CHECKIN:0x0-0x3d33d3 76786 com.postmanlabs.mac
default 09:47:19.966941 -0500 loginwindow -[ApplicationManager checkInAppContext:refCon:eventData:] | checked in app : Postman
default 09:47:20.055630 -0500 NowPlayingTouchUI [NowPlayingTouchUI] Reloading available apps due to workspace activating an application: NSConcreteNotification 0x600000b93540 {name = NSWorkspaceDidActivateApplicationNotification; object = <NSWorkspace: 0x6000007b0610>; userInfo = {
NSWorkspaceApplicationKey = “<NSRunningApplication: 0x6000037b6910 (com.postmanlabs.mac - 76786)>”;
}}
default 09:47:20.078754 -0500 Postman Current system appearance, (HLTB: 2), (SLS: 1)
default 09:47:20.088778 -0500 Postman Post-registration system appearance: (HLTB: 2)
default 09:47:20.317652 -0500 distnoted register name: com.apple.xctest.FakeForceTouchDevice object: com.postmanlabs.mac token: f4267 pid: 76786
default 09:47:20.333697 -0500 Postman NSApp cache appearance:
-NSRequiresAquaSystemAppearance: 1
-appearance: (null)
-effectiveAppearance: <NSCompositeAppearance: 0x6000017fb480
(
“<NSAquaAppearance: 0x6000021c4040>”,
“<NSSystemAppearance: 0x6000021c4600>”
)>
default 09:47:20.462941 -0500 distnoted register name: com.apple.nsquiet_safe_quit_give_reason object: com.postmanlabs.mac token: f4285 pid: 76786
default 09:47:20.585794 -0500 hidd Connection added: IOHIDEventSystemConnection uuid:3A508B0D-3C69-4FF1-8179-FD1EF0A42094 pid:76786 process:Postman type:Passive entitlements:0x0 caller:HIToolbox: ___GetIOHIDEventSystemClient_block_invoke + 26 attributes:(null) inactive:1
default 09:47:20.642309 -0500 systemsoundserverd 687: -> Incoming Request : actionID 4096, inClientPID 76786(Postman), inBehavior 1, customVibeDataProvided 0, loop 0, loopPeriod 0.000000, inFlags 0, inClientCompletionToken 1
default 09:47:20.758002 -0500 Postman *** WARNING: Textured window <AtomNSWindow: 0x7faefe530320> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow’s -titlebarAppearsTransparent=YES instead.
default 09:47:21.066211 -0500 Postman Helper GVA info: preferred scaler idx 1
default 09:47:25.498680 -0500 loginwindow -[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] | checkAgainstApp is : Postman
default 09:47:25.498709 -0500 loginwindow -[PersistentAppsSupport appShouldBeRelaunched:] | entered. checking app: Postman
default 09:47:25.498750 -0500 loginwindow -[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] | Adding to relaunchArray: Postman
default 09:47:25.563280 -0500 loginwindow -[PersistentAppsSupport saveLogoutPersistentState:finalSnapshot:] | Contents:(
{
BackgroundState = 2;
BundleID = “com.postmanlabs.mac”;
Hide = 0;
Path = “/Applications/Postman.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.safari”;
Hide = 0;
Path = “/Applications/Safari.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.mail”;
Hide = 0;
Path = “/Applications/Mail.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.finder”;
Hide = 0;
Path = “/System/Library/CoreServices/Finder.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.ichat”;
Hide = 0;
Path = “/Applications/Messages.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.appstore”;
Hide = 0;
Path = “/Applications/App Store.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.console”;
Hide = 0;
Path = “/Applications/Utilities/Console.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.ical”;
Hide = 0;
Path = “/Applications/Calendar.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.garageband10”;
Hide = 0;
Path = “/Applications/GarageBand.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.print.printerproxy”;
Hide = 0;
Path = “/Users/netBrackets/Library/Printers/HP Color LaserJet M254dw Fiber.app”;
},
{
BackgroundState = 3;
BundleID = “com.adobe.reader”;
Hide = 0;
Path = “/Applications/Adobe Reader 8/Adobe Reader.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.notes”;
Hide = 0;
Path = “/Applications/Notes.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.calculator”;
Hide = 0;
Path = “/Applications/Calculator.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.stickies”;
Hide = 0;
Path = “/Applications/Stickies.app”;
},
{
BackgroundState = 2;
BundleID = “org.savetheworld.metronome8”;
Hide = 0;
Path = “/Applications/Metronome.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.activitymonitor”;
Hide = 0;
Path = “/Applications/Utilities/Activity Monitor.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.systempreferences”;
Hide = 0;
Path = “/Applications/System Preferences.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.itunes”;
Hide = 0;
Path = “/Applications/iTunes.app”;
},
{
BackgroundState = 2;
BundleID = “org.eclipse.platform.ide”;
Hide = 0;
Path = “/Users/netBrackets/eclipse/java-oxygen/Eclipse.app”;
},
{
BackgroundState = 2;
BundleID = “com.google.chrome”;
Hide = 0;
Path = “/Applications/Google Chrome.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.addressbook”;
Hide = 0;
Path = “/Applications/Contacts.app”;
},
{
BackgroundState = 2;
BundleID = “java.frontbasejmanager”;
Hide = 0;
Path = “/Applications/FrontBaseJManager.app”;
},
{
BackgroundState = 2;
BundleID = “com.apple.terminal”;
Hide = 0;
Path = “/Applications/Utilities/Terminal.app”;
}
)
default 09:47:25.863562 -0500 Postman UNIX error exception: 17
default 09:47:25.876375 -0500 Postman UNIX error exception: 17
default 09:47:30.455320 -0500 Postman LSExceptions shared instance invalidated for timeout.
default 09:47:30.667116 -0500 Postman Helper LSExceptions shared instance invalidated for timeout.
default 09:47:46.586890 -0500 hidd Connection removed: IOHIDEventSystemConnection uuid:3A508B0D-3C69-4FF1-8179-FD1EF0A42094 pid:76786 process:Postman type:Passive entitlements:0x0 caller:HIToolbox: ___GetIOHIDEventSystemClient_block_invoke + 26 attributes:(null) inactive:0
default 09:47:46.586890 -0500 hidd Connection removed: IOHIDEventSystemConnection uuid:F88C74BC-B4CE-4E39-B8C6-B60BB832FBEB pid:76786 process:Postman type:Monitor entitlements:0x0 caller:GameController: _GCHIDEventCallback + 86 attributes:(null) inactive:0
default 09:47:46.682525 -0500 loginwindow -[PersistentAppsSupport applicationQuit:] | for app:Postman, _appTrackingState = 2
default 09:47:46.682556 -0500 loginwindow -[PersistentAppsSupport applicationQuit:] | App: Postman, quit, updating active tracking timer

@netbrackets After restarting the app, can you head to View > Developer > Show logs in Finder, and send the zip over to [email protected]? There are logs that are not propagated to the OS that should be visible through the ‘Show logs’ menu item.

Thanks! Here is the error I’m seeing in main.log:

[70524][1566873487699][main][info][“Main~IPC-MessageToElectron - Starting proxy on port: 5555”]
[70524][1566873487713][main][error][“Main~handleUncaughtError - Uncaught errors”,{“errno”:“EADDRINUSE”,“code”:“EADDRINUSE”,“syscall”:“listen”,“address”:"::",“port”:8443,“name”:“Error”,“message”:“listen EADDRINUSE :::8443”,“stack”:“Error: listen EADDRINUSE :::8443\n at Server.setupListenHandle [as _listen2] (net.js:1330:14)\n at listenInCluster (net.js:1378:12)\n at Server.listen (net.js:1466:7)\n at Object.startProxy (/Applications/Postman.app/Contents/Resources/app/services/electronProxy.js:180:36)\n at EventEmitter. (/Applications/Postman.app/Contents/Resources/app/main.js:286:35)\n at EventEmitter.emit (events.js:182:13)\n at EventEmitter.emit (domain.js:442:20)\n at WebContents. (/Applications/Postman.app/Contents/Resources/electron.asar/browser/api/web-contents.js:285:13)\n at WebContents.emit (events.js:182:13)\n at WebContents.EventEmitter.emit (domain.js:442:20)\n at WebContents.topLevelDomainCallback (domain.js:121:23)”}]

The error from main.log indicates that the port 8443 is in use by another application/process. This also matches with the UNIX error 17 - which means file already open. (Sockets in *nix systems are files)

There is a bug in Postman client which causes it to crash when it tries to bind to ports for the interceptor proxy. Ideally, it should let you know that the ports are already in use.

Workarounds

  • Update the port value before starting the capture
  • Kill/quit the process/app using the port and try again.
    • Something like the following should help to find the process using the port
      lsof -nP -i4TCP:8443 | grep LISTEN

Notes
Postman proxy seems to be binding to two addresses, one with the port specified in the setting and one always with 8443

[96298][1580056010537][main][error][“Main~handleUncaughtError - Uncaught errors”,{“errno”:“EADDRINUSE”,“code”:“EADDRINUSE”,“syscall”:“listen”,“address”:"::",“port”:8443,“name”:“Error”,“message”:“listen EADDRINUSE :::8443”,“stack”:“Error: listen EADDRINUSE :::8443\n at Server.setupListenHandle [as _listen2] (net.js:1330:14)\n at listenInCluster (net.js:1378:12)\n at Server.listen (net.js:1466:7)\n at Object.startProxy (/Applications/Postman.app/Contents/Resources/app/services/electronProxy.js:180:36)\n at EventEmitter. (/Applications/Postman.app/Contents/Resources/app/main.js:289:35)\n at EventEmitter.emit (events.js:182:13)\n at EventEmitter.emit (domain.js:442:20)\n at WebContents. (/Applications/Postman.app/Contents/Resources/electron.asar/browser/api/web-contents.js:285:13)\n at WebContents.emit (events.js:182:13)\n at WebContents.EventEmitter.emit (domain.js:442:20)\n at WebContents.topLevelDomainCallback (domain.js:121:23)”}]

what about this

Work just by changing the port number in /Applications/Postman.app/Contents/Resources/app/services/electronProxy.js, Thanks