Skip to content

Emulator: java.lang.IllegalArgumentException: Path element contains invalid character: ',' #9373

Description

@bthiae2934

Describe the bug
Emulator can't handle a file which name contains comma.

To Reproduce
Steps to reproduce the behavior:

  1. Prepare a file with comma in name. I copy notepad.exe to notepad, 1.exe.
  2. Import the file into Ghidra and Analyze it.
  3. Open Emulator and load it.
  4. Right click on any instruction and select "Emulate Program in New Trace".

Expected behavior
Emulator should emulate it.

Screenshots

Image

Attachments

Path element contains invalid character: ','
java.lang.IllegalArgumentException: Path element contains invalid character: ','
	at ghidra.util.NamingUtilities.checkName(NamingUtilities.java:112)
	at ghidra.framework.protocol.ghidra.GhidraURL.checkValidProjectPath(GhidraURL.java:448)
	at ghidra.framework.protocol.ghidra.GhidraURL.resolve(GhidraURL.java:510)
	at ghidra.framework.protocol.ghidra.GhidraURL.makeURL(GhidraURL.java:867)
	at ghidra.framework.data.GhidraFileData.getLocalProjectURL(GhidraFileData.java:417)
	at ghidra.framework.data.GhidraFile.getLocalProjectURL(GhidraFile.java:139)
	at ghidra.app.plugin.core.debug.utils.ProgramURLUtils.getUrlFromProgram(ProgramURLUtils.java:44)
	at ghidra.app.plugin.core.debug.service.modules.DebuggerStaticMappingUtils.addMapping(DebuggerStaticMappingUtils.java:117)
	at ghidra.app.plugin.core.debug.service.emulation.ProgramEmulationUtils.loadExecutable(ProgramEmulationUtils.java:270)
	at ghidra.app.plugin.core.debug.service.emulation.ProgramEmulationUtils.launchEmulationTrace(ProgramEmulationUtils.java:646)
	at ghidra.app.plugin.core.debug.service.emulation.DebuggerEmulationServicePlugin.emulateProgramActivated(DebuggerEmulationServicePlugin.java:471)
	at docking.action.builder.ActionBuilder$1.actionPerformed(ActionBuilder.java:48)
	at docking.PopupMenuHandler$1.run(PopupMenuHandler.java:63)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

---------------------------------------------------
Build Date: 2026-Jun-05 1317 EDT
Ghidra Version: 12.1.2
Java Home: C:\Program Files\Java\jdk-21.0.11
JVM Version: Oracle Corporation 21.0.11
OS: Windows 11 10.0 amd64

Environment (please complete the following information):

  • OS: Windows 11 25H2
  • Java Version: Oracle JDK 21.0.11
  • Ghidra Version: 12.1.2
  • Ghidra Origin: official GitHub distro

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

Labels

Status: InternalThis is being tracked internally by the Ghidra team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions