Error Codes & Troubleshooting Directory
Complete catalog of B A C enterprise error codes (BAC-ERR-XXX-YYY), root causes, step-by-step resolution guides, and self-service diagnostics.
B A C Enterprise Error Code Taxonomy
Whenever an operation encounters a friction point in the Client Dashboard, Ingress Routing, or Runtime Containers, a unique standardized error code is generated. Reference this directory for verified root causes, instant fixes, or to raise a prioritized engineering ticket.
Client Session Expired or Token Invalid
Your authenticated browser session or JWT bearer token has expired, been revoked, or is mathematically invalid.
- Inactivity beyond the 24-hour security session threshold
- Password or 2FA security credentials recently modified on another device
- Corrupted browser cookie or cross-site token mismatch
- Click the "Login Again" button to re-authenticate with your verified email and password.
- Clear your browser cookies for officialbac.in if you experience repeated session drops.
- If you have 2FA enabled, ensure your authenticator TOTP code is entered within the 30-second window.
Two-Factor Authentication (2FA) Code Invalid or Expired
The submitted 6-digit TOTP verification code does not match the cryptographic secret key or was submitted after the time slot expired.
- Device clock out of sync with international NTP time servers
- Entered an expired 30-second TOTP token
- Mismatched authenticator profile (e.g. Google Authenticator vs. Authy)
- Check your device settings and ensure "Set Time Automatically" is enabled.
- Wait for the authenticator app code to refresh and enter the fresh 6-digit code immediately.
- Use one of your 8-digit Emergency Backup Recovery Codes if your device is unavailable.
Invalid Credentials or Verification Block
The email address and password combination failed authentication or triggered rate-limiting safeguards.
- Incorrect password entered multiple times
- Temporary IP rate-limiting active due to rapid consecutive attempts
- Account pending email verification confirmation
- Double check caps lock and keyboard layout, then re-enter your password.
- Click "Forgot Password" to receive a secure password reset link on your registered email.
- Wait 5 minutes for the automated rate-limit window to reset.
Account Suspended or Under Compliance Review
Your account has been placed under administrative restriction or compliance verification.
- Unpaid invoice or depleted fuel tank credits beyond the grace period
- Security anomaly or violation of Terms of Service detected
- Pending statutory DPDP or identity verification
- Review your registered email inbox for compliance notifications from [email protected].
- Recharge your Fuel Tank balance if account suspension is due to billing arrears.
- Raise an urgent Critical priority ticket with your account ID for immediate squad review.
GitHub Repository Clone or Webhook Fetch Failed
The automated deployment pipeline could not clone or fetch the specified branch from your GitHub repository.
- B A C GitHub App lacks read permissions on private repository
- The selected branch name was renamed or deleted on GitHub
- GitHub API rate limits or transient GitHub service disruption
- Visit your GitHub Account Settings -> Applications -> B A C Deployments and ensure repository access is granted.
- Verify that the branch name specified in your Service Configuration matches your GitHub repository.
- Trigger a manual "Redeploy Now" from your App Detail overview page.
Build Script Execution Timeout Exceeded (>180s)
The "npm run build" or compilation script took longer than the allocated 180 seconds threshold on the build runner.
- Heavy asset bundling, unoptimized media files, or large TypeScript compilation
- Infinite build loop or hanging postinstall lifecycle script
- Extensive unbundled node_modules dependencies
- Optimize your build command (e.g. use "vite build" or "next build" with cache).
- Ensure no devDependencies or hanging processes (like long-running watchers) are triggered during build.
- Inspect build logs in the App Detail console to find the exact step where execution stalled.
Missing Entrypoint File or Start Script
The runtime engine could not locate the entrypoint script (server.js, app.js, index.js) or "npm start" definition.
- package.json missing "scripts.start" command
- Main entry file located in a subdirectory (e.g., /src/index.js) without configuring Root Directory
- Incorrect casing in file naming (e.g. App.js on Linux vs. app.js on Windows)
- Ensure your package.json has a valid "start" script, e.g. "scripts": { "start": "node server.js" }.
- If your backend is in a subfolder, set "Root Directory" in Service Configuration (e.g., "/backend" or "/server").
- Ensure standard lower-case entry file naming.
Node.js Runtime Engine Version Mismatch
The application dependencies require a different Node.js engine version than the currently selected runtime environment.
- Project uses syntax or native addons requiring Node 20.x/22.x while configured on Node 16.x/18.x
- "engines" field in package.json conflicts with the selected deployment runtime
- Go to Service Configuration -> Runtime Engine in your Client Console.
- Select the matching Node.js version (Node 22.x LTS, Node 20.x LTS, or Node 18.x LTS).
- Save configuration and click "Redeploy Service".
Port Binding Collision or Missing Dynamic PORT Env
The application hardcoded a static network port instead of listening to the dynamically assigned process.env.PORT.
- Server hardcoded to listen on "3000" or "8080" rather than process.env.PORT
- Child process spawned on an unrouted port
- Update your server listen code to: const port = process.env.PORT || 3000; app.listen(port, () => ...);
- Commit and push changes to trigger an automated hot reload.
- Check Console Logs to verify the application reports "Listening on port XXXX".
Process Out of Memory (OOM) / Heap Exhausted
The application process exceeded the allocated memory RAM threshold and was terminated by the container supervisor.
- Memory leak in caching layer, unclosed file descriptors, or recursive promises
- Processing massive payloads in-memory without stream buffering
- Service package RAM allocation insufficient for heavy traffic loads
- Check your live Metrics tab in App Detail for RAM utilization spikes.
- Refactor large data operations to use Node.js streams instead of loading entire files into memory.
- Upgrade your instance tier or scale horizontally to a higher compute quota.
Health Probe Timeout / 503 Maintenance Triggered
The regional edge ingress health checker failed to receive a 200 OK response on the configured health path within 10 seconds.
- Synchronous blocking operations on the Node.js event loop during initialization
- Database connection failed or timed out during server boot
- Custom health path configured to a protected or non-existent endpoint
- Verify that your database URI (e.g. MongoDB Atlas / PostgreSQL) connects cleanly at startup.
- Ensure your health check route (e.g. GET / or GET /health) responds immediately with HTTP 200.
- Check Console Logs in the App Detail view for unhandled promise rejections.
Insufficient Fuel Tank Credits (< ₹10 Minimum Threshold)
Your account balance has depleted below the minimum compute operational reserve, placing services in conservation mode.
- Continuous hourly compute consumption exhausted prepaid credits
- Auto-recharge disabled or payment method expired
- High network bandwidth consumption exceeding credit reserve
- Navigate to Client Dashboard -> Fuel Tank & Billing.
- Click "Recharge Fuel Tank" and add credits via UPI, Net Banking, or Credit/Debit Card.
- Once recharged, your services will automatically reactivate across all 21 edge nodes within 60 seconds.
Payment Gateway Handshake Timeout
The payment transaction confirmation from Razorpay or bank gateway timed out or failed signature validation.
- Bank server communication delay during peak hours
- User navigated away or closed browser before webhook handshake completed
- UPI payment authorized but delayed bank settlement notification
- Check your bank statement to see if funds were debited.
- If debited, allow up to 10 minutes for the automated bank webhook to synchronize.
- If not synced after 10 minutes, click "Raise Ticket" with your Payment ID (e.g. pay_XXXXX) for immediate credit application.
GST Invoice Generation / PDF Download Exception
The automated billing engine encountered an issue rendering or delivering your official GST tax invoice PDF.
- Incomplete GSTIN or billing address profile in account settings
- Transient rendering lock on the invoice document generator
- Check Client Settings -> Billing Profile and ensure your Company Name and Address are complete.
- Try downloading the invoice again from the Invoices tab after 2 minutes.
- Raise a Low priority ticket to request a direct copy sent to your email.
Custom Domain CNAME Record Verification Failed
Our global DNS validation cluster cannot detect the required CNAME record pointing to ingress.officialbac.in.
- DNS changes not yet propagated globally across DNS root servers (takes up to 24-48h, typically 10m)
- CNAME record configured with typo (e.g. pointing to root domain instead of subdomain)
- Conflicting A or AAAA records present on the same subdomain
- Log in to your DNS provider (GoDaddy, Cloudflare, Namecheap, Google Domains).
- Ensure a CNAME record exists for your host (e.g., "app" or "www") pointing to "ingress.officialbac.in".
- Remove any conflicting A records for that specific subdomain and click "Verify DNS" in the console.
Cloudflare SSL / TLS Handshake Exception
The automated SSL provisioning engine could not issue an Let’s Encrypt / Cloudflare SSL certificate for your domain.
- Domain DNS points to an outdated IP address or Cloudflare proxy loop (Flexible vs Full Strict)
- CAA DNS records blocking Let’s Encrypt certificate issuance
- Too many rapid certificate reissue requests triggered
- If using Cloudflare DNS, set SSL/TLS encryption mode to "Full" or "Full (Strict)".
- Ensure your DNS CNAME points directly to ingress.officialbac.in with DNS-only (Grey Cloud) during initial verification.
- Click "Re-issue SSL Certificate" in your App Detail domain panel.
Official Subdomain Reserved or Already Claimed
The requested *.officialbac.in subdomain is already assigned to another client application or is a protected system keyword.
- Subdomain slug already registered by another B A C user
- Subdomain is a reserved administrative keyword (e.g. api, admin, status, docs, mail)
- Choose an alternate unique subdomain (e.g. mycompany-app.officialbac.in).
- Alternatively, configure a custom domain (e.g. app.yourcompany.com).
- Save your Service Configuration and proceed with deployment.
Regional Edge Node High Latency or Node Unreachable
The selected regional edge node (e.g. IN-WEST-1, IN-SOUTH-2) is experiencing elevated packet latency or undergoing maintenance.
- ISP transit routing anomaly in the specific geographic region
- Scheduled edge node software upgrade in progress (<5 min window)
- Heavy regional volumetric DDoS mitigation active
- Check the Live System Status at https://officialbac.in/status for real-time edge node telemetry.
- Switch your application Primary Node in Service Configuration to Ahmedabad HQ (IN-WEST-1) or Bengaluru (IN-SOUTH-1).
- B A C automated Geo-DNS routing will failover requests to the nearest healthy edge node automatically.
Internal Ingress Gateway Fault / Unexpected System Exception
The core platform ingress gateway encountered an unexpected internal exception processing your request.
- Internal microservice communication fault
- Database connection pool exhaustion during platform maintenance
- Refresh your browser and retry the operation after 30 seconds.
- Check the B A C System Status page at /status for platform alerts.
- If the issue persists, raise an immediate Critical priority ticket for direct escalation to General Manager Vijay Mudaliyar and engineering leads.
No matching error codes found
Try searching for keywords like "deploy", "port", "memory", "SSL", "database", or "billing".