Troubleshooting Potfile Issues¶
Potfile Preset Job Not Created¶
Symptoms¶
- Potfile wordlist exists in Resources → Wordlists
- No "Potfile Run" job in Admin → Preset Jobs
- Logs show "No binary versions found" messages
Cause¶
The potfile preset job requires a hashcat binary to be uploaded. On fresh installations, no binaries exist, so the preset job cannot be created (it needs a binary version pattern to resolve).
Solution¶
- Upload a hashcat binary via Admin → Binary Management
- Wait for verification to complete
- Check Admin → Preset Jobs - "Potfile Run" should appear within 5-10 seconds
- If not visible after 30 seconds, restart the backend service
Prevention¶
Always upload a hashcat binary as the first step after installation. This is documented in the Quick Start and First Crack guides.
Verification¶
Check system logs for confirmation:
You should see one of these messages: - "Successfully created pot-file preset job with ID: [uuid]" - Success - "Waiting for binary versions to be added before creating pot-file preset job" - Still waiting - "Found existing pot-file preset job with ID" - Already exists
Technical Details¶
The potfile system initializes in two stages:
- Potfile Wordlist Creation (always succeeds):
- Creates
/data/krakenhashes/wordlists/custom/potfile.txt - Adds wordlist entry to database with
is_potfile = true -
Sets system setting
potfile_wordlist_id -
Preset Job Creation (requires binary):
- Attempts to create "Potfile Run" preset job
- Requires at least one active binary for pattern resolution
- If no binaries exist, starts background monitor
- Monitor checks every 5 seconds for binary availability
- Creates preset job once binary is uploaded
Potfile Not Being Updated¶
Symptoms¶
- Cracked passwords not appearing in potfile
- Potfile size not increasing
- Staging table has entries but potfile is unchanged
Common Causes and Solutions¶
- Potfile Disabled
- Check:
SELECT value FROM system_settings WHERE key = 'potfile_enabled'; - Fix:
UPDATE system_settings SET value = 'true' WHERE key = 'potfile_enabled'; -
Restart backend service
-
Background Worker Stopped
- Check logs:
docker logs krakenhashes 2>&1 | grep "pot-file service" - Look for: "Pot-file service started" vs error messages
-
Fix: Restart backend service
-
Staging Table Processing Issues
- Check staging count:
SELECT COUNT(*) FROM potfile_staging; - Check staging by destination:
SELECT client_id, exclude_from_global, exclude_from_client, COUNT(*) FROM potfile_staging GROUP BY client_id, exclude_from_global, exclude_from_client; - Check for old entries:
SELECT COUNT(*) FROM potfile_staging WHERE created_at < NOW() - INTERVAL '1 hour'; -
If stuck, manually clear:
DELETE FROM potfile_staging WHERE created_at < NOW() - INTERVAL '1 hour'; -
File Permission Issues
- Check file exists:
ls -la /data/krakenhashes/wordlists/custom/potfile.txt - Check permissions allow writing
- Fix:
chmod 644 /data/krakenhashes/wordlists/custom/potfile.txt
Potfile Wordlist Shows Wrong Count¶
Symptoms¶
- Wordlist entry shows incorrect word count
- Keyspace calculations are wrong
- Jobs using potfile have incorrect progress
Solution¶
The system should automatically update counts during batch processing. If not:
-
Check recent batch processing:
-
Manually trigger recount (requires backend restart):
-
Update preset job keyspace:
Duplicate Passwords in Potfile¶
Symptoms¶
- Same password appears multiple times
- File size larger than expected
- Performance degradation
Causes¶
- Manual editing of potfile while system is running
- Database/filesystem sync issues
- Processing errors
Solution¶
- Stop the backend service
- Back up the current potfile
- Remove duplicates:
- Update database:
- Restart backend service
Monitor Not Creating Preset Job¶
Symptoms¶
- Binary uploaded but preset job still missing
- Logs show monitor is running but not creating job
- System seems stuck waiting
Debugging Steps¶
-
Check if monitor is running:
-
Check for any binaries:
-
Check system settings:
-
Force retry by clearing preset job ID:
Then restart backend
Manual Creation (Last Resort)¶
If automatic creation fails, manually create the preset job:
-- Get the wordlist ID
SELECT id FROM wordlists WHERE is_potfile = true;
-- Get a binary version ID
SELECT id FROM binary_versions WHERE is_active = true LIMIT 1;
-- Create the preset job
INSERT INTO preset_jobs (
id, name, wordlist_ids, rule_ids, attack_mode,
priority, chunk_size_seconds, status_updates_enabled,
allow_high_priority_override, binary_version, keyspace
) VALUES (
gen_random_uuid(),
'Potfile Run',
'["WORDLIST_ID"]'::jsonb, -- Replace WORDLIST_ID
'[]'::jsonb,
0, -- Dictionary attack
1000, -- Max priority
1200, -- 20 minute chunks
true,
true,
'default', -- Uses default binary pattern
1 -- Initial keyspace
);
-- Update system settings with the new ID
UPDATE system_settings
SET value = (SELECT id::text FROM preset_jobs WHERE name = 'Potfile Run')
WHERE key = 'potfile_preset_job_id';
Client Potfile Issues¶
Client Potfile Not Being Created¶
Symptoms: - Client has cracked hashes but no potfile exists - wordlists/clients/{uuid}/ directory doesn't exist - client_potfiles table has no entry for the client
Common Causes and Solutions:
- Client potfiles disabled system-wide
- Check:
SELECT value FROM system_settings WHERE key = 'client_potfiles_enabled'; - Fix:
UPDATE system_settings SET value = 'true' WHERE key = 'client_potfiles_enabled'; -
Restart backend service
-
Client excluded from client potfile
- Check:
SELECT exclude_from_client_potfile FROM clients WHERE id = 'client-uuid'; -
Fix:
UPDATE clients SET exclude_from_client_potfile = false WHERE id = 'client-uuid'; -
All hashlists excluded from client potfile
- Check:
SELECT name, exclude_from_client_potfile FROM hashlists WHERE client_id = 'client-uuid'; -
Fix:
UPDATE hashlists SET exclude_from_client_potfile = false WHERE id = 'hashlist-id'; -
File permission issues
- Check:
ls -la /data/krakenhashes/wordlists/clients/ - Fix: Ensure the backend process can create directories and files in the
wordlists/clients/path
Client Potfile Shows Wrong Count¶
Symptoms: - client_potfiles.line_count doesn't match actual file line count - Job using client potfile has incorrect keyspace
Solution:
-- Check metadata vs actual file
SELECT client_id, line_count, file_size, updated_at FROM client_potfiles;
Restart the backend to force bloom filter reload and metadata refresh.
Passwords Not Removed on Hashlist Delete¶
Symptoms: - Deleted a hashlist with "remove from client potfile" checked - Client potfile still contains the passwords
Debugging Steps: 1. Check backend logs for regeneration errors: docker logs krakenhashes 2>&1 | grep -i "regenerat" 2. Verify client setting: SELECT remove_from_client_potfile_on_hashlist_delete FROM clients WHERE id = 'uuid'; 3. Check system default: SELECT value FROM system_settings WHERE key = 'remove_from_client_potfile_on_hashlist_delete_default'; 4. Verify the deletion request included the removal flag in the JSON body
Bloom Filter Memory Issues¶
Symptoms: - High memory usage from backend process - Many active clients with large potfiles
Solution: - The system limits client bloom filters to 50 (maxClientBlooms). Each uses approximately 1.2 MB. - Restart the backend to clear all cached bloom filters - Consider reducing the number of active clients with potfiles if memory is constrained
Best Practices¶
- Always upload a binary first during initial setup
- Don't manually edit the potfile while the system is running
- Monitor staging table size - large backlogs indicate processing issues
- Check logs regularly for potfile-related errors
- Keep batch intervals reasonable (30-60 seconds recommended)
- Archive old potfiles if they grow beyond 1GB