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 help@getpostman.com? 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