LL27 Excel Export crasht

Hallo,

bei einem Kunden ist das Problem aufgetreten, dass ein Bericht mit 10 Seiten nicht mehr nach Excel exportiert werden kann. Word, PDF etc. funktionieren.

In DBWin finde ich keine Hinweise auf Fehler. Andere, deutlich längere und komplexere Berichte können als Excel exportiert werden.

Ich habe schon versucht, die Datenstruktur einfacher zu machen, das hat aber keinen Unterschied gebracht.

Mit LL26 ist der Bericht gelaufen.

Im Eventlog stehen dann zwei Meldungen:

Anwendung: Bauradar.Shell.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.AccessViolationException
   bei combit.Reporting.NativeMethods.LlPrintEnd64(Int32, Int32)
   bei combit.Reporting.LlCore.LlPrintEnd(Int32)
   bei combit.Reporting.ListLabel.PrintReportFromRelationalDataSourceNewMode(combit.Reporting.DataProviders.IDataProvider, System.String, Boolean, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, System.String, Boolean, System.String)
   bei combit.Reporting.ListLabel.AutoPrint(combit.Reporting.LlProject, System.String, Boolean, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, System.String, Boolean, System.String)
   bei combit.Reporting.ListLabel.Print(System.Object, combit.Reporting.LlProject, System.String, Boolean, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, IntPtr, System.String, Boolean, System.String)
   bei combit.Reporting.ListLabel.Print(combit.Reporting.LlProject, System.String, Boolean, combit.Reporting.LlPrintMode)
   bei combit.Reporting.ListLabel.Print(combit.Reporting.LlProject, System.String, Boolean)
   bei combit.Reporting.ListLabelDrilldownWorker.Print()
   bei System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   bei System.Threading.ThreadHelper.ThreadStart()


Name der fehlerhaften Anwendung: Bauradar.Shell.exe, Version: 5.61.0.1712, Zeitstempel: 0x90e18621
Name des fehlerhaften Moduls: CXUT27.DLL, Version: 27.0.2021.29216, Zeitstempel: 0x6166ee02
Ausnahmecode: 0xc0000005
Fehleroffset: 0x00000000000d0dd3
ID des fehlerhaften Prozesses: 0x2938
Startzeit der fehlerhaften Anwendung: 0x01d807dec411a2ae
Pfad der fehlerhaften Anwendung: D:\Software Development\Bauradar\output\Bauradar.Shell.exe
Pfad des fehlerhaften Moduls: C:\Program Files (x86)\combit\LL27\Redistribution\x64\CXUT27.DLL
Berichtskennung: 6da25830-d337-4cd0-9610-ff68e7ee7987
Vollständiger Name des fehlerhaften Pakets: 
Anwendungs-ID, die relativ zum fehlerhaften Paket ist: 

Im Debugger erhalte ich folgende Meldung:

System.AccessViolationException: 'Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.'

This exception was originally thrown at this call stack:
    combit.Reporting.LlCore.LlPrintEnd(int)
    combit.Reporting.ListLabel.PrintReportFromRelationalDataSourceNewMode(combit.Reporting.DataProviders.IDataProvider, string, bool, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, string, bool, string)
    combit.Reporting.ListLabel.AutoPrint(combit.Reporting.LlProject, string, bool, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, string, bool, string)
    combit.Reporting.ListLabel.Print(object, combit.Reporting.LlProject, string, bool, combit.Reporting.LlPrintMode, combit.Reporting.LlBoxType, System.IntPtr, string, bool, string)
    combit.Reporting.ListLabel.Print(combit.Reporting.LlProject, string, bool, combit.Reporting.LlPrintMode)
    combit.Reporting.ListLabel.Print(combit.Reporting.LlProject, string, bool)
    combit.Reporting.ListLabelDrilldownWorker.Print()
    System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, object, bool)
    System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, object, bool)
    System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, object)

Bitte um Rückmeldung.

Danke

MfG

Nikolaus Kern

Hier wäre es am besten, einen Supportcase über unser Portal zu eröffnen - wir werden vermutlich eine Dump-Datei benötigen, die über das Forum nicht ausgetauscht werden kann.

Hallo,

Supportcase und Dump habe ich bereits geliefert. Parallel dazu werden alle Berichte in meinem Programm systematisch durchgeschaut, wo der Excel Export crasht. Das dauert aber noch etwas.

Vielen Dank für die Informationen via Supportportal. Damit konnten wir das Problem finden und beheben, Sie haben ja bereits ein Testmodul erhalten. Die Änderung wird im kommenden Servicepack 27.001 enthalten sein, das bis spätestens Mitte des kommenden Monats freigegeben wird.

Hintergrund: zu dem Problem konnte es kommen, wenn in einem Bericht ein Element verwendet wurde, das keine Entsprechung in Excel hat (also z.B. eine Projektvorlage o.ä.). Welches Element das Problem in Ihrem Fall erzeugt hatte konnten wir aus dem Dumpfile nicht entnehmen, das Problem kann unabhängig davon so jetzt aber nicht mehr auftreten.

Danke für die prompte Erledigung.

Nachdem der Bericht mit LL26 gelaufen ist, bin ich in Bezug auf das verursachende Element noch ratlos.

© combit GmbH