View Issue Details

IDProjectCategoryView StatusLast Update
0017901LazarusOtherpublic2010-11-13 00:44
ReportercobinesAssigned ToMattias Gaertner 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3 32bit
Product Version0.9.29 (SVN)Product Build28178 
Target VersionFixed in Version 
Summary0017901: Lazbuild crashes if current drive letter is lowercase
DescriptionWhen current directory starts with lowercase drive letter lazbuild crashes. The project that is to be built must use resources.

Here is backtrace:

An unhandled exception occurred at $006DF7EF :
EAccessViolation : Access violation
  $006DF7EF EXTENSIONTOLAZSYNTAXHIGHLIGHTER, line 1288 of editoroptions.pp
  $006DFA88 FILENAMETOLAZSYNTAXHIGHLIGHTER, line 1322 of editoroptions.pp
  $004C530E TUNITINFO__SETINTERNALFILENAME, line 1873 of project.pp
  $004C5CFA TUNITINFO__SETSOURCE, line 2276 of project.pp
  $004EEF68 TBUILDMANAGER__GETRESOURCETYPE, line 1189 of buildmanager.pas
  $004EF5B4 TBUILDMANAGER__UPDATEPROJECTAUTOMATICFILES, line 1274 of buildmanager.pas
  $004036DE TLAZBUILDAPPLICATION__BUILDPROJECT, line 669 of lazbuild.lpr
  $00402390 TLAZBUILDAPPLICATION__BUILDFILE, line 295 of lazbuild.lpr
  $00404DE8 TLAZBUILDAPPLICATION__RUN, line 1039 of lazbuild.lpr
  $00406671 main, line 1273 of lazbuild.lpr

Accessed EditorOpts is nil in this case.

I uncommented a debugging code and it says:

TUnitInfo.SetInternalFilename Old=f:\trash\unit1.pas New=F:\trash\Unit1.pas

The difference is only the case of the drive letter.
Steps To ReproduceYou cannot set lowercase drive letter through CMD.exe but it can be done by using WINAPI. So I can only reproduce this using a helper program.

You have to edit the "lowtest.pas" and change "f:\trash" to some path on your system, but use lowercase. Put attached sample "project1" into that directory. Lazbuild should be in PATH environment variable. Compile "lowtest.pas" and run.
TagsNo tags attached.
Fixed in Revision28180
LazTarget-
WidgetsetWin32/Win64
Attached Files
  • lowtest.pas (122 bytes)
    program lowtest;
    uses SysUtils;
    begin
      SetCurrentDir('f:\trash');
      ExecuteProcess('lazbuild.exe', 'project1.lpi');
    end.
    
    lowtest.pas (122 bytes)
  • project1.zip (1,933 bytes)

Relationships

related to 0017626 closedMattias Gaertner [regression] Fresh Lazarus installation fails to create events (e.g. OnClick) 

Activities

2010-11-11 01:07

 

lowtest.pas (122 bytes)
program lowtest;
uses SysUtils;
begin
  SetCurrentDir('f:\trash');
  ExecuteProcess('lazbuild.exe', 'project1.lpi');
end.
lowtest.pas (122 bytes)

2010-11-11 01:07

 

project1.zip (1,933 bytes)

Maxim Ganetsky

2010-11-11 01:15

developer   ~0042954

Maybe this bug is related to 0017626.

cobines

2010-11-13 00:44

reporter   ~0042998

Thank you, works fine now.

Issue History

Date Modified Username Field Change
2010-11-11 01:07 cobines New Issue
2010-11-11 01:07 cobines Widgetset => Win32/Win64
2010-11-11 01:07 cobines File Added: lowtest.pas
2010-11-11 01:07 cobines File Added: project1.zip
2010-11-11 01:15 Maxim Ganetsky Relationship added related to 0017626
2010-11-11 01:15 Maxim Ganetsky Note Added: 0042954
2010-11-11 09:46 Mattias Gaertner Fixed in Revision => 28180
2010-11-11 09:46 Mattias Gaertner LazTarget => -
2010-11-11 09:46 Mattias Gaertner Assigned To => Mattias Gaertner
2010-11-11 09:46 Mattias Gaertner Status new => resolved
2010-11-11 09:46 Mattias Gaertner Resolution open => fixed
2010-11-13 00:44 cobines Status resolved => closed
2010-11-13 00:44 cobines Note Added: 0042998